forked from datafolklabs/cement
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
executable file
·315 lines (230 loc) · 12.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
ChangeLog
==============================================================================
All bugs/feature details can be found at:
https://github.com/cement/cement/issues/XXXXX
Where XXXXX is the 'Issue #' referenced below. Additionally, this change log
is available online at:
http://cement.readthedocs.org/en/latest/changes/
.. raw:: html
<BR><BR>
2.1.3 - current master (DEVELOPMENT)
------------------------------------------------------------------------------
Bugs:
* :issue:`199` - Moved post_argument_parsing hook down, after
arguments_override_config logic happens.
* :issue:`204` - utils.misc.wrap should handle None type
* :issue:`208` - LoggingLogHandler does not honor Meta.config_section
Features:
* :issue:`194` - Added pre_argument_parsing/post_argument_parsing hooks
* :issue:`196` - Added utils.misc.wrap
* :issue:`200` - Merge ext.mustache into mainline.
* :issue:`203` - Added support for external template directory
Incompatible:
* :issue:`173` - Deprecated 'has_key()' from configparser extension
2.1.2 - Thu Nov 1st, 2012 (DEVELOPMENT)
------------------------------------------------------------------------------
This is a branch off of the 2.0.x stable code base. Maintenance releases for
2.0.x will happen under the stable/2.0.x git branch, while forward feature
development will happen here under as 2.1.x under the git master branch.
Bugs:
* :issue:`162` - Unable to set log 'level' by config
* :issue:`167` - Non-stacked controllers not listed in --help
* :issue:`169` - Fixed tests.utils.shell_tests timeout issue
* :issue:`171` - No handlers could be found for logger
* :issue:`183` - os.environ['HOME'] does not exist on Windows
Features:
* :issue:`161` - Ability to override `usage`
* :issue:`164` - Store previously rendered data as app._last_rendered, and
retrievable by app.get_last_rendered().
* :issue:`165` - Allow utils.fs.backup() to support a suffix kwarg
* :issue:`166` - Ability to set the 'app' for CementTestCase.make_app()
* :issue:`170` - Added support for `nested` and `embedded` controllers.
Misc:
* :issue:`172` - 100% PEP8 Compliant
* :issue:`160` - Refactor CementApp._resolve_handler() as
handler.resolve()
Deprecation Notices:
* :issue:`173` - ConfigParserConfigHandler.has_key() is now deprecated,
and will be removed in future versions. Please use `if key in
app.config.keys(section)` instead.
Incompatible Changes:
* :issue:`141` - Removed shortcuts from CementBaseController (such as
log, pargs, etc). Use `self.app.<shortcut>` instead.
* :issue:`167` - Listed above, in order to fix this issue as well as
restrict future issues we implemented a hard requirement that all
base controllers have the label 'base'. This should not be a major
change for anyone using Cement 2.0.x as it is a simple 1 line change
in any one application. As all documentation encourages the use of the
label 'base' it should not be a wide spread incompatibility.
* :issue:`179` - CementBaseController `hidden`, `visible`, and `exposed`
have been removed infavor of private methods.
* CementBaseController no longer implements a `default` command.
* :issue:`177` - Renamed several cement.core.backend pieces including:
`handlers` -> `__handlers__`, `hooks` -> `__hooks__`, `SAVED_STDOUT`
-> `__saved_stdout__`, and `SAVED_STDERR` -> `__saved_stderr__`.
* :issue:`178` - Moved `backend.defaults()` to
`utils.misc.init_defaults()`, and `backend.minimal_logger()` to
`utils.misc.minimal_logger()`
2.0.0 - Fri Aug 03, 2012
------------------------------------------------------------------------------
This is the initial stable release of the 2.0.x branch. Future releases of
this branch will include bug/security fixes and minor feature updates.
Forward moving feature development will continue out of the 2.1.x branch.
Bugs:
* :issue:`143` - Incorrect doc regarding logging. The LoggingLogHandler
now supports an optional 'namespace' argument allowing the developer
to override the log prefix.
* :issue:`150` - foundation.CementApp.Meta.argv now defaults to None,
but is overridden in __init__() with sys.argv if no other argv is
passed as meta.
Features:
* :issue:`138` - Added 'shell' argument to utils.shell.exec_cmd() and
utils.shell.exec_cmd2().
* :issue:`140` - Included ~/.myapp/config in default config search
* :issue:`144` - Added a note on Contributing, as well as a CONTRIBUTORS
file.
* :issue:`152` - Added 'argument_formatter' to ControllerBaseClass.Meta.
* :issue:`153` - Added spawn_process() and spawn_thread() to utils.shell.
Incompatible Changes:
* :issue:`100` - Interfaces audit.
* ILog.level() redefined as ILog.get_level()
* IPlugin.loaded_plugins attribute redefined as
IPlugin.get_loaded_plugins()
* IPlugin.enable_plugins attribute redefined as
IPlugin.get_enabled_plugins()
* IPlugin.disabled_plugins attribute redefined as
IPlugin.get_disabled_plugins()
* :issue:`145` - The IArgument interface no longer specifies that the
`parsed_args` be maintained by the handler implementation. This means
that `app.args.parsed_args` is no longer available, however
`app.pargs` functions just the same as it points to
`app._parsed_args`.
* :issue:`148` - The CementExtensionHandler.loaded_extensions property is
now a callable at CementExtensionHandler.get_loaded_extensions().
* :issue:`151` - Removed all previously deprecated code including:
* Removed CementApp.Meta.defaults, and CementBaseHandler.Meta.defaults.
Now use `config_defaults` instead.
* Removed cement.foundation.lay_cement(). Now use CementApp directly.
* Removed cement.handler.enabled(). Now use `handler.registered()`
instead.
* :issue:`154` - Validate for handler config_defaults and config_section
by default. Only incompatible if not previously sub-classing from
handler.CementBaseHandler.
* :issue:`157` - CementRuntimeError renamed as FrameworkError
* :issue:`158` - CementSignalError renamed as CaughtSignal
* :issue:`159` - CementInterfaceError renamed as InterfaceError
Misc:
* :issue:`155` - Removed unused CementArgumentError, and
CementConfigError. These types of exceptions should be defined at
the application level.
1.9.14 - Sun Jul 16, 2012
------------------------------------------------------------------------------
Bugs:
* :issue:`127` - Inherited positional arguments listed multiple times
Feature Enhancements:
* :issue:`131` - Controller aliases
* :issue:`126` - Add a 'bootstrap' importer to CementApp
* Added cement.utils.test.CementTestCase for improved testing.
Incompatible Changes:
* :issue:`129` - Simplify extensions/plugins/hooks/etc.
* Hooks renamed from 'cement_xxx_hook' to just 'xxx'. For example, the
'cement_pre_setup_hook' is now simply 'pre_setup'. Additionally, the
'cement_on_close_hook' is now broken out into 'pre_close', and
'post_close'.
* The cement.core.hooks.register decorator was replaced with a simple
function of the same name. New usage is:
register('hook_name', hook_func).
* Plugins, extensions, and the application bootstrap now attempt to
call a 'load()' function, meaning library code and loading code can
live in the same file (i.e. hooks won't be registered just because
you imported an extension to sub-class a handler, etc).
* cement.utils.test_helper moved to cement.utils.test.
* By default, command line arguments no longer override config settings.
This is now configurable by the CementApp.Meta.arguments_override_config
boolean. Related: :issue:`136`.
1.9.12 - Thu Jul 05, 2012
------------------------------------------------------------------------------
Bugs:
* Fixed version mis-hap in setup.py
1.9.10 - Wed Jul 04, 2012
------------------------------------------------------------------------------
Feature Enhancements:
* :issue:`118` - Added utils.fs.backup() to safely backup files/dirs.
Misc:
* :issue:`111` - Use relative imports (makes cement more portable as it
can be included and distributed with 3rd party sources).
* :issue:`120` - Use standard json rather than relying on jsonpickle
Incompatible Changes:
* core.util.abspath moved to utils.fs.abspath
* core.util.is_true moved to utils.misc.is_true
* Namespace reverted from 'cement2' back to 'cement'.
* The following extensions have been removed from the cement source tree,
and are now available externally (see: http://github.com/cement): daemon,
memcached, configobj, yaml, genshi.
1.9.8 - Thu May 3, 2012
------------------------------------------------------------------------------
Feature Enhancements:
* :issue:`95` - Add a 'config_section' Meta default for all handlers.
Required to parse config options for a handler.
* :issue:`97` - Add a standard cache handler interface.
* :issue:`105` - Add 'meta_override' and 'core_meta_override' list to
CementApp().Meta. Also resolves :issue:`104`.
* :issue:`108` - Add CementApp.extend() functionality.
* :issue:`109` - Add cement.ext.memcached extension
Incompatible Changes:
* :issue:`103` - plugin_bootstrap_module renamed as plugin_bootstrap.
* :issue:`106` - Deprecate Meta.defaults in favor of Meta.config_defaults
* :issue:`107` - Make the app name the default config section, not [base]
1.9.6 - Wed Apr 18, 2012
------------------------------------------------------------------------------
Bug Fixes:
* :issue:`89` - Secondary controllers display under other controllers
* :issue:`90` - Logging to file doesn't expand '~'
* :issue:`91` - Logging to file doesn't create basedir
Feature Enhancements:
* :issue:`88` - Add cement.ext.genshi extension, provides Genshi Text
Templating Launguage support.
* :issue:`93` - Add epilog support for CementBaseController.
Refactoring:
* :issue:`87` - Refactor Meta handling
Incompatible Changes:
* :issue:`96` - Move 'setup()' functions to '_setup()'
* Moved CementBaseController.dispatch() to _dispatch()
* Moved CementBaseController.usage_text to _usage_text()
* Moved CementBaseController.help_text to _help_text()
* backend.defaults() no longer accepts an app name as an argument.
* foundation.lay_cement() is deprecated. Use foundation.CementApp()
directly.
* No longer pass anything but 'app' object to handlers _setup() functions.
* handler.enabled() is deprecated. Use handler.registered().
1.9.4 - Wed Dec 21, 2011
------------------------------------------------------------------------------
Bug Fixes:
* :issue:`73` - Hooks broken in Python 3
* :issue:`81` - Controller defaults should be processed before base
controller.setup()
Feature Enhancements:
* :issue:`65` - Added 'daemon' extension. Process is daemonized by
passing the '--daemon' option. Handles switching the run user/group, as
well as managing a pid file.
* :issue:`72` - Added new framework hooks.
* :issue:`76` - Added app.close() functionality including a
cement_on_close_hook() allowing plugins/extensions/etc to be able to
cleanup on application exit.
* :issue:`77` - Added default signal handler for SIGINT/SIGTERM as well as
the cement_signal_hook which is called when any catch_signals are
encountered.
* :issue:`78` - Added cement_pre_render_hook, and cement_post_render_hook
allowing developers to control the data that is rendered to console.
* :issue:`84` - Ability to run all tests from utils/run_tests.sh
Incompatible Changes:
* :issue:`72` - The framework hooks 'cement_add_args_hook' and
'cement_validate_config' were removed in favor of the new pre/post setup
and run hooks.
* :issue:`82` - Change 'meta' classes to Python-proper 'Meta', and
interfaces to use 'IMeta'. Old functionality will be completely removed
before Cement stable release.
1.9.2 - Wed Nov 02, 2011
------------------------------------------------------------------------------
This is an initial beta release of Cement, and therefore no bugs or features
are listed. Future releases will detail all changes.