Releases: SyntaxArc/ArchiPy
Releases · SyntaxArc/ArchiPy
3.14.3
Fixed
Redis Configuration
- Removed Invalid Retry on Timeout Configuration - Fixed Redis adapter configuration by removing unsupported parameter
- Removed
RETRY_ON_TIMEOUTfield fromRedisConfigclass as it does not exist in Redis cluster configuration - Removed
retry_on_timeoutparameter from both synchronous and asynchronous Redis adapter initialization - Resolves configuration errors when using Redis cluster mode with invalid parameters
- Ensures compatibility with redis-py library's actual parameter set
- Prevents potential runtime errors from passing unsupported configuration options
- Removed
Changed
Dependency Updates
- Comprehensive Dependency Synchronization - Updated multiple core dependencies to latest versions for improved
security, performance, and bug fixes- Updated fastapi from 0.120.2 to 0.121.1 for enhanced API framework capabilities and bug fixes
- Updated confluent-kafka from 2.12.1 to 2.12.2 for improved Kafka messaging reliability and performance
- Updated psycopg from 3.2.11 to 3.2.12 for enhanced PostgreSQL driver stability and bug fixes
- Updated pydantic-settings from 2.11.0 to 2.12.0 for improved settings management and validation
- Updated black from 25.9.0 to 25.11.0 for enhanced code formatting capabilities
- Updated pre-commit from 4.3.0 to 4.4.0 for improved git hook management
- Updated ruff from 0.14.3 to 0.14.4 for enhanced linting capabilities and bug fixes
Full Changelog: 3.14.2...3.14.3
3.14.2
Added
Testing Infrastructure
- Tag-Based Selective Container Startup - Implemented intelligent container startup based on feature tags for behave
tests- Added
TAG_CONTAINER_MAPmapping feature tags to container names (e.g.,@needs-postgres,@needs-kafka,
@needs-elasticsearch) - Implemented
extract_containers_from_tags()method inContainerManagerto automatically detect required
containers from feature/scenario tags - Enhanced
before_all()andbefore_feature()hooks inenvironment.pyto start only required containers based
on tags - Added container tags to feature files (
atomic_transactions.feature,elastic_adapter.feature,
kafka_adapters.feature,keycloak_adapter.feature,minio_adapter.feature) - Optimizes test execution by starting only necessary containers, reducing resource usage and test startup time
- Improves test isolation and parallel test execution capabilities
- Added
Changed
Testing Infrastructure
-
Dynamic Port Allocation for Testcontainers - Refactored test container initialization to use dynamic ports instead
of fixed ports- Updated all test container classes (
RedisTestContainer,PostgresTestContainer,KeycloakTestContainer,
ElasticsearchTestContainer,KafkaTestContainer,MinioTestContainer) to use dynamic port allocation - Containers now automatically assign available ports using
get_exposed_port()method from testcontainers - Enhanced container startup to update global configuration with actual dynamic host and port values
- Eliminates port conflicts when running multiple test suites in parallel or on shared CI/CD infrastructure
- Improved test reliability and compatibility across different environments
- Updated all test container classes (
-
Simplified Configuration Access - Streamlined configuration access patterns in test step definitions
- Refactored step definitions to use
BaseConfig.global_config()directly instead of complex configuration access
patterns - Updated step definitions across multiple modules (
app_utils_steps.py,base_config_steps.py,
datetime_utils_steps.py,elastic_adapter_steps.py,jwt_utils_steps.py,keycloak_adapter_steps.py,
minio_adapter_steps.py,password_utils_steps.py,totp_utils_steps.py) - Simplified
.env.testconfiguration file structure - Enhanced code maintainability and reduced configuration complexity in test infrastructure
- Improved developer experience with clearer configuration access patterns
- Refactored step definitions to use
Dependency Updates
- Comprehensive Dependency Synchronization - Updated multiple core dependencies to latest versions for improved
security, performance, and bug fixes- Updated pydantic from 2.12.3 to 2.12.4 for enhanced data validation and performance improvements
- Updated fakeredis from 2.32.0 to 2.32.1 for improved Redis mocking capabilities and bug fixes
- Updated grpcio from 1.75.1 to 1.76.0 for enhanced gRPC framework capabilities and performance improvements
- Updated grpcio-health-checking from 1.75.1 to 1.76.0 for improved health checking functionality
- Updated confluent-kafka from 2.12.0 to 2.12.1 for enhanced Kafka messaging capabilities and bug fixes
- Updated apscheduler from 3.11.0 to 3.11.1 for improved task scheduling capabilities and bug fixes
- Updated aiomysql from 0.2.0 to 0.3.2 for enhanced async MySQL connectivity and performance improvements
- Updated add-trailing-comma from 3.2.0 to 4.0.0 for improved code formatting capabilities
- Updated ruff from 0.14.0 to 0.14.3 for enhanced linting capabilities and bug fixes
- Updated types-cachetools from 6.2.0.20250827 to 6.2.0.20251022 for improved type stubs
- Updated types-protobuf from 6.32.1.20250918 to 6.32.1.20251105 for enhanced Protocol Buffers type support
- Updated types-regex from 2025.9.18.20250921 to 2025.11.3.20251106 for improved regex type hints
- Updated mkdocs-material from 9.6.21 to 9.6.23 for enhanced documentation rendering and Material theme features
Full Changelog: 3.14.1...3.14.2
3.14.1
Fixed
FastAPI Configuration Naming
- ReDoc Configuration Field Name Correction - Fixed typo in FastAPI configuration field name
- Corrected
RE_DOCS_URLtoRE_DOC_URLinFastAPIConfigclass to match FastAPI's actual parameter name - Updated
AppUtils.create_fastapi_app()to use correctredoc_urlparameter instead ofredocs_url - Ensures proper ReDoc documentation endpoint configuration in FastAPI applications
- Resolves potential configuration errors when setting up ReDoc documentation
- Corrected
Security
OpenAPI Schema Exposure
- OpenAPI Endpoint Disabled by Default - Enhanced security by disabling OpenAPI schema endpoint by default
- Changed
OPENAPI_URLdefault value from/openapi.jsontoNoneinFastAPIConfigclass - Prevents automatic exposure of API schema documentation in production environments
- Applications must explicitly enable OpenAPI schema by setting
OPENAPI_URLconfiguration value - Improves security posture by requiring opt-in for API documentation endpoints
- Aligns with security best practices for production deployments
- Changed
Changed
Dependency Updates
- Comprehensive Dependency Synchronization - Updated multiple core dependencies to latest versions for improved
security, performance, and bug fixes- Updated aiohttp from 3.13.1 to 3.13.2 for enhanced async HTTP client capabilities and bug fixes
- Updated alembic from 1.17.0 to 1.17.1 for improved database migration tool capabilities
- Updated elasticsearch from 9.1.1 to 9.2.0 for enhanced Elasticsearch connectivity and reliability
- Updated fastapi from 0.120.0 to 0.120.2 for improved API framework stability and bug fixes
- Updated python-dotenv from 1.1.1 to 1.2.1 for enhanced environment variable loading capabilities
- Updated redis from 7.0.0 to 7.0.1 for improved Redis client reliability and performance
- Updated rignore from 0.7.1 to 0.7.2 for enhanced ignore file handling
- Updated sentry-sdk from 2.42.1 to 2.43.0 for improved error tracking and monitoring capabilities
- Updated starlette from 0.48.0 to 0.49.1 for enhanced ASGI framework features and bug fixes
- Updated temporalio from 1.18.1 to 1.18.2 for improved workflow orchestration capabilities
- Updated virtualenv from 20.35.3 to 20.35.4 for enhanced virtual environment management
New Contributors
Full Changelog: 3.14.0...3.14.1
3.14.0
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
Full Changelog: 3.13.10...3.14.0
3.13.10
Changed
Dependency Updates
- Comprehensive Dependency Synchronization - Updated multiple core dependencies to latest versions for improved security and performance
- Updated aiohttp from 3.13.0 to 3.13.1 for enhanced async HTTP client capabilities and bug fixes
- Updated cryptography from 46.0.2 to 46.0.3 for improved cryptographic security and performance
- Updated elastic-transport from 9.1.0 to 9.2.0 for enhanced Elasticsearch connectivity and reliability
- Updated mkdocs-material from 9.6.21 to 9.6.22 for improved documentation rendering and Material theme features
- Updated protobuf from 6.32.1 to 6.33.0 for enhanced Protocol Buffers support and performance
- Updated pydantic from 2.12.2 to 2.12.3 for improved data validation and type safety
- Updated pytokens from 0.1.10 to 0.2.0 for enhanced token processing capabilities
- Updated ruff from 0.14.0 to 0.14.1 for improved linting capabilities and bug fixes
- Updated wrapt from 1.17.3 to 2.0.0 for enhanced function wrapping capabilities
Full Changelog: 3.13.9...3.13.10
3.13.9
Improved
Elastic APM Client Initialization
- Enhanced Client Reuse - Improved Elastic APM client initialization to prevent duplicate client creation
- Updated tracing decorators to use
elasticapm.get_client()before creating new clients - Applied same pattern to gRPC server interceptors (both sync and async)
- Prevents potential memory leaks and improves performance by reusing existing clients
- Maintains backward compatibility while optimizing resource usage
- Updated tracing decorators to use
Full Changelog: 3.13.8...3.13.9
3.13.8
Changed
Redis Configuration Refinements
- Redis Cluster Parameter Standardization - Aligned Redis cluster configuration with redis-py library standards
- Replaced deprecated
skip_full_coverage_checkparameter with standardrequire_full_coverageparameter - Updated both synchronous and asynchronous Redis cluster adapters for compatibility with latest redis-py
- Removed redundant
CLUSTER_SKIP_FULL_COVERAGE_CHECKconfiguration field - Enhanced Redis cluster reliability with proper full coverage validation
- Improved code maintainability by following redis-py best practices
- Replaced deprecated
Dependency Updates
- Pydantic Version Update - Updated Pydantic to version 2.12.2 for enhanced data validation
- Improved validation performance and bug fixes
Full Changelog: 3.13.7...3.13.8
3.13.7
Changed
Dependency Updates
- Core Dependencies - Updated key dependencies to latest versions for improved security and performance
- Updated cachetools from 6.2.0 to 6.2.1 for enhanced caching capabilities and performance improvements
- Updated idna from 3.10 to 3.11 for improved internationalized domain name handling and security fixes
Configuration Improvements
- Redis Mode Constants - Standardized Redis mode constants to uppercase format for better consistency
- Updated RedisMode enum values from lowercase to uppercase (
standalone→STANDALONE,sentinel→SENTINEL,cluster→CLUSTER) - Enhanced configuration consistency across Redis deployment modes
- Improved code readability and standardization
- Updated RedisMode enum values from lowercase to uppercase (
Development Workflow
- Makefile Enhancement - Updated dependency installation command for better package management
- Changed
uv sync --extra dev --upgradetouv sync --all-extras --group dev --upgrade - Enhanced dependency resolution with comprehensive extra package installation
- Improved development environment setup with better group-based dependency management
- Changed
Performance
- Optimized Dependency Resolution - Improved dependency installation and resolution performance
- Enhanced UV package manager integration with latest dependency versions
- Improved lock file generation and dependency resolution speed
- Better memory usage during dependency installation and updates
Full Changelog: 3.13.6...3.13.7
3.13.6
Changed
Dependency Updates
- Core Framework Updates - Updated key dependencies to latest compatible versions for improved performance and
security- Updated SQLAlchemy from >=2.0.43 to >=2.0.44 for enhanced ORM functionality and performance improvements
- Updated FastAPI from >=0.118.2 to >=0.119.0 for improved web framework capabilities and bug fixes
- Updated Confluent Kafka from >=2.12.0 to latest stable version for enhanced messaging capabilities and improved
reliability
Performance
- Optimized Dependency Resolution - Improved dependency resolution and installation performance
- Enhanced UV package manager integration with latest dependency versions
- Improved lock file generation and dependency resolution speed
- Better memory usage during dependency installation and updates
Full Changelog: 3.13.5...3.13.6
3.13.5
Changed
Dependency Updates
- Comprehensive Dependency Synchronization - Updated all dependencies to latest compatible versions for improved security and performance
- Updated Pydantic from 2.11.10 to 2.12.0 for enhanced data validation and performance improvements
- Updated Pydantic Core from 2.33.2 to 2.41.1 for improved core functionality and performance
- Updated FastAPI from 0.118.0 to 0.118.1 for enhanced web framework capabilities and bug fixes
- Updated Fakeredis from 2.31.3 to 2.32.0 for improved Redis mocking capabilities
- Updated Ruff from 0.13.3 to 0.14.0 for enhanced linting capabilities and Python 3.14 support
- Updated Testcontainers from 4.13.1 to 4.13.2 for improved container testing support
Test Environment Updates
- Docker Image Updates - Updated test container images for improved test reliability and compatibility
- Updated Redis test image from 8.2.1-alpine to 8.2.2-alpine for enhanced stability
- Updated Elasticsearch test image from 9.1.4 to 9.1.5 for improved search functionality
Type Safety Improvements
- SQLAlchemy Adapter Typing - Enhanced type safety in SQLAlchemy adapter base model
- Improved generic type handling in SQLAlchemy adapter base classes
- Enhanced type inference and IDE support for database operations
- Better type safety for entity operations and query results
Temporal Workflow Enhancements
- Custom Workflow ID Support - Added support for custom workflow IDs in Temporal scheduled workflows
- Enhanced Temporal workflow scheduling with configurable workflow IDs
- Improved workflow identification and management capabilities
- Better integration with existing workflow orchestration patterns
CI/CD Infrastructure
- GitHub Actions Updates - Updated UV setup action for improved CI/CD reliability
- Updated astral-sh/setup-uv from version 6 to 7 across all workflows
- Enhanced dependency management and build performance
- Improved compatibility with latest UV features
Performance
- Optimized Dependency Resolution - Improved dependency resolution and installation performance
- Enhanced UV package manager integration with latest features
- Improved lock file generation and dependency resolution speed
- Better memory usage during dependency installation and updates
Security
- Enhanced Security Posture - Multiple security updates across dependencies
- Updated dependencies include latest security patches and vulnerability fixes
- Improved overall application security through latest package versions
- Enhanced cryptographic libraries and security-related packages
Full Changelog: 3.13.4...3.13.5