annotate docs/changes.rst @ 717:65ff0f61af37

Enhance documentation for the API
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 16 Aug 2023 09:29:08 +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.