annotate docs/changes.rst @ 654:0d6673d06c2c

Add support for using "tomllib" (in Python's stdlib since 3.11) and "tomli" TOML packages. They are preferred if they are found to be installed. But note that the declared dependency for the "toml" extra nevertheless is the "toml" package. Because it is available for all supported Python versions. So use Python 3.11+ or install "tomli" manually if you want to use the alternate packages.
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 19 May 2022 22:10:59 +0200
parents be6ef72c55d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
192
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
1 .. -*- coding: utf-8; mode: rst; -*-
91
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
2
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
3 =========
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
4 Changes
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
5 =========
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
6
111
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
7 All major changes over the versions are listed here. For breaking
91
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
8 changes have a look at :ref:`api-changes`, they are listed there in
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
9 detail.
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
10
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
11 .. include:: ../CHANGES.txt
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
12
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
13
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
14 .. _api-changes:
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
15
111
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
16 Breaking Changes
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
17 ================
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
18
520
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
19 0.20
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
20 ----
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
21
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
22 - Removed some unneeded keyword arguments from methods -- also public ones:
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
23
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
24 * Configuration.expand_ref_uri()
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
25 * Configuration.expand_if_reference()
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
26 * Configuration._lookupref()
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
27
525
be6ef72c55d5 Change Configuration.expand_variable() to Configuration.interpolate_variables()
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 520
diff changeset
28 - Change methodname from `expand_variable()` to
be6ef72c55d5 Change Configuration.expand_variable() to Configuration.interpolate_variables()
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 520
diff changeset
29 :py:meth:`configmix.config.Configuration.interpolate_variables`
be6ef72c55d5 Change Configuration.expand_variable() to Configuration.interpolate_variables()
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 520
diff changeset
30
520
45ad19fe1e5b Changelog
Franz Glasner <fzglas.hg@dom66.de>
parents: 437
diff changeset
31
437
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
32 0.19
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
33 ----
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
34
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
35 - Dict-level access to a configuraiton now does variable interpolation
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
36
bbc5b64e137a - Dict-level access to a configuration key now does variable interpolation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 344
diff changeset
37
344
ce7aea9eac4a +++++ v0.14
Franz Glasner <fzglas.hg@dom66.de>
parents: 333
diff changeset
38 0.14
303
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
39 ----
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
40
333
5ec0ae3bb8db Docs: quoting
Franz Glasner <fzglas.hg@dom66.de>
parents: 320
diff changeset
41 - Allow quoting of variable and namespace names
320
98490375d90c Allow variable name quoting to be used in .getvar() and .getvar_s() and references
Franz Glasner <fzglas.hg@dom66.de>
parents: 303
diff changeset
42
303
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
43 - Move some important public constants from :py:mod:`configmix` into
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
44 the :py:mod:`configmix.constants` module.
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
45
320
98490375d90c Allow variable name quoting to be used in .getvar() and .getvar_s() and references
Franz Glasner <fzglas.hg@dom66.de>
parents: 303
diff changeset
46 These are technically a breaking changes while the author does not
98490375d90c Allow variable name quoting to be used in .getvar() and .getvar_s() and references
Franz Glasner <fzglas.hg@dom66.de>
parents: 303
diff changeset
47 believe that any of the current clients is affected by both changes.
303
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
48
2a2f5b86fe34 Move some important public constants into the .constants sub-module
Franz Glasner <fzglas.hg@dom66.de>
parents: 261
diff changeset
49
261
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
50 0.9
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
51 ---
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
52
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
53 - Do not set "root", "self" and "here" variables any more. This
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
54 hinders proper automatic configuration on some PyPy configurations
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
55 when using `genapplib`.
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
56
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
57 While technically a breaking change no known client is known to
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
58 rely on the previous behaviour.
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
59
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
60 Any only the INI-parser did set this variables automatically.
b84f8060d54c More elaborated changelog for the last change.
Franz Glasner <fzglas.hg@dom66.de>
parents: 253
diff changeset
61
252
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
62
253
16bcd85c7d28 +++++ v0.8
Franz Glasner <fzglas.hg@dom66.de>
parents: 252
diff changeset
63 0.8
252
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
64 ---
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
65
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
66 - Do not implicitely convert a configuration value to text if the
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
67 value is the result of just a variable expansion.
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
68
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
69 While technically a breaking change no known client is known to rely
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
70 on the previous behaviour.
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
71
42a6d59cf2ad Put a note about the latest breaking change into the appropriate documentation section also
Franz Glasner <fzglas.hg@dom66.de>
parents: 215
diff changeset
72
176
24a05dae0e76 FIX: Document the breaking change in the upcoming v0.7 in the chapter for "Breaking Changes" also
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 160
diff changeset
73 0.7
24a05dae0e76 FIX: Document the breaking change in the upcoming v0.7 in the chapter for "Breaking Changes" also
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 160
diff changeset
74 ---
24a05dae0e76 FIX: Document the breaking change in the upcoming v0.7 in the chapter for "Breaking Changes" also
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 160
diff changeset
75
201
24f4ab79a3ab FIX: Docu: "Overhowl" -> "Overhaul".
Franz Glasner <fzglas.hg@dom66.de>
parents: 192
diff changeset
76 - A major overhaul of how filename extensions are associated with loaders
192
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
77 has been done:
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
78
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
79 + Filename extensions in :mod:`fnmatch` style are associated with
205
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
80 file-mode strings.
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
81
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
82 These file-mode strings are associated with loader
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
83 functions separately via the mapping :py:data:`configmix.mode_loaders`.
192
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
84
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
85 + :py:func:`configmix.set_assoc`, :py:func:`configmix.get_assoc`,
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
86 :py:func:`configmix.clear_assoc` and
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
87 :py:func:`configmix.get_default_assoc` are the new names for the old
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
88 `set_loader()`, `get_loader()`, `clear_loader()` and
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
89 `get_default_loader()` functions.
205
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
90 They are used for associating :mod:`fnmatch` style filename patterns
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
91 to file-mode strings. Previously they associated loader functions
344da17f01e3 Doc: wording in "Changes"
Franz Glasner <fzglas.hg@dom66.de>
parents: 201
diff changeset
92 directly.
192
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
93
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
94 + :py:func:`configmix.set_assoc` now requires a :mod:`fnmatch` style
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
95 pattern instead of just a file extension string (i.e. a plain trailer).
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
96 The previons dictionary with mapping from filename extensions to loader
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
97 callables is now a list of tuples containing the :mod:`fnmatch` style
46c7d872db83 Changelog: note the latest refactorings
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
98 pattern and the corresponding loader callable.
176
24a05dae0e76 FIX: Document the breaking change in the upcoming v0.7 in the chapter for "Breaking Changes" also
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 160
diff changeset
99
24a05dae0e76 FIX: Document the breaking change in the upcoming v0.7 in the chapter for "Breaking Changes" also
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 160
diff changeset
100
111
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
101 0.6
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
102 ---
91
5ca36fbea43d Created a changelog
Franz Glasner <hg@dom66.de>
parents:
diff changeset
103
111
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
104 - :py:func:`configmix.safe_merge` does now a deepcopy of all source
160
131aaa95d01f FIX: Docu: wording
Franz Glasner <fzglas.hg@dom66.de>
parents: 120
diff changeset
105 configurations when merging. Changes in configuration instances
131aaa95d01f FIX: Docu: wording
Franz Glasner <fzglas.hg@dom66.de>
parents: 120
diff changeset
106 afterwards will not be reflected in the merged configuration any
131aaa95d01f FIX: Docu: wording
Franz Glasner <fzglas.hg@dom66.de>
parents: 120
diff changeset
107 more.
111
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
108
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
109 The public signature of :py:func:`configmix.safe_merge` has *not*
d51a18e5b0e3 Reimplement configmix.safe_merge() do to a deepcopy of all source configurations when merging.
Franz Glasner <hg@dom66.de>
parents: 91
diff changeset
110 changed.
120
ba5970a2dcef The default file encoding when reading INI style files with configmix.ini.load() is now "UTF-8".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 111
diff changeset
111
ba5970a2dcef The default file encoding when reading INI style files with configmix.ini.load() is now "UTF-8".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 111
diff changeset
112 - The default file encoding when reading INI style files with
ba5970a2dcef The default file encoding when reading INI style files with configmix.ini.load() is now "UTF-8".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 111
diff changeset
113 :py:func:`configmix.ini.load` is now "UTF-8". Previously it was undefined
ba5970a2dcef The default file encoding when reading INI style files with configmix.ini.load() is now "UTF-8".
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 111
diff changeset
114 and therefore dependent on the user's locale.