Bugs:
[ext.yaml]
YamlConfigHandler uses unsafe load method
​Issue #553​
[ext.configparser]
Configparser 'getboolean' exception
​Issue #558​
Features:
[utils.misc]
Support y
as a truth boolean in utils.misc.is_true
​Issue #542​
Bugs:
[cli]
Generate Variable Mishap in Project Template
​Issue #532​
[ext.generator]
Error class is malformed
​Issue #535​
[core.template]
MemoryError during 'cement generate project'
​Issue #531​
[core.foundation]
Contents of plugin_dirs is printed to console
​Issue #538​
Features:
[ext.argparse]
Command name override
​Issue #529​
Bugs:
[ext.redis]
Unable To Set Redis Host
​Issue #440​
[ext.argparse]
Empty Sub-Commands List
​Issue #444​
[core.foundation]
Handler Override Options Do Not Honor Meta Defaults
​Issue #513​
Features:
[core]
Add Docker / Docker Compose Support
​Issue #439​
[core]
Add ability to override the output handler used when app.render()
is called.
​Issue #471​
[ext.print]
Add the Print Extension to be used as a drop in replacement for the standard print()
, but allowing the developer to honor framework features like pre_render
and post_render
hooks.
[ext.scrub]
Add Scrub Extension to easily obfuscate sensitive data from rendered output.
​Issue #469​
[core]
Add ability to override config settings via environment variables.
​Issue #437​
[ext.argparse]
Add ability to get list of exposed commands
​Issue #455​
[core]
Add Template Interface
​Issue #464​
[ext.mustache]
Add MustacheTemplateHandler
[ext.handlebars]
Add HandlebarsTemplateHandler
[ext.jinja2]
Add Jinja2TemplateHandler
[ext.generate]
Add Generate Extension
​Issue #487​
[ext.logging]
Add -l LEVEL
command line option to override log level
​Issue #497​
[cli]
Add Cement CLI (includes ability to generate apps, plugins,
extensions, and scripts using the Generate Extension)
​Issue #490​
[core]
Added clear separation between Interfaces and Handlers
​Issue #506​
[utils.fs]
- Added several helpers include fs.Tmp
for creation and cleanup of temporary directory and file.
Refactoring:
Too many to reference
Incompatible:
[core]
Replace Interfaces with ABC Base Classes
​Issue #192​
[core.foundation]
Rename CementApp
to App
.
[core.foundation]
Drop deprecated App.Meta.override_arguments
[core.foundation]
Remove App.Meta.plugin_config_dir
and App.Meta.plugin_config_dirs
in favor of App.Meta.config_dirs
​Issue #521​
[core.founcation]
Rename App.Meta.plugin_bootstrap
as App.Meta.plugin_module
​Issue #523​
[core.handler]
Rename CementBaseHandler
to Handler
[core.handler]
Drop deprecated backend globals
[core.hook]
Drop deprecated backend globals
[core.controller]
Drop CementBaseController
[ext.logging]
Drop deprecated warn
facility (use warning
)
[ext.argcomplete]
Drop ArgComplete Extension
[ext.reload_config]
Drop Reload Config Extension
[ext.configobj]
Drop ConfigObj Extension
[ext.json]
Disable overridable
option by default
[ext.yaml]
Disable overridable
option by default
[ext.json_configobj]
Drop JSON ConfigObj Extension
[ext.yaml_configobj]
Drop YAML ConfigObj Extension
[ext.handlebars]
Drop Handlebars Extension
[ext.genshi]
Drop Genshi Extension
[ext.argparse]
ArgparseController.Meta.default_func
is now _default
, and will print help info and exit. Can now set this to None
as well to pass/exit.
​Issue #426​
[ext.plugin]
All plugin configuration sections must start with plugin.
.
For example, [plugin.myplugin]
.
[core.foundation]
Renamed App.Meta.config_extension
to App.Meta.config_file_suffix
​Issue #445​
[core.foundation]
Drop App.Meta.arguments_override_config
​Issue #493​
Deprecation:
Everything with deprecation notices in Cement < 3