Skip to content

Commit 1d5ffd2

Browse files
committed
releasing 0.10.1
1 parent ab77d9a commit 1d5ffd2

2 files changed

Lines changed: 3 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,16 @@
11
# Changelog
22

3-
## [UnReleased] - 2026-MM-DD
3+
## [0.10.1] 2026-07-03 — Cycle detection, strict property, & inner-order audit flag
44

55
### Added
66

77
- **`DeprecationWrapperInfo.inner_order_property` flag.** `find_deprecation_wrappers()` now sets `inner_order_property=True` when a plain `property` (not `_DeprecatedProperty`) has a `@deprecated`-wrapped `fget` — the inner-order `@property @deprecated` shape where only the getter warns; setters and deleters added via `@value.setter` / `@value.deleter` remain silently unprotected. CI pipelines can filter on this field to reject the pattern. ([#201](https://github.com/Borda/pyDeprecate/pull/201))
8-
98
- **Opt-in strict `property` replacement.** `from deprecate import property` now exports `_StrictProperty`, a `property` subclass that raises `TypeError` at class-definition time when handed an already-`@deprecated` getter (inner-order detection). Import it in modules that want compile-time enforcement; star imports (`from deprecate import *`) are unaffected. ([#201](https://github.com/Borda/pyDeprecate/pull/201))
109

11-
### Changed
12-
13-
### Deprecated
14-
15-
### Removed
16-
1710
### Fixed
1811

1912
- **Circular deprecation chains now raise `RuntimeError` at call time.** Callable `target` chains that form a cycle (A → B → A) previously caused unbounded recursion and a `RecursionError`. The decorator now detects the cycle via a `ContextVar` re-entrancy guard and raises a clear `RuntimeError` naming the circular path. Async deprecation cycle detection was also improved to avoid false positives from concurrent tasks sharing a threading-local guard. ([#200](https://github.com/Borda/pyDeprecate/pull/200))
20-
21-
- **`_StrictProperty` `TypeError` message now references the correct module path.** The error previously pointed to `deprecate._StrictProperty`; corrected to `deprecate.deprecation._StrictProperty`, which is the actual import path.
22-
23-
______________________________________________________________________
13+
- **`_StrictProperty` `TypeError` message now references the correct module path.** The error previously pointed to `deprecate._StrictProperty`; corrected to `deprecate.deprecation._StrictProperty`, which is the actual import path. ([#201](https://github.com/Borda/pyDeprecate/pull/201))
2414

2515
## [0.10.0] — 2026-06-21 — Property accessors, class attribute mapping & descriptor targets
2616

src/deprecate/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
"""
77

8-
__version__ = "0.11.0.dev"
8+
__version__ = "0.10.1"
99
__docs__ = "Python deprecation decorator: call forwarding, argument mapping, class proxying, CI audit. Zero deps."
1010
__author__ = "Jiri Borovec"
1111
__author_email__ = "j.borovec+github[at]gmail.com"

0 commit comments

Comments
 (0)