|
2 | 2 |
|
3 | 3 | All notable changes to ArchiPy are documented in this changelog, organized by version. |
4 | 4 |
|
| 5 | +## [v4.0.1] - 2025-12-10 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +#### Helpers - Decorators |
| 10 | + |
| 11 | +- **Comprehensive Cache Decorator BDD Tests** - Added extensive BDD test suite for cache decorators |
| 12 | + - Test scenarios for function caching with TTL expiration |
| 13 | + - Test scenarios for async function caching |
| 14 | + - Test scenarios for method caching (both sync and async) |
| 15 | + - Test scenarios for bound method caching with instance isolation |
| 16 | + - Test scenarios for cache key generation with different argument types |
| 17 | + - Test scenarios for cache invalidation and clearing |
| 18 | + - Test scenarios for cache statistics and monitoring |
| 19 | + - Test scenarios for error handling and edge cases |
| 20 | + |
| 21 | +### Fixed |
| 22 | + |
| 23 | +#### Helpers - Decorators |
| 24 | + |
| 25 | +- **Bound Method Caching** - Fixed cache decorator to properly handle bound methods |
| 26 | + - Fixed cache key generation for bound methods to include instance identity |
| 27 | + - Ensures each instance has its own cache namespace |
| 28 | + - Prevents cache collisions between different instances of the same class |
| 29 | + - Improved cache statistics tracking for bound methods |
| 30 | + |
| 31 | +- **Type Checker Errors** - Resolved all Ty type checker errors (22 fixes) |
| 32 | + - Refactored decorators with `ParamSpec` for proper type preservation |
| 33 | + - Implemented descriptor protocol for cache decorator |
| 34 | + - Updated port interfaces with correct type annotations |
| 35 | + - Added `TYPE_CHECKING` imports for better type checking |
| 36 | + - No `cast()` usage - all types properly inferred |
| 37 | + |
| 38 | +### Changed |
| 39 | + |
| 40 | +#### Development Tools |
| 41 | + |
| 42 | +- **Type Checker Migration** - Migrated from MyPy to Ty type checker |
| 43 | + - Replaced MyPy with Ty for Python 3.14 type checking |
| 44 | + - Updated all type hints to use Python 3.14 syntax (`|` for unions, lowercase built-ins) |
| 45 | + - Updated Makefile to use `ty check` instead of `mypy` |
| 46 | + - Changed cache directory from `.mypy_cache/` to `.ty_cache/` |
| 47 | + - Updated pre-commit hooks to use Ty |
| 48 | + - Updated documentation and contributing guides |
| 49 | + |
| 50 | +#### Dependencies |
| 51 | + |
| 52 | +- **Optional Dependencies** |
| 53 | + - Updated `fastapi` from `>=0.124.0` to `>=0.124.2` |
| 54 | + - Updated `sqlalchemy` from `>=2.0.44` to `>=2.0.45` |
| 55 | + |
| 56 | +- **Development Dependencies** |
| 57 | + - Removed `mypy>=1.19.0` |
| 58 | + - Added `ty` (Ty type checker) |
| 59 | + - Updated `types-protobuf` from `>=6.32.1.20251105` to `>=6.32.1.20251210` |
| 60 | + |
5 | 61 | ## [v4.0.0] - 2025-12-08 |
6 | 62 |
|
7 | 63 | ### Changed |
|
0 commit comments