Skip to content

Releases: SyntaxArc/ArchiPy

3.14.3

11 Nov 08:45

Choose a tag to compare

Fixed

Redis Configuration

  • Removed Invalid Retry on Timeout Configuration - Fixed Redis adapter configuration by removing unsupported parameter
    • Removed RETRY_ON_TIMEOUT field from RedisConfig class as it does not exist in Redis cluster configuration
    • Removed retry_on_timeout parameter 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

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

06 Nov 09:17

Choose a tag to compare

Added

Testing Infrastructure

  • Tag-Based Selective Container Startup - Implemented intelligent container startup based on feature tags for behave
    tests
    • Added TAG_CONTAINER_MAP mapping feature tags to container names (e.g., @needs-postgres, @needs-kafka,
      @needs-elasticsearch)
    • Implemented extract_containers_from_tags() method in ContainerManager to automatically detect required
      containers from feature/scenario tags
    • Enhanced before_all() and before_feature() hooks in environment.py to 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

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
  • 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.test configuration file structure
    • Enhanced code maintainability and reduced configuration complexity in test infrastructure
    • Improved developer experience with clearer configuration access patterns

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

30 Oct 09:45

Choose a tag to compare

Fixed

FastAPI Configuration Naming

  • ReDoc Configuration Field Name Correction - Fixed typo in FastAPI configuration field name
    • Corrected RE_DOCS_URL to RE_DOC_URL in FastAPIConfig class to match FastAPI's actual parameter name
    • Updated AppUtils.create_fastapi_app() to use correct redoc_url parameter instead of redocs_url
    • Ensures proper ReDoc documentation endpoint configuration in FastAPI applications
    • Resolves potential configuration errors when setting up ReDoc documentation

Security

OpenAPI Schema Exposure

  • OpenAPI Endpoint Disabled by Default - Enhanced security by disabling OpenAPI schema endpoint by default
    • Changed OPENAPI_URL default value from /openapi.json to None in FastAPIConfig class
    • Prevents automatic exposure of API schema documentation in production environments
    • Applications must explicitly enable OpenAPI schema by setting OPENAPI_URL configuration value
    • Improves security posture by requiring opt-in for API documentation endpoints
    • Aligns with security best practices for production deployments

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

26 Oct 13:15

Choose a tag to compare

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

Full Changelog: 3.13.10...3.14.0

3.13.10

20 Oct 07:31

Choose a tag to compare

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

15 Oct 14:45

Choose a tag to compare

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

Full Changelog: 3.13.8...3.13.9

3.13.8

15 Oct 07:09

Choose a tag to compare

Changed

Redis Configuration Refinements

  • Redis Cluster Parameter Standardization - Aligned Redis cluster configuration with redis-py library standards
    • Replaced deprecated skip_full_coverage_check parameter with standard require_full_coverage parameter
    • Updated both synchronous and asynchronous Redis cluster adapters for compatibility with latest redis-py
    • Removed redundant CLUSTER_SKIP_FULL_COVERAGE_CHECK configuration field
    • Enhanced Redis cluster reliability with proper full coverage validation
    • Improved code maintainability by following redis-py best practices

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

13 Oct 10:08

Choose a tag to compare

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 (standaloneSTANDALONE, sentinelSENTINEL, clusterCLUSTER)
    • Enhanced configuration consistency across Redis deployment modes
    • Improved code readability and standardization

Development Workflow

  • Makefile Enhancement - Updated dependency installation command for better package management
    • Changed uv sync --extra dev --upgrade to uv sync --all-extras --group dev --upgrade
    • Enhanced dependency resolution with comprehensive extra package installation
    • Improved development environment setup with better group-based dependency management

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

12 Oct 08:57

Choose a tag to compare

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

08 Oct 10:29
4c22e63

Choose a tag to compare

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