Mercurial > hgrepos > Python > libs > ConfigMix
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 |
| 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 | 2 |
| 3 ========= | |
| 4 Changes | |
| 5 ========= | |
| 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 | 8 changes have a look at :ref:`api-changes`, they are listed there in |
| 9 detail. | |
| 10 | |
| 11 .. include:: ../CHANGES.txt | |
| 12 | |
| 13 | |
| 14 .. _api-changes: | |
| 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 | 19 0.20 |
| 20 ---- | |
| 21 | |
| 22 - Removed some unneeded keyword arguments from methods -- also public ones: | |
| 23 | |
| 24 * Configuration.expand_ref_uri() | |
| 25 * Configuration.expand_if_reference() | |
| 26 * Configuration._lookupref() | |
| 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 | 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 | 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 | 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 | 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 | 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 | 105 configurations when merging. Changes in configuration instances |
| 106 afterwards will not be reflected in the merged configuration any | |
| 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. |
