Bugs:
- None
Features:
- None
Refactoring:
[ext.colorlog]
Support subclassing of ext_colorlog.
Bugs:
[ext.yaml]
YamlConfigHandler uses unsafe load method[ext.configparser]
Configparser 'getboolean' exception
Features:
[utils.misc]
Supporty
as a truth boolean inutils.misc.is_true
Bugs:
[cli]
Generate Variable Mishap in Project Template[ext.generator]
Error class is malformed[core.template]
MemoryError during 'cement generate project'[core.foundation]
Contents of plugin_dirs is printed to console
Features:
[ext.argparse]
Command name override
Bugs:
[ext.redis]
Unable To Set Redis Host[ext.argparse]
Empty Sub-Commands List[core.foundation]
Handler Override Options Do Not Honor Meta Defaults
Features:
[core]
Add Docker / Docker Compose Support[core]
Add ability to override the output handler used whenapp.render()
is called.[ext.print]
Add the Print Extension to be used as a drop in replacement for the standardprint()
, but allowing the developer to honor framework features likepre_render
andpost_render
hooks.[ext.scrub]
Add Scrub Extension to easily obfuscate sensitive data from rendered output.[core]
Add ability to override config settings via environment variables.[ext.argparse]
Add ability to get list of exposed commands[core]
Add Template Interface[ext.mustache]
Add MustacheTemplateHandler[ext.handlebars]
Add HandlebarsTemplateHandler[ext.jinja2]
Add Jinja2TemplateHandler[ext.generate]
Add Generate Extension[ext.logging]
Add-l LEVEL
command line option to override log level[cli]
Add Cement CLI (includes ability to generate apps, plugins, extensions, and scripts using the Generate Extension)[core]
Added clear separation between Interfaces and Handlers[utils.fs]
- Added several helpers includefs.Tmp
for creation and cleanup of temporary directory and file.
Refactoring:
- Too many to reference
Incompatible:
[core]
Replace Interfaces with ABC Base Classes[core.foundation]
RenameCementApp
toApp
.[core.foundation]
Drop deprecatedApp.Meta.override_arguments
[core.foundation]
RemoveApp.Meta.plugin_config_dir
andApp.Meta.plugin_config_dirs
in favor ofApp.Meta.config_dirs
[core.founcation]
RenameApp.Meta.plugin_bootstrap
asApp.Meta.plugin_module
[core.handler]
RenameCementBaseHandler
toHandler
[core.handler]
Drop deprecated backend globals[core.hook]
Drop deprecated backend globals[core.controller]
DropCementBaseController
[ext.logging]
Drop deprecatedwarn
facility (usewarning
)[ext.argcomplete]
Drop ArgComplete Extension[ext.reload_config]
Drop Reload Config Extension[ext.configobj]
Drop ConfigObj Extension[ext.json]
Disableoverridable
option by default[ext.yaml]
Disableoverridable
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 toNone
as well to pass/exit.[ext.plugin]
All plugin configuration sections must start withplugin.
. For example,[plugin.myplugin]
.[core.foundation]
RenamedApp.Meta.config_extension
toApp.Meta.config_file_suffix
[core.foundation]
DropApp.Meta.arguments_override_config
Deprecation:
- Everything with deprecation notices in Cement < 3