Mercurial > hgrepos > Python > libs > ConfigMix
view CHANGES.txt @ 398:b1f82b853290
Jailed configuration: implement more methods: getfirstvarl, getfirstvarl_s, getfirstvar and getfirstvar_s
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 19 Nov 2021 01:39:18 +0100 |
| parents | 0b3ffc34fa5c |
| children | 7c4805439949 |
line wrap: on
line source
.. -*- coding: utf-8; mode: rst; indent-tabs-mode: nil; -*- .. .. Valid tags: breaking, feature, bugfix, misc, test, doc .. .. _changelog: Changelog ========= Pre-1.0 Series -------------- not yet (not yet) ~~~~~~~~~~~~~~~~~ - **[feature]** Jailed Configuration with :py:meth:`~configmix.config.Configuration.jailed` 0.16.1 (2021-11-10) ~~~~~~~~~~~~~~~~~~~ - **[feature]** New access methods :py:meth:`~configmix.config.Configuration.getfirstvarl`, :py:meth:`~configmix.config.Configuration.getfirstvarl_s`, :py:meth:`~configmix.config.Configuration.getfirstintvarl_s` :py:meth:`~configmix.config.Configuration.getfirstboolvarl_s`, :py:meth:`~configmix.config.Configuration.getfirstfloatvarl_s` - **[feature]** New access method :py:meth:`~configmix.config.Configuration.getfirstfloatvar_s` 0.16 (2021-07-11) ~~~~~~~~~~~~~~~~~ - **[feature]** New access methods :py:meth:`~configmix.config.Configuration.getfirstvar`, :py:meth:`~configmix.config.Configuration.getfirstvar_s`, :py:meth:`~configmix.config.Configuration.getfirstintvar_s` and :py:meth:`~configmix.config.Configuration.getfirstboolvar_s` 0.15.1 (2021-07-09) ~~~~~~~~~~~~~~~~~~~ - **[bugfix]** Handle the `default` keyword parameter in :py:meth:`configmix.config.Configuration.getvar` properly. 0.15 (2021-06-25) ~~~~~~~~~~~~~~~~~ - **[feature]** New filter function :py:func:`urlquote_plus` - **[feature]** New filter functions :py:func:`None` and :py:func:`Empty`. They are useful in variable interpolation context where they suppress possible lookup errors (aka :py:exc:`KeyError`) and instead return with :py:obj:`None` or an empty string. 0.14 (2021-05-10) ~~~~~~~~~~~~~~~~~ - **[breaking] [feature]** Allowed quoting of variable and namespace names. This is mostly important for variable names that contain ``.``, ``:`` or ``|`` but probably useful for characters like ``"` ``'`` and ``#`` also. - **[breaking] [misc]** Moved some important public constants from :py:mod:`configmix` into the :py:mod:`configmix.constants` module. - **[feature]** Configuration tree references are implemented in the ``ref`` namespace - **[feature]** Implemented new access methods :py:meth:`configmix.config.Configuration.getvarl` and :py:meth:`configmix.config.Configuration.getvarl_s` 0.13 (2021-04-21) ~~~~~~~~~~~~~~~~~ - **[feature]** All YAML load functions got a new optional keyword `strict` to detect and prevent duplicate keys within a single YAML document. The top-level load function also understands this flag and provides it to low-level-loaders that understand it. 0.12 (2020-12-07) ~~~~~~~~~~~~~~~~~ - **[feature]** Provide an ``AWS`` namespace to retrieve some AWS instance metadata. 0.11 (2020-10-05) ~~~~~~~~~~~~~~~~~ - **[feature]** Allow the deletion of key-value pairs while merging configurations. This is done by recognizing and handling the special configuration value ``{{::DEL::}}``. 0.10 (2020-09-10) ~~~~~~~~~~~~~~~~~ - **[feature]** Allow loading configuration files from directories when using the "<dir>" prefix in filenames. Unknown filetypes within these directories are ignored automatically. - **[feature]** Implemented a function to delete an association: :py:func:`configmix.del_assoc`. 0.9 (2020-07-28) ~~~~~~~~~~~~~~~~ - **[breaking] [feature]** Do not set "root", "self" and "here" variables any more. The old behaviour hindered proper automatic configuration on some PyPy configurations when using `genapplib`. Only the INI-parser did set this variables automatically. 0.8.1 (2020-07-08) ~~~~~~~~~~~~~~~~~~ - **[bugfix]** Allow non-string keys when merging configurations. 0.8 (2020-07-08) ~~~~~~~~~~~~~~~~ - **[breaking] [feature]** Do not implicitely convert a configuration value to text if the value is the result of just a variable expansion. 0.7.4 (2020-05-21) ~~~~~~~~~~~~~~~~~~ - **[feature]** Implemented new namespace function ``OS:node`` to return the node's computername. - **[bugfix]** The ``OS`` namespace lookup did not handle non-existing variables properly and ignored the `default` parameter. 0.7.3 (2020-05-13) ~~~~~~~~~~~~~~~~~~ - No code changes. 0.7.2 (2019-05-13) ~~~~~~~~~~~~~~~~~~ - **[feature]** Implemented a loader with key ``-*-ignore-*-`` effectively ignores the contents of given file. No file extensions are by default associated with this loader. 0.7.1 (2019-05-10) ~~~~~~~~~~~~~~~~~~ - **[feature]** :py:func:`configmix.load` and :py:func:`configmix.safe_load` got a new keyword argument `extras` that (if given) will be used as the *last* configuration dictionary to be merged into the configuration. This can be used to overwrite configuration file settings from commandline arguments. - **[bugfix]** :py:func:`configmix.safe_load` did some preliminary unsafe merges from `defaults` and an extra additional unneeded merge. 0.7 (2019-05-06) ~~~~~~~~~~~~~~~~ - **[breaking]** Additional or alternative loaders can be installed by changing the :py:data:`configmix.mode_loaders` dictionary directly. - **[breaking]** The public functions to associate filename extensions to filemodes have been renamed to :py:func:`configmix.set_assoc`, :py:func:`configmix.get_assoc`, :py:func:`configmix.clear_assoc`, :py:func:`configmix.get_default_assoc`. The filemodes must be keys in the :py:data:`configmix.mode_loaders` dictionary. - **[breaking] [feature]** The associations from filename extensions to parsers are :py:mod:`fnmatch` style patterns now. Calling :py:func:`configmix.set_assoc` by default prepends to the currently defined associations and therefore gets the highest priority. Appending is possible also. - **[feature]** :py:func:`configmix.load` and :py:func:`configmix.safe_load` got a keyword argument `defaults` that allow the provision of an already existing default configuration into which all additional configuration settings are merged into. - **[feature]** Added support for TOML style configuration files. This needs the external package :py:mod:`toml` (from https://github.com/uiri/toml). 0.6 (2019-03-14) ~~~~~~~~~~~~~~~~ - **[breaking] [feature]** Reimplemented :py:func:`configmix.safe_merge` to do a deepcopy of all source configurations when merging. Previously is was sort of a shallow copy. - **[breaking] [feature]** The default file encoding when reading INI style files with :py:func:`configmix.ini.load` is now "UTF-8". Previously it was undefined and therefore dependent on the user's locale. An `encoding` keyword argument can be specified explicitely now. - **[breaking] [feature]** Support comment-like key-value pairs with configuration keys starting with ``__doc`` or ``__comment``. - **[misc]** Use the filesystem encoding where appripriate. - **[doc]** Begin the documentation with `Sphinx <http://www.sphinx-doc.org>`_ - **[test]** Begin formal unittests - **[feature]** Build a tree of configuration settings from INI files - **[feature]** Support JSON formatted files as configuration files also (suffix ".json"). - **[feature]** Allow custom configuration filename extensions and custom loaders that can handle custom configuration file syntax styles. 0.5 (2016-04-19) ~~~~~~~~~~~~~~~~ - **[feature]]** First really used release.
