3.14.0 — 2025-10-26¶
← 3.14.1 | 3.13.10 → | ↑ 3.x series
Added¶
gRPC Application Creation Utilities¶
- gRPC App Creation - Added comprehensive gRPC application creation utilities for both sync and async servers
- Added
AppUtils.create_async_grpc_app()method for async gRPC server creation with interceptor support - Added
AppUtils.create_grpc_app()method for synchronous gRPC server creation - Implemented automatic setup of exception, tracing, and metric interceptors
- Added
GrpcAPIUtilsclass with setup methods for trace and metric interceptors for sync gRPC servers - Added
AsyncGrpcAPIUtilsclass with setup methods for trace and metric interceptors for async gRPC servers - Integrated Prometheus metric collection with configurable HTTP server port
- Enhanced optional import handling for gRPC dependencies with proper graceful degradation
- Configured ThreadPoolExecutor with configurable worker count and server options
- Support for custom interceptors and compression settings
- Added
Prometheus Metrics Support¶
- Metric Collection - Added Prometheus metrics integration for gRPC servers
- Automatic metric interceptor setup when Prometheus is enabled in configuration
- Configurable HTTP server for metrics endpoint exposure
- Integrated metric collection for both sync and async gRPC servers
- Enhanced observability with automatic Prometheus client initialization
Changed¶
Kafka Producer Enhancements¶
- Key Parameter Support - Enhanced Kafka producer with proper key encoding support
- Added optional
keyparameter toKafkaProducerPort.produce()method signature - Implemented proper UTF-8 encoding for message keys using
_pre_process_message()helper - Ensures consistent handling of both string and bytes keys in message production
- Improved key/value consistency in Kafka message production workflow
- Added optional
Cache Decorator Optimization¶
- Lazy Import Optimization - Optimized TTL cache decorator import strategy
- Moved
cachetools.TTLCacheimport inside the decorator function to prevent global import issues - Improved module initialization performance by avoiding heavy dependencies at import time
- Maintained backward compatibility while improving startup time
- Enhanced import cleanliness and reduced initialization overhead
- Moved
Fixed¶
Kafka Producer Key Processing¶
- Key Encoding Fix - Fixed issue where message keys were not being properly processed
- Applied
_pre_process_message()to key parameter inproduce()method for proper encoding - Corrected key handling to match message value processing behavior
- Resolved potential encoding errors when using string keys in Kafka message production
- Enhanced BDD test coverage with proper key verification scenarios
- Applied
Import Cleanup¶
- Module Organization - Improved import structure across multiple modules
- Fixed unnecessary imports in Keycloak and MinIO adapters
- Enhanced import cleanup in decorators module
- Improved code organization and reduced import overhead