cement v3.0.0 Release Notes
Release Date: 2018-08-21 // over 5 years ago-
๐ Bugs:
[ext.redis]
Unable To Set Redis Host- ๐
[ext.argparse]
Empty Sub-Commands List - 0๏ธโฃ
[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- 0๏ธโฃ
[ext.json]
Disableoverridable
option by default - 0๏ธโฃ
[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