Mercurial > hgrepos > Python > libs > ConfigMix
comparison CHANGES.txt @ 319:5427ca342c1e
Change the formatting the changelog: remove the dependency on the changelog package.
Now the changelog is a bit denser formatted (in the source as in the generated
artefacts).
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 05 May 2021 23:12:01 +0200 |
| parents | 043a6412be3c |
| children | 98490375d90c |
comparison
equal
deleted
inserted
replaced
| 318:e35bd534b7de | 319:5427ca342c1e |
|---|---|
| 10 ========= | 10 ========= |
| 11 | 11 |
| 12 Pre-1.0 Series | 12 Pre-1.0 Series |
| 13 -------------- | 13 -------------- |
| 14 | 14 |
| 15 .. changelog:: | 15 n/a (n/a) |
| 16 :version: none | 16 ~~~~~~~~~ |
| 17 :released: not yet | 17 |
| 18 | 18 - **[breaking] [misc]** |
| 19 .. change:: | 19 Moved some important public constants from :py:mod:`configmix` into |
| 20 :tags: breaking, misc | 20 the :py:mod:`configmix.constants` module. |
| 21 | 21 |
| 22 Moved some important public constants from :py:mod:`configmix` | 22 - **[feature]** |
| 23 into the :py:mod:`configmix.constants` module. | 23 Configuration tree references are implemented in the ``ref`` |
| 24 | 24 namespace |
| 25 .. change:: | 25 |
| 26 :tags: feature | 26 - **[feature]** |
| 27 | 27 Implemented new access methods |
| 28 Configuration tree references are implemented in the ``ref`` | 28 :py:meth:`configmix.config.Configuration.getvarl` and |
| 29 namespace | 29 :py:meth:`configmix.config.Configuration.getvarl_s` |
| 30 | 30 |
| 31 .. change:: | 31 |
| 32 :tags: feature | 32 0.13 (2021-04-21) |
| 33 | 33 ~~~~~~~~~~~~~~~~~ |
| 34 Implemented new access methods | 34 |
| 35 :py:meth:`configmix.config.Configuration.getvarl` and | 35 - **[feature]** |
| 36 :py:meth:`configmix.config.Configuration.getvarl_s` | 36 All YAML load functions got a new optional keyword `strict` to |
| 37 | 37 detect and prevent duplicate keys within a single YAML document. |
| 38 .. changelog:: | 38 |
| 39 :version: 0.13 | 39 The top-level load function also understands this flag and provides |
| 40 :released: 2021-04-21 | 40 it to low-level-loaders that understand it. |
| 41 | 41 |
| 42 .. change:: | 42 |
| 43 :tags: feature | 43 0.12 (2020-12-07) |
| 44 | 44 ~~~~~~~~~~~~~~~~~ |
| 45 All YAML load functions got a new optional keyword `strict` to detect | 45 |
| 46 and prevent duplicate keys within a single YAML document. | 46 - **[feature]** |
| 47 | 47 Provide an ``AWS`` namespace to retrieve some AWS instance metadata. |
| 48 The top-level load function also understands this flag and provides it | 48 |
| 49 to low-level-loaders that understand it. | 49 |
| 50 | 50 0.11 (2020-10-05) |
| 51 .. changelog:: | 51 ~~~~~~~~~~~~~~~~~ |
| 52 :version: 0.12 | 52 |
| 53 :released: 2020-12-07 | 53 - **[feature]** |
| 54 | 54 Allow the deletion of key-value pairs while merging configurations. |
| 55 .. change:: | 55 |
| 56 :tags: feature | 56 This is done by recognizing and handling the special configuration |
| 57 | 57 value ``{{::DEL::}}``. |
| 58 Provide an ``AWS`` namespace to retrieve some AWS instance metadata. | 58 |
| 59 | 59 |
| 60 .. changelog:: | 60 0.10 (2020-09-10) |
| 61 :version: 0.11 | 61 ~~~~~~~~~~~~~~~~~ |
| 62 :released: 2020-10-05 | 62 |
| 63 | 63 - **[feature]** |
| 64 .. change:: | 64 Allow loading configuration files from directories when using the |
| 65 :tags: feature | 65 "<dir>" prefix in filenames. |
| 66 | 66 |
| 67 Allow the deletion of key-value pairs while merging configurations. | 67 Unknown filetypes within these directories are ignored |
| 68 | 68 automatically. |
| 69 This is done by recognizing and handling the special | 69 |
| 70 configuration value ``{{::DEL::}}``. | 70 - **[feature]** |
| 71 | 71 Implemented a function to delete an association: |
| 72 .. changelog:: | 72 :py:func:`configmix.del_assoc`. |
| 73 :version: 0.10 | 73 |
| 74 :released: 2020-09-10 | 74 |
| 75 | 75 0.9 (2020-07-28) |
| 76 .. change:: | 76 ~~~~~~~~~~~~~~~~ |
| 77 :tags: feature | 77 |
| 78 | 78 - **[breaking] [feature]** |
| 79 Allow loading configuration files from directories when using | 79 Do not set "root", "self" and "here" variables any more. The old |
| 80 the "<dir>" prefix in filenames. | 80 behaviour hindered proper automatic configuration on some PyPy |
| 81 | 81 configurations when using `genapplib`. |
| 82 Unknown filetypes within these directories are ignored | 82 |
| 83 automatically. | 83 Only the INI-parser did set this variables automatically. |
| 84 | 84 |
| 85 .. change:: | 85 |
| 86 :tags: feature | 86 0.8.1 (2020-07-08) |
| 87 | 87 ~~~~~~~~~~~~~~~~~~ |
| 88 Implemented a function to delete an association: | 88 |
| 89 :py:func:`configmix.del_assoc`. | 89 - **[bugfix]** |
| 90 | 90 Allow non-string keys when merging configurations. |
| 91 .. changelog:: | 91 |
| 92 :version: 0.9 | 92 |
| 93 :released: 2020-07-28 | 93 0.8 (2020-07-08) |
| 94 | 94 ~~~~~~~~~~~~~~~~ |
| 95 .. change:: | 95 |
| 96 :tags: breaking, feature | 96 - **[breaking] [feature]** |
| 97 | 97 Do not implicitely convert a configuration value to text if the |
| 98 Do not set "root", "self" and "here" variables any more. The old | 98 value is the result of just a variable expansion. |
| 99 behaviour hindered proper automatic configuration on some PyPy | 99 |
| 100 configurations when using `genapplib`. | 100 |
| 101 | 101 0.7.4 (2020-05-21) |
| 102 Only the INI-parser did set this variables automatically. | 102 ~~~~~~~~~~~~~~~~~~ |
| 103 | 103 |
| 104 .. changelog:: | 104 - **[feature]** |
| 105 :version: 0.8.1 | 105 Implemented new namespace function ``OS:node`` to return the node's |
| 106 :released: 2020-07-08 | 106 computername. |
| 107 | 107 |
| 108 .. change:: | 108 - **[bugfix]** |
| 109 :tags: bugfix | 109 The ``OS`` namespace lookup did not handle non-existing variables |
| 110 | 110 properly and ignored the `default` parameter. |
| 111 Allow non-string keys when merging configurations. | 111 |
| 112 | 112 |
| 113 .. changelog:: | 113 0.7.3 (2020-05-13) |
| 114 :version: 0.8 | 114 ~~~~~~~~~~~~~~~~~~ |
| 115 :released: 2020-07-08 | 115 |
| 116 | 116 - No code changes. |
| 117 .. change:: | 117 |
| 118 :tags: breaking, feature | 118 |
| 119 | 119 0.7.2 (2019-05-13) |
| 120 Do not implicitely convert a configuration value to text if the | 120 ~~~~~~~~~~~~~~~~~~ |
| 121 value is the result of just a variable expansion. | 121 |
| 122 | 122 - **[feature]** |
| 123 .. changelog:: | 123 Implemented a loader with key ``-*-ignore-*-`` effectively ignores |
| 124 :version: 0.7.4 | 124 the contents of given file. No file extensions are by default |
| 125 :released: 2020-05-21 | 125 associated with this loader. |
| 126 | 126 |
| 127 .. change:: | 127 |
| 128 :tags: feature | 128 0.7.1 (2019-05-10) |
| 129 | 129 ~~~~~~~~~~~~~~~~~~ |
| 130 Implemented new namespace function ``OS:node`` to return the node's | 130 |
| 131 computername. | 131 - **[feature]** |
| 132 | 132 :py:func:`configmix.load` and :py:func:`configmix.safe_load` got a |
| 133 .. change:: | 133 new keyword argument `extras` that (if given) will be used as the |
| 134 :tags: bugfix | 134 *last* configuration dictionary to be merged into the configuration. |
| 135 | 135 |
| 136 The ``OS`` namespace lookup did not handle non-existing variables | 136 This can be used to overwrite configuration file settings from |
| 137 properly and ignored the `default` parameter. | 137 commandline arguments. |
| 138 | 138 |
| 139 | 139 - **[bugfix]** |
| 140 .. changelog:: | 140 :py:func:`configmix.safe_load` did some preliminary unsafe merges |
| 141 :version: 0.7.3 | 141 from `defaults` and an extra additional unneeded merge. |
| 142 :released: 2020-05-13 | 142 |
| 143 | 143 |
| 144 .. change:: | 144 0.7 (2019-05-06) |
| 145 :tags: | 145 ~~~~~~~~~~~~~~~~ |
| 146 | 146 |
| 147 No code changes. | 147 - **[breaking]** |
| 148 | 148 Additional or alternative loaders can be installed by changing the |
| 149 | 149 :py:data:`configmix.mode_loaders` dictionary directly. |
| 150 .. changelog:: | 150 |
| 151 :version: 0.7.2 | 151 - **[breaking]** |
| 152 :released: 2019-05-13 | 152 The public functions to associate filename extensions to filemodes |
| 153 | 153 have been renamed to :py:func:`configmix.set_assoc`, |
| 154 .. change:: | 154 :py:func:`configmix.get_assoc`, :py:func:`configmix.clear_assoc`, |
| 155 :tags: feature | 155 :py:func:`configmix.get_default_assoc`. |
| 156 | 156 |
| 157 Implemented a loader with key ``-*-ignore-*-`` effectively | 157 The filemodes must be keys in the :py:data:`configmix.mode_loaders` |
| 158 ignores the contents of given file. No file extensions are by | 158 dictionary. |
| 159 default associated with this loader. | 159 |
| 160 | 160 - **[breaking] [feature]** |
| 161 | 161 The associations from filename extensions to parsers are |
| 162 .. changelog:: | 162 :py:mod:`fnmatch` style patterns now. |
| 163 :version: 0.7.1 | 163 |
| 164 :released: 2019-05-10 | 164 Calling :py:func:`configmix.set_assoc` by default prepends to the |
| 165 | 165 currently defined associations and therefore gets the highest |
| 166 .. change:: | 166 priority. Appending is possible also. |
| 167 :tags: feature | 167 |
| 168 | 168 - **[feature]** |
| 169 :py:func:`configmix.load` and :py:func:`configmix.safe_load` got a | 169 :py:func:`configmix.load` and :py:func:`configmix.safe_load` got a |
| 170 new keyword argument `extras` that (if given) will be used as the | 170 keyword argument `defaults` that allow the provision of an already |
| 171 *last* configuration dictionary to be merged into the configuration. | 171 existing default configuration into which all additional |
| 172 | 172 configuration settings are merged into. |
| 173 This can be used to overwrite configuration file settings from | 173 |
| 174 commandline arguments. | 174 - **[feature]** |
| 175 | 175 Added support for TOML style configuration files. This needs the |
| 176 .. change:: | 176 external package :py:mod:`toml` (from https://github.com/uiri/toml). |
| 177 :tags: bugfix | 177 |
| 178 | 178 |
| 179 :py:func:`configmix.safe_load` did some preliminary unsafe merges | 179 0.6 (2019-03-14) |
| 180 from `defaults` and an extra additional unneeded merge. | 180 ~~~~~~~~~~~~~~~~ |
| 181 | 181 |
| 182 | 182 - **[breaking] [feature]** |
| 183 .. changelog:: | 183 Reimplemented :py:func:`configmix.safe_merge` to do a deepcopy of |
| 184 :version: 0.7 | 184 all source configurations when merging. Previously is was sort of a |
| 185 :released: 2019-05-06 | 185 shallow copy. |
| 186 | 186 |
| 187 .. change:: | 187 - **[breaking] [feature]** |
| 188 :tags: breaking | 188 The default file encoding when reading INI style files with |
| 189 | 189 :py:func:`configmix.ini.load` is now "UTF-8". Previously it was |
| 190 Additional or alternative loaders can be installed by changing | 190 undefined and therefore dependent on the user's locale. |
| 191 the :py:data:`configmix.mode_loaders` dictionary directly. | 191 |
| 192 | 192 An `encoding` keyword argument can be specified explicitely now. |
| 193 .. change:: | 193 |
| 194 :tags: breaking | 194 - **[breaking] [feature]** |
| 195 | 195 Support comment-like key-value pairs with configuration keys |
| 196 The public functions to associate filename extensions to filemodes | 196 starting with ``__doc`` or ``__comment``. |
| 197 have been renamed to :py:func:`configmix.set_assoc`, | 197 |
| 198 :py:func:`configmix.get_assoc`, | 198 - **[misc]** |
| 199 :py:func:`configmix.clear_assoc`, | 199 Use the filesystem encoding where appripriate. |
| 200 :py:func:`configmix.get_default_assoc`. | 200 |
| 201 | 201 - **[doc]** |
| 202 The filemodes must be keys in the :py:data:`configmix.mode_loaders` | 202 Begin the documentation with `Sphinx <http://www.sphinx-doc.org>`_ |
| 203 dictionary. | 203 |
| 204 | 204 - **[test]** |
| 205 .. change:: | 205 Begin formal unittests |
| 206 :tags: breaking, feature | 206 |
| 207 | 207 - **[feature]** |
| 208 The associations from filename extensions to parsers are | 208 Build a tree of configuration settings from INI files |
| 209 :py:mod:`fnmatch` style patterns now. | 209 |
| 210 | 210 - **[feature]** |
| 211 Calling :py:func:`configmix.set_assoc` by default prepends to | 211 Support JSON formatted files as configuration files also (suffix |
| 212 the currently defined associations and therefore gets the | 212 ".json"). |
| 213 highest priority. Appending is possible also. | 213 |
| 214 | 214 - **[feature]** |
| 215 .. change:: | 215 Allow custom configuration filename extensions and custom loaders |
| 216 :tags: feature | 216 that can handle custom configuration file syntax styles. |
| 217 | 217 |
| 218 :py:func:`configmix.load` and :py:func:`configmix.safe_load` got | 218 |
| 219 a keyword argument `defaults` that allow the provision of an | 219 0.5 (2016-04-19) |
| 220 already existing default configuration into which all additional | 220 ~~~~~~~~~~~~~~~~ |
| 221 configuration settings are merged into. | 221 |
| 222 | 222 - **[feature]]** |
| 223 .. change:: | 223 First really used release. |
| 224 :tags: feature | |
| 225 | |
| 226 Added support for TOML style configuration files. This needs | |
| 227 the external package :py:mod:`toml` (from https://github.com/uiri/toml). | |
| 228 | |
| 229 | |
| 230 .. changelog:: | |
| 231 :version: 0.6 | |
| 232 :released: 2019-03-14 | |
| 233 | |
| 234 .. change:: | |
| 235 :tags: breaking, feature | |
| 236 | |
| 237 Reimplemented :py:func:`configmix.safe_merge` to do a deepcopy of all | |
| 238 source configurations when merging. Previously is was sort of a | |
| 239 shallow copy. | |
| 240 | |
| 241 .. change:: | |
| 242 :tags: breaking, feature | |
| 243 | |
| 244 The default file encoding when reading INI style files with | |
| 245 :py:func:`configmix.ini.load` is now "UTF-8". Previously it was | |
| 246 undefined and therefore dependent on the user's locale. | |
| 247 | |
| 248 An `encoding` keyword argument can be specified explicitely now. | |
| 249 | |
| 250 .. change:: | |
| 251 :tags: breaking, feature | |
| 252 | |
| 253 Support comment-like key-value pairs with configuration keys starting | |
| 254 with ``__doc`` or ``__comment``. | |
| 255 | |
| 256 .. change:: | |
| 257 :tags: misc | |
| 258 | |
| 259 Use the filesystem encoding where appripriate. | |
| 260 | |
| 261 .. change:: | |
| 262 :tags: doc | |
| 263 | |
| 264 Begin the documentation with `Sphinx <http://www.sphinx-doc.org>`_ | |
| 265 | |
| 266 .. change:: | |
| 267 :tags: test | |
| 268 | |
| 269 Begin formal unittests | |
| 270 | |
| 271 .. change:: | |
| 272 :tags: feature | |
| 273 | |
| 274 Build a tree of configuration settings from INI files | |
| 275 | |
| 276 .. change:: | |
| 277 :tags: feature | |
| 278 | |
| 279 Support JSON formatted files as configuration files also (suffix ".json"). | |
| 280 | |
| 281 .. change:: | |
| 282 :tags: feature | |
| 283 | |
| 284 Allow custom configuration filename extensions and custom loaders that | |
| 285 can handle custom configuration file syntax styles. | |
| 286 | |
| 287 | |
| 288 .. changelog:: | |
| 289 :version: 0.5 | |
| 290 :released: 2016-04-19 | |
| 291 | |
| 292 .. change:: | |
| 293 :tags: feature | |
| 294 | |
| 295 First really used release. |
