|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
5 | | -- Deprecate batch sizes below 1 in `batcher` and in `abatcher` without an |
6 | | - interval. A `DeprecationWarning` is issued before consuming the source; |
7 | | - existing results and errors are preserved in 4.x. These sizes will raise |
8 | | - `ValueError` in 5.0. With an interval, `abatcher` continues to accept `None` |
9 | | - or a size below 1 to mean no size limit. |
| 5 | +- Deprecate batch sizes below 1 in `batcher`, and in `abatcher` without an |
| 6 | + interval, contributed by @tongwentao in PR #64. A `DeprecationWarning` is |
| 7 | + issued when iteration starts, before the source is consumed, and the |
| 8 | + results and errors stay as they were. A test suite that turns warnings |
| 9 | + into errors fails on such a size from this release on. These sizes will |
| 10 | + raise `ValueError` in 5.0. With an interval, `abatcher` keeps accepting |
| 11 | + `None` or a size below 1 as no size limit, without a warning. |
| 12 | +- Accept a value that does not equal itself, such as `float('nan')`, when it |
| 13 | + is assigned back to its own slot of a `UniqueList` with |
| 14 | + `on_duplicate='raise'`, contributed by @ShahadatTest in PR #65. 4.1.4 |
| 15 | + raised `ValueError: Duplicate value` for it, while any other value could |
| 16 | + already be assigned to its own slot. |
| 17 | +- Import the lazy exports that a module's `__getattr__` serves for the names |
| 18 | + in its `__all__` with `import_global`, contributed by @ShahadatTest in |
| 19 | + PR #66. 4.1.4 skipped every name that `dir()` does not list. On Python |
| 20 | + 3.13 and later, `import_global('typing')` now also imports |
| 21 | + `AsyncContextManager`, `ContextManager`, `ForwardRef`, `Match` and |
| 22 | + `Pattern`, as it already did on 3.10 to 3.12. A lazy export that fails to |
| 23 | + resolve is still skipped. |
| 24 | +- Apply the key and value casts of a `LazyCastedDict` in `get`, as indexing |
| 25 | + already did, contributed by @ShahadatTest in PR #67. On an int-keyed |
| 26 | + dict, `d.get('3')` now finds the key stored as `3`, and `get` returns the |
| 27 | + cast value where 4.1.4 returned the raw stored value. A raw value that the |
| 28 | + value cast rejects now raises from `get` as it does from `d[k]`. |
| 29 | + `dict.get(d, k)` still reads the raw value. |
| 30 | +- Annotate the `default` of `to_float` as `int | float`, contributed by |
| 31 | + @rupayon123 in PR #69. The documented `to_float('abc', default=0.0)` was a |
| 32 | + type error under mypy and pyright. A `# type: ignore` added for it is now |
| 33 | + reported as unused under `mypy --strict`. |
10 | 34 |
|
11 | 35 | ## 4.1.4 - 2026-10-21 |
12 | 36 |
|
|
0 commit comments