All Versions
Latest Version
Avg Release Cycle
269 days
Latest Release
853 days ago

Changelog History

  • v3.0.6 Changes

    December 18, 2021

    ๐Ÿ› Bugs:

    • ๐Ÿ“œ [ext.argparse] Parser (self._parser) not accessible inside _pre_argument_parsing when stacked_type = 'embedded'
    • ๐Ÿ“œ [ext.configparser] Overriding config options with environment variables doesn't work correctly with surrounding underscore characters
    • ๐Ÿšš [utils.fs] Fix bug where trailing slash was not removed in fs.backup() of a directory.
    • [cement.cli] Generated README contains incorrect installation instructions.

    ๐Ÿ”‹ Features:

    • None

    ๐Ÿ”จ Refactoring:

    • ๐Ÿ‘ [ext.colorlog] Support subclassing of ext_colorlog.


    • โšก๏ธ [dev] Update to Python 3.10 for default development / Docker version.
    • ๐Ÿ‘ท [dev] Remove Python 3.5/3.6 from Travis CI tests.
  • v3.0.4 Changes

    May 17, 2019

    ๐Ÿ› Bugs:

    • [ext.yaml] YamlConfigHandler uses unsafe load method
    • ๐Ÿ“œ [ext.configparser] Configparser 'getboolean' exception

    ๐Ÿ”‹ Features:

    • ๐Ÿ‘ [utils.misc] Support y as a truth boolean in utils.misc.is_true
  • v3.0.2 Changes

    November 06, 2018

    ๐Ÿ› Bugs:

    • [cli] Generate Variable Mishap in Project Template
    • [ext.generator] Error class is malformed
    • [core.template] MemoryError during 'cement generate project'
    • ๐Ÿ”Œ [] Contents of plugin_dirs is printed to console

    ๐Ÿ”‹ Features:

    • ๐Ÿ“œ [ext.argparse] Command name override
  • v3.0.0 Changes

    August 21, 2018

    ๐Ÿ› Bugs:

    • [ext.redis] Unable To Set Redis Host
    • ๐Ÿ“œ [ext.argparse] Empty Sub-Commands List
    • 0๏ธโƒฃ [] Handler Override Options Do Not Honor Meta Defaults

    ๐Ÿ”‹ Features:

    • ๐Ÿณ [core] Add Docker / Docker Compose Support
    • [core] Add ability to override the output handler used when app.render() is called.
    • [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.
    • [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 include fs.Tmp for creation and cleanup of temporary directory and file.

    ๐Ÿ”จ Refactoring:

    • Too many to reference


    • [core] Replace Interfaces with ABC Base Classes
    • [] Rename CementApp to App.
    • ๐Ÿ—„ [] Drop deprecated App.Meta.override_arguments
    • [] Remove App.Meta.plugin_config_dir and App.Meta.plugin_config_dirs in favor of App.Meta.config_dirs
    • ๐Ÿ”Œ [core.founcation] Rename App.Meta.plugin_bootstrap as App.Meta.plugin_module
    • [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
    • 0๏ธโƒฃ [ext.json] Disable overridable option by default
    • 0๏ธโƒฃ [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.
    • ๐Ÿ”ง [ext.plugin] All plugin configuration sections must start with plugin.. For example, [plugin.myplugin].
    • [] Renamed App.Meta.config_extension to App.Meta.config_file_suffix
    • [] Drop App.Meta.arguments_override_config

    ๐Ÿ—„ Deprecation:

    • ๐Ÿ—„ Everything with deprecation notices in Cement < 3
  • v2.99

    August 13, 2018
  • v2.10.4

    April 13, 2018
  • v2.10.2

    July 14, 2016
  • v2.10

    July 31, 2018