Skip to content

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 GrpcAPIUtils class with setup methods for trace and metric interceptors for sync gRPC servers
    • Added AsyncGrpcAPIUtils class 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

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 key parameter to KafkaProducerPort.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

Cache Decorator Optimization

  • Lazy Import Optimization - Optimized TTL cache decorator import strategy
    • Moved cachetools.TTLCache import 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

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 in produce() 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

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