|
1 | | -## Version 0.6.0 (in development) |
| 1 | +## Version 0.6.0 (from 2024-03-12) |
| 2 | + |
| 3 | +### Enhancements |
2 | 4 |
|
3 | 5 | * Added configuration setting `force_new`, which forces creation of a new |
4 | 6 | target dataset. An existing target dataset (and its lock) will be |
5 | | - permanently deleted before appending of slice datasets begins. [#72] |
| 7 | + permanently deleted before appending of slice datasets begins. (#72) |
| 8 | + |
| 9 | +* Chunk sizes can now be `null` for a given dimension. In this case the actual |
| 10 | + chunk size used is the size of the array's shape in that dimension. (#77) |
| 11 | + |
| 12 | +### API Changes |
6 | 13 |
|
7 | 14 | * Simplified writing of custom slice sources for users. The configuration setting |
8 | 15 | `slice_source` can now be a `SliceSource` class or any function that returns a |
9 | | - _slice item_: an `xarray.Dataset` object, a `SliceSource` object or |
10 | | - local file path or URI of type `str` or `FileObj`. |
11 | | - Dropped concept of _slice factories_ entirely. [#78] |
12 | | - |
13 | | -* Chunk sizes can now be `null` for a given dimension. In this case the actual |
14 | | - chunk size used is the size of the array's shape in that dimension. [#77] |
| 16 | + _slice item_: a local file path or URI, an `xarray.Dataset`, |
| 17 | + a `SliceSource` object. |
| 18 | + Dropped concept of _slice factories_ entirely, including functions |
| 19 | + `to_slice_factory()` and `to_slice_factories()`. (#78) |
15 | 20 |
|
16 | | -* Internal refactoring: Extracted `Config` class out of `Context` and |
17 | | - made available via new `Context.config: Config` property. |
18 | | - The change concerns any usages of the `ctx: Context` argument passed to |
19 | | - user slice factories. [#74] |
| 21 | +* Extracted `Config` class out of `Context` and made available via new |
| 22 | + `Context.config: Config` property. The change concerns any usages of the |
| 23 | + `ctx: Context` argument passed to user slice factories. (#74) |
20 | 24 |
|
21 | | -## Version 0.5.1 (2024-02-23) |
| 25 | +## Version 0.5.1 (from 2024-02-23) |
22 | 26 |
|
23 | 27 | * Fixed rollback for situations where writing to Zarr fails shortly after the |
24 | | - Zarr directory has been created. [#69] |
| 28 | + Zarr directory has been created. (#69) |
25 | 29 |
|
26 | 30 | In this case the error message was |
27 | 31 | ```TypeError: Transaction._delete_dir() missing 1 required positional argument: 'target_path'```. |
28 | 32 |
|
29 | 33 |
|
30 | | -## Version 0.5.0 (2024-02-19) |
| 34 | +## Version 0.5.0 (from 2024-02-19) |
31 | 35 |
|
32 | 36 | ### Enhancements |
33 | 37 |
|
34 | 38 | * The configuration setting `attrs` can now be used to define dynamically |
35 | | - computed dataset attributes using the syntax `{{ expression }}`. [#60] |
| 39 | + computed dataset attributes using the syntax `{{ expression }}`. (#60) |
36 | 40 |
|
37 | 41 | Example: |
38 | 42 | ```yaml |
|
44 | 48 | ``` |
45 | 49 |
|
46 | 50 | * Introduced new configuration setting `attrs_update_mode` that controls |
47 | | - how dataset attributes are updated. [#59] |
| 51 | + how dataset attributes are updated. (#59) |
48 | 52 |
|
49 | 53 | * Simplified logging to console. You can now set configuration setting |
50 | 54 | `logging` to a log level which will implicitly enable console logging with |
51 | | - given log level. [#64] |
| 55 | + given log level. (#64) |
52 | 56 |
|
53 | 57 | * Added a section in the notebook `examples/zappend-demo.ipynb` |
54 | 58 | that demonstrates transaction rollbacks. |
55 | 59 |
|
56 | | -* Added CLI option `--traceback`. [#57] |
| 60 | +* Added CLI option `--traceback`. (#57) |
57 | 61 |
|
58 | 62 | * Added a section in the notebook `examples/zappend-demo.ipynb` |
59 | 63 | that demonstrates transaction rollbacks. |
|
62 | 66 |
|
63 | 67 | * Fixed issue where a NetCDF package was missing to run the |
64 | 68 | demo Notebook `examples/zappend-demo.ipynb` in |
65 | | - [Binder](https://mybinder.readthedocs.io/). [#47] |
| 69 | + [Binder](https://mybinder.readthedocs.io/). (#47) |
66 | 70 |
|
67 | 71 | ## Version 0.4.1 (from 2024-02-13) |
68 | 72 |
|
69 | 73 | ### Fixes |
70 | 74 |
|
71 | | -* Global metadata attributes of target dataset is no longer empty. [#56] |
| 75 | +* Global metadata attributes of target dataset is no longer empty. (#56) |
72 | 76 |
|
73 | 77 | * If the target _parent_ directory did not exist, an exception was raised |
74 | 78 | reporting that the lock file to be written does not exist. Changed this to |
75 | | - report that the target parent directory does not exist. [#55] |
| 79 | + report that the target parent directory does not exist. (#55) |
76 | 80 |
|
77 | 81 | ### Enhancements |
78 | 82 |
|
|
87 | 91 | the step sizes between the labels of a coordinate variable associated with |
88 | 92 | the append dimension. Its value can be a number for numerical labels |
89 | 93 | or a time delta value of the form `8h` (8 hours) or `2D` (two days) for |
90 | | - date/time labels. The value can also be negative. [#21] |
| 94 | + date/time labels. The value can also be negative. (#21) |
91 | 95 |
|
92 | 96 | * The configuration setting `append_step` can take the special values |
93 | 97 | `"+"` and `"-"` which are used to verify that the labels are monotonically |
94 | | - increasing and decreasing, respectively. [#20] |
| 98 | + increasing and decreasing, respectively. (#20) |
95 | 99 |
|
96 | 100 | * It is now possible to reference environment variables |
97 | | - in configuration files using the syntax `${ENV_VAR}`. [#36] |
| 101 | + in configuration files using the syntax `${ENV_VAR}`. (#36) |
98 | 102 |
|
99 | 103 | * Added a demo Notebook `examples/zappend-demo.ipynb` and linked |
100 | | - it by a binder badge in README.md. [#47] |
| 104 | + it by a binder badge in README.md. (#47) |
101 | 105 |
|
102 | 106 | ### Fixes |
103 | 107 |
|
104 | 108 | * When `slice_source` was given as class or function and passed |
105 | 109 | to the `zappend()` function either as configuration entry or as keyword |
106 | | - argument, a `ValidationError` was accidentally raised. [#49] |
| 110 | + argument, a `ValidationError` was accidentally raised. (#49) |
107 | 111 |
|
108 | 112 | * Fixed an issue where an absolute lock file path was computed if the target |
109 | 113 | Zarr path was relative in the local filesystem, and had no parent directory. |
110 | | - [#45] |
| 114 | + (#45) |
111 | 115 |
|
112 | 116 | ## Version 0.3.0 (from 2024-01-26) |
113 | 117 |
|
|
119 | 123 | of `zappend.api.SliceSource`. If `slice_source` is given, slices passed to |
120 | 124 | the zappend function or CLI command will be interpreted as parameter(s) |
121 | 125 | passed to the constructor of the specified class or the factory function. |
122 | | - [#27] |
| 126 | + (#27) |
123 | 127 |
|
124 | 128 | * It is now possible to configure runtime profiling of the `zappend` |
125 | | - processing using the new configuration setting `profiling`. [#39] |
| 129 | + processing using the new configuration setting `profiling`. (#39) |
126 | 130 |
|
127 | | -* Added `--version` option to CLI. [#42] |
| 131 | +* Added `--version` option to CLI. (#42) |
128 | 132 |
|
129 | 133 | * Using `sizes` instead of `dims` attribute of `xarray.Dataset` in |
130 | | - implementation code. [#25] |
| 134 | + implementation code. (#25) |
131 | 135 |
|
132 | 136 | * Enhanced documentation including docstrings of several Python API objects. |
133 | 137 |
|
134 | 138 | ### Fixes |
135 | 139 |
|
136 | 140 | * Fixed a problem where the underlying i/o stream of a persistent slice dataset |
137 | | - was closed immediately after opening the dataset. [#31] |
| 141 | + was closed immediately after opening the dataset. (#31) |
138 | 142 |
|
139 | 143 | * Now logging ignored encodings on level DEBUG instead of WARNING because they |
140 | 144 | occur very likely when processing NetCDF files. |
|
146 | 150 | * Introduced _slice factories_ |
147 | 151 | - Allow passing slice object factories to the `zappend()` function. |
148 | 152 | Main use case is to return instances of a custom `zappend.api.SliceSource` |
149 | | - implemented by users. [#13] |
| 153 | + implemented by users. (#13) |
150 | 154 |
|
151 | 155 | - The utility functions `to_slice_factories` and `to_slice_factory` |
152 | 156 | exported by `zappend.api` ease passing inputs specific for a custom |
153 | | - `SliceSource` or other callables that can produce a slice object. [#22] |
| 157 | + `SliceSource` or other callables that can produce a slice object. (#22) |
154 | 158 |
|
155 | 159 | * Introduced new configuration flag `persist_mem_slices`. |
156 | 160 | If set, in-memory `xr.Dataset` instances will be first persisted to a |
157 | | - temporary Zarr, then reopened, and then appended to the target dataset. [#11] |
| 161 | + temporary Zarr, then reopened, and then appended to the target dataset. (#11) |
158 | 162 |
|
159 | | -* Added initial documentation. [#17] |
| 163 | +* Added initial documentation. (#17) |
160 | 164 |
|
161 | 165 | * Improved readability of generated configuration documentation. |
162 | 166 |
|
|
166 | 170 |
|
167 | 171 | * Fixed problem when passing slices opened from NetCDF files. The error was |
168 | 172 | `TypeError: VariableEncoding.__init__() got an unexpected keyword argument 'chunksizes'`. |
169 | | - [#14] |
| 173 | + (#14) |
170 | 174 |
|
171 | | -* Fixed problem where info about closing slice was logged twice. [#9] |
| 175 | +* Fixed problem where info about closing slice was logged twice. (#9) |
172 | 176 |
|
173 | 177 |
|
174 | 178 | ## Version 0.1.1 (from 2024-01-10) |
|
0 commit comments