Skip to content

Commit f32ba3b

Browse files
docs(changelog): add 4.2.0 section with metric interceptors and type safety improvements
1 parent 1c96e0c commit f32ba3b

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

docs/changelog.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,88 @@
22

33
All notable changes to ArchiPy are documented in this changelog, organized by version.
44

5+
## [v4.2.0] - 2026-02-21
6+
7+
### Added
8+
9+
#### Helpers - Interceptors
10+
11+
- **Metric Interceptors** - Enhanced Prometheus metrics collection across frameworks
12+
- Implemented `FastAPIMetricInterceptor` for HTTP request metrics with path template support
13+
- Added `ACTIVE_REQUESTS` gauge metric to both sync and async gRPC interceptors
14+
- Implemented path template caching in FastAPI interceptor for improved performance
15+
- Added comprehensive metrics for request duration, status codes, and concurrency tracking
16+
17+
#### Helpers - Utils
18+
19+
- **Prometheus Server Management** - Added server deduplication functionality
20+
- Implemented `_is_prometheus_server_running()` helper to detect existing Prometheus servers
21+
- Prevents duplicate Prometheus server starts across FastAPI and gRPC applications
22+
- Checks port availability before starting Prometheus HTTP server
23+
24+
#### Adapters - Temporal
25+
26+
- **BDD Test Coverage** - Added comprehensive Behave tests for Temporal adapter
27+
- Implemented persistent event loop per scenario to keep workers alive across steps
28+
- Added test workflows and activities for various scenarios (greeting, signal/query, timeout, retry)
29+
- Integrated Temporal container support with dev mode SQLite backend
30+
- Fixed workflow execution to use `run_async` helper for proper async handling
31+
32+
### Changed
33+
34+
#### Adapters - StarRocks
35+
36+
- **Async Driver Migration** - Improved async database driver support
37+
- Switched async driver from `aiomysql` to `asyncmy` for better StarRocks compatibility
38+
- Added `autocommit=False` in connect_args for both sync and async sessions to ensure proper transaction support
39+
- Implemented `_get_connect_args()` in sync session manager with configurable `connect_timeout`
40+
- Updated async `_get_connect_args()` with `connect_timeout` (asyncmy only supports connect_timeout)
41+
- Added `CONNECT_TIMEOUT` default (10s) to `StarRocksSQLAlchemyConfig` for MySQL protocol requirement
42+
- Upgraded StarRocks test container image from 4.0.4 to 4.0.6
43+
- Added automatic test database creation in `StarRocksTestContainer`
44+
- Added `asyncmy>=0.2.11` dependency to starrocks-async extra
45+
46+
#### Adapters - ScyllaDB
47+
48+
- **Docker Support** - Enhanced ScyllaDB adapter for containerized environments
49+
- Added address translator for Docker/NAT environments
50+
- Configured connection pool limits per host
51+
- Updated test containers and config template
52+
53+
#### Tests
54+
55+
- **Test Structure Improvements** - Enhanced test organization and coverage
56+
- Converted Redis tests to scenario outlines for both mock and container testing
57+
- Unified metric interceptor tests with scenario outlines
58+
- Support for FastAPI, gRPC, and AsyncgRPC in parameterized tests
59+
- Removed duplicate test scenarios
60+
61+
- **Container Optimization** - Improved test container configuration
62+
- Optimized Elasticsearch test container memory limits to prevent OOM kills
63+
- Refactored container tag validation logic in `ContainerManager`
64+
65+
### Fixed
66+
67+
#### Type Safety
68+
69+
- **Ty Compliance** - Resolved all 418 type checker errors
70+
- Replaced `**kwargs: object` with `**kwargs: Any` across adapters
71+
- Added `NoReturn` type hints to exception handlers
72+
- Updated to Pydantic v2 validator signatures
73+
- Modernized enums to use `StrEnum`
74+
- Added type casts and None checks for improved type safety
75+
- All linting checks now pass with zero errors
76+
77+
### Chore
78+
79+
#### Dependencies
80+
81+
- **Core Dependencies** - Updated dependency constraints to match uv.lock versions
82+
- Updated dependency lock file (pydantic-settings, redis, sentry-sdk, typer, uvicorn, virtualenv,
83+
pymdown-extensions)
84+
- Aligned version constraints across all extras and groups
85+
- Ensured consistency between pyproject.toml and uv.lock
86+
587
## [v4.1.0] - 2026-02-09
688

789
### Added

0 commit comments

Comments
 (0)