Skip to content

Commit 98d940c

Browse files
docs(changelog): add v4.3.5 release notes
1 parent 73337db commit 98d940c

1 file changed

Lines changed: 52 additions & 4 deletions

File tree

docs/changelog.md

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,59 @@
22

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

5+
## [v4.3.5] - 2026-03-10
6+
7+
### Fixed
8+
9+
#### Adapters - Kafka
10+
11+
- **SSL Config Typing** - Improved type safety and optional-field handling for SSL configuration in all three Kafka
12+
adapters (`KafkaAdminAdapter`, `KafkaConsumerAdapter`, `KafkaProducerAdapter`)
13+
- Replaced dict merge (`|=`) with explicit per-key assignment to satisfy the `dict[str, str | int | float]` type
14+
annotation
15+
- Optional SSL fields (`SASL_MECHANISM`, `SSL_CERT_FILE`, `SSL_KEY_FILE`) now fall back to `""` when `None`,
16+
preventing type errors
17+
- Config dicts are now explicitly typed as `dict[str, str | int | float]` across all three adapters
18+
19+
#### Helpers - Utils
20+
21+
- **gRPC Interceptors Type Annotation** - Added explicit `list[grpc.ServerInterceptor]` type annotation to the
22+
interceptors list in `AppUtils.create_async_grpc_app`
23+
24+
### Changed
25+
26+
#### Adapters - Testing
27+
28+
- **ScyllaDB Test Container** - Lowered minimum `aio-max-nr` requirement from `131072` to `65536`
29+
- Reduces the kernel parameter requirement for running ScyllaDB in CI and local environments
30+
- Reflects the actual minimum needed by the Seastar framework in containerised setups
31+
32+
#### Tests - Redis
33+
34+
- **Unified Redis BDD Tests** - Consolidated Redis mock and container tests into a single feature file
35+
- Renamed `redis_mock.feature``redis_adapter.feature` and `redis_mock_steps.py``redis_adapter_steps.py`
36+
- Single feature now covers both mock (fakeredis) and real container scenarios
37+
38+
#### Dependencies
39+
40+
- **cachetools** bumped from `>=7.0.1` to `>=7.0.5` (affects `cache`, `keycloak`, `minio`, `scylladb` extras)
41+
- **fakeredis** bumped from `>=2.34.0` to `>=2.34.1`
42+
- **fastapi** bumped from `>=0.133.0` to `>=0.135.1`
43+
- **grpcio** / **grpcio-health-checking** floor lowered from `>=1.78.1` to `>=1.78.0`
44+
- **confluent-kafka** bumped from `>=2.13.0` to `>=2.13.2`
45+
- **boto3** (minio extra) bumped from `>=1.42.55` to `>=1.42.64`
46+
- **sqlalchemy** / **sqlalchemy[asyncio]** bumped from `>=2.0.46` to `>=2.0.47`
47+
- **bandit** (dev) bumped from `>=1.9.3` to `>=1.9.4`
48+
549
## [v4.3.4] - 2026-02-24
650

751
### Fixed
852

953
#### Models - Errors
1054

1155
- **BaseError `__str__` Enhancement** - Improved string representation to expose full error context
12-
- `__str__` now returns a structured, human-readable string including `class name`, `code`, `message`, `http_status`, `grpc_status`, and `additional_data`
56+
- `__str__` now returns a structured, human-readable string including `class name`, `code`, `message`,
57+
`http_status`, `grpc_status`, and `additional_data`
1358
- Previous output was a minimal `[code] message` format, making debugging difficult
1459
- New format: `ClassName(code='...', message='...', http_status=..., grpc_status=..., additional_data=...)`
1560
- Consistent with `__repr__` behaviour — no information is hidden in logs or tracebacks
@@ -26,8 +71,10 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
2671

2772
#### Developer Tooling
2873

29-
- **Cursor Rules Restructured** - Replaced monolithic `checks.mdc` and `CLAUDE.md` with focused, single-responsibility rule files
30-
- Added `python-code-style.mdc` — string quoting, docstrings, line length, type hints, imports, error handling, complexity
74+
- **Cursor Rules Restructured** - Replaced monolithic `checks.mdc` and `CLAUDE.md` with focused, single-responsibility
75+
rule files
76+
- Added `python-code-style.mdc` — string quoting, docstrings, line length, type hints, imports, error handling,
77+
complexity
3178
- Added `architecture-patterns.mdc` — Clean Architecture layer map, import direction, lazy import policy
3279
- Added `typing-strict.mdc` — strict type annotation conventions
3380
- Added `testing-bdd.mdc` — BDD/Behave test conventions
@@ -137,7 +184,8 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
137184
- Implemented `_is_prometheus_server_running()` helper to detect existing Prometheus servers
138185
- Prevents duplicate Prometheus server starts across FastAPI and gRPC applications
139186
- Checks port availability before starting Prometheus HTTP server
140-
- Added `prometheus_utils` module with `is_prometheus_server_running()` and `start_prometheus_server_if_needed()` helpers for shared Prometheus server management across adapters
187+
- Added `prometheus_utils` module with `is_prometheus_server_running()` and `start_prometheus_server_if_needed()`
188+
helpers for shared Prometheus server management across adapters
141189

142190
#### Adapters - Temporal
143191

0 commit comments

Comments
 (0)