view docs/changes.rst @ 676:e1fd2fca8694

>>>>> Tag v0.21.2 for changeset 2ca35f4b03a5
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 12 Apr 2023 09:27:20 +0200
parents be6ef72c55d5
children
line wrap: on
line source

.. -*- coding: utf-8; mode: rst; -*-

=========
 Changes
=========

All major changes over the versions are listed here. For breaking
changes have a look at :ref:`api-changes`, they are listed there in
detail.

.. include:: ../CHANGES.txt


.. _api-changes:

Breaking Changes
================

0.20
----

- Removed some unneeded keyword arguments from methods -- also public ones:

  * Configuration.expand_ref_uri()
  * Configuration.expand_if_reference()
  * Configuration._lookupref()

- Change methodname from `expand_variable()` to
  :py:meth:`configmix.config.Configuration.interpolate_variables`


0.19
----

- Dict-level access to a configuraiton now does variable interpolation


0.14
----

- Allow quoting of variable and namespace names

- Move some important public constants from :py:mod:`configmix` into
  the :py:mod:`configmix.constants` module.

These are technically a breaking changes while the author does not
believe that any of the current clients is affected by both changes.


0.9
---

- Do not set "root", "self" and "here" variables any more. This
  hinders proper automatic configuration on some PyPy configurations
  when using `genapplib`.

    While technically a breaking change no known client is known to
    rely on the previous behaviour.

    Any only the INI-parser did set this variables automatically.


0.8
---

- Do not implicitely convert a configuration value to text if the
  value is the result of just a variable expansion.

    While technically a breaking change no known client is known to rely
    on the previous behaviour.


0.7
---

- A major overhaul of how filename extensions are associated with loaders
  has been done:

  + Filename extensions in :mod:`fnmatch` style are associated with
    file-mode strings.

    These file-mode strings are associated with loader
    functions separately via the mapping :py:data:`configmix.mode_loaders`.

  + :py:func:`configmix.set_assoc`, :py:func:`configmix.get_assoc`,
    :py:func:`configmix.clear_assoc` and
    :py:func:`configmix.get_default_assoc` are the new names for the old
    `set_loader()`, `get_loader()`, `clear_loader()` and
    `get_default_loader()` functions.
    They are used for associating :mod:`fnmatch` style filename patterns
    to file-mode strings. Previously they associated loader functions
    directly.

  + :py:func:`configmix.set_assoc` now requires a :mod:`fnmatch` style
    pattern instead of just a file extension string (i.e. a plain trailer).
    The previons dictionary with mapping from filename extensions to loader
    callables is now a list of tuples containing the :mod:`fnmatch` style
    pattern and the corresponding loader callable.


0.6
---

- :py:func:`configmix.safe_merge` does now a deepcopy of all source
  configurations when merging. Changes in configuration instances
  afterwards will not be reflected in the merged configuration any
  more.

  The public signature of :py:func:`configmix.safe_merge` has *not*
  changed.

- 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.