|
2 | 2 |
|
3 | 3 | All notable changes to ArchiPy are documented in this changelog, organized by version. |
4 | 4 |
|
| 5 | +## [3.14.0] - 2025-10-26 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +#### gRPC Application Creation Utilities |
| 10 | + |
| 11 | +- **gRPC App Creation** - Added comprehensive gRPC application creation utilities for both sync and async servers |
| 12 | + - Added `AppUtils.create_async_grpc_app()` method for async gRPC server creation with interceptor support |
| 13 | + - Added `AppUtils.create_grpc_app()` method for synchronous gRPC server creation |
| 14 | + - Implemented automatic setup of exception, tracing, and metric interceptors |
| 15 | + - Added `GrpcAPIUtils` class with setup methods for trace and metric interceptors for sync gRPC servers |
| 16 | + - Added `AsyncGrpcAPIUtils` class with setup methods for trace and metric interceptors for async gRPC servers |
| 17 | + - Integrated Prometheus metric collection with configurable HTTP server port |
| 18 | + - Enhanced optional import handling for gRPC dependencies with proper graceful degradation |
| 19 | + - Configured ThreadPoolExecutor with configurable worker count and server options |
| 20 | + - Support for custom interceptors and compression settings |
| 21 | + |
| 22 | +#### Prometheus Metrics Support |
| 23 | + |
| 24 | +- **Metric Collection** - Added Prometheus metrics integration for gRPC servers |
| 25 | + - Automatic metric interceptor setup when Prometheus is enabled in configuration |
| 26 | + - Configurable HTTP server for metrics endpoint exposure |
| 27 | + - Integrated metric collection for both sync and async gRPC servers |
| 28 | + - Enhanced observability with automatic Prometheus client initialization |
| 29 | + |
| 30 | +### Changed |
| 31 | + |
| 32 | +#### Kafka Producer Enhancements |
| 33 | + |
| 34 | +- **Key Parameter Support** - Enhanced Kafka producer with proper key encoding support |
| 35 | + - Added optional `key` parameter to `KafkaProducerPort.produce()` method signature |
| 36 | + - Implemented proper UTF-8 encoding for message keys using `_pre_process_message()` helper |
| 37 | + - Ensures consistent handling of both string and bytes keys in message production |
| 38 | + - Improved key/value consistency in Kafka message production workflow |
| 39 | + |
| 40 | +#### Cache Decorator Optimization |
| 41 | + |
| 42 | +- **Lazy Import Optimization** - Optimized TTL cache decorator import strategy |
| 43 | + - Moved `cachetools.TTLCache` import inside the decorator function to prevent global import issues |
| 44 | + - Improved module initialization performance by avoiding heavy dependencies at import time |
| 45 | + - Maintained backward compatibility while improving startup time |
| 46 | + - Enhanced import cleanliness and reduced initialization overhead |
| 47 | + |
| 48 | +### Fixed |
| 49 | + |
| 50 | +#### Kafka Producer Key Processing |
| 51 | + |
| 52 | +- **Key Encoding Fix** - Fixed issue where message keys were not being properly processed |
| 53 | + - Applied `_pre_process_message()` to key parameter in `produce()` method for proper encoding |
| 54 | + - Corrected key handling to match message value processing behavior |
| 55 | + - Resolved potential encoding errors when using string keys in Kafka message production |
| 56 | + - Enhanced BDD test coverage with proper key verification scenarios |
| 57 | + |
| 58 | +#### Import Cleanup |
| 59 | + |
| 60 | +- **Module Organization** - Improved import structure across multiple modules |
| 61 | + - Fixed unnecessary imports in Keycloak and MinIO adapters |
| 62 | + - Enhanced import cleanup in decorators module |
| 63 | + - Improved code organization and reduced import overhead |
| 64 | + |
5 | 65 | ## [3.13.10] - 2025-10-20 |
6 | 66 |
|
7 | 67 | ### Changed |
8 | 68 |
|
9 | 69 | #### Dependency Updates |
10 | 70 |
|
11 | | -- **Comprehensive Dependency Synchronization** - Updated multiple core dependencies to latest versions for improved security and performance |
| 71 | +- **Comprehensive Dependency Synchronization** - Updated multiple core dependencies to latest versions for improved |
| 72 | + security and performance |
12 | 73 | - Updated aiohttp from 3.13.0 to 3.13.1 for enhanced async HTTP client capabilities and bug fixes |
13 | 74 | - Updated cryptography from 46.0.2 to 46.0.3 for improved cryptographic security and performance |
14 | 75 | - Updated elastic-transport from 9.1.0 to 9.2.0 for enhanced Elasticsearch connectivity and reliability |
15 | 76 | - Updated mkdocs-material from 9.6.21 to 9.6.22 for improved documentation rendering and Material theme features |
| 77 | + - Updated mkdocs-material from 9.6.21 to 9.6.22 for improved documentation rendering and Material theme features |
16 | 78 | - Updated protobuf from 6.32.1 to 6.33.0 for enhanced Protocol Buffers support and performance |
17 | 79 | - Updated pydantic from 2.12.2 to 2.12.3 for improved data validation and type safety |
18 | 80 | - Updated pytokens from 0.1.10 to 0.2.0 for enhanced token processing capabilities |
19 | 81 | - Updated ruff from 0.14.0 to 0.14.1 for improved linting capabilities and bug fixes |
20 | 82 | - Updated wrapt from 1.17.3 to 2.0.0 for enhanced function wrapping capabilities |
21 | 83 |
|
22 | | - |
23 | 84 | ## [3.13.9] - 2025-10-15 |
24 | 85 |
|
25 | 86 | ### Improved |
|
0 commit comments