Releases: SyntaxArc/ArchiPy
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
3.13.4
Changed
Dependency Updates
-
Comprehensive Dependency Synchronization - Updated all dependencies to latest compatible versions for improved security and performance
- Updated Pydantic from 2.11.9 to 2.11.10 for enhanced data validation and performance improvements
- Updated Requests from 2.32.4 to 2.32.5 for improved HTTP client capabilities and security fixes
- Updated Elastic APM from 6.23.0 to 6.24.0 for enhanced application performance monitoring
- Updated Redis client from 6.2.0 to 6.4.0 with hiredis extension for improved performance
- Updated Sentry SDK from 2.39.0 to 2.40.0 for better error tracking and monitoring capabilities
- Updated SQLAlchemy from 2.0.41 to 2.0.43 for enhanced ORM functionality and performance
- Updated StarRocks driver from 1.2.2 to 1.2.3 for improved database connectivity
- Updated Temporalio from 1.18.0 to 1.18.1 for enhanced workflow orchestration capabilities
-
Development Tools Enhancement - Updated development and build infrastructure for improved developer experience
- Updated Bandit from 1.7.8 to 1.8.6 for enhanced security vulnerability scanning
- Updated Pre-commit hooks from 4.6.0 to 6.0.0 for improved code quality enforcement
- Updated Pre-commit from 3.8.0 to 4.3.0 for better hook management and performance
- Updated Ruff from 0.13.2 to 0.13.3 for enhanced linting capabilities and Python 3.13 support
- Updated Validate-pyproject from 0.18 to 0.24.1 for improved project configuration validation
- Updated PyMdown Extensions from 10.14.3 to 10.16.1 for enhanced Markdown processing
Testing Infrastructure
- Kafka Test Environment Update - Updated Kafka test container image for improved test reliability
- Updated Kafka test image from confluentinc/cp-kafka:7.4.10 to 7.9.3
- Enhanced test environment compatibility with latest Kafka features
- Improved test stability and performance in CI/CD environments
Development Workflow Improvements
- Enhanced Dependency Management - Improved Makefile targets for better dependency management
- Added
--upgradeflag toinstallandinstall-devtargets for automatic dependency updates - Added new
update-alltarget for aggressive dependency updates with comprehensive upgrade process - Enhanced dependency synchronization between pyproject.toml and uv.lock files
- Improved developer experience with streamlined dependency update workflows
- Added
Development Environment
- Cursor IDE Rules Enhancement - Updated Cursor IDE rules for improved development experience
- Enhanced code generation guidelines and architectural patterns
- Improved development workflow documentation and best practices
- Updated coding standards and quality enforcement rules
Configuration Management
- Comprehensive .env.example Update - Synchronized environment configuration template with all available config options
- Added Language configuration support with Persian (FA) language setting
- Enhanced Elasticsearch configuration with complete API key, SSL, and sniffing options
- Expanded Kafka configuration with SSL settings, compression, batch processing, and transaction support
- Added Redis cluster and sentinel mode configurations with connection pooling settings
- Included Temporal workflow orchestration configuration (completely new section)
- Added Parsian Shaparak payment gateway configuration (completely new section)
- Enhanced authentication configuration with comprehensive TOTP, password policies, and token security features
- Added separate SQLite and StarRocks SQLAlchemy configurations for different database types
- Improved existing configurations with missing fields and proper default values
- Organized configuration sections with clear headers and proper data type formatting
- Provided comprehensive reference for all available ArchiPy configuration options
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.3...3.13.4
3.13.3
Changed
Documentation Examples - Complete Python 3.13 & Best Practices Update
-
Comprehensive Example Documentation Refactor - Updated all 17 example files to follow modern Python 3.13 standards and ArchiPy best practices
- Updated all type hints to Python 3.13 syntax (
|for unions, lowercase built-ins,typeinstead ofType) - Replaced
Union[X, Y]withX | Ythroughout all examples - Replaced
Optional[X]withX | Nonethroughout all examples - Changed
List,Dictto lowercaselist,dictconsistently - Removed
from typing import Union, Optionalin favor of native syntax
- Updated all type hints to Python 3.13 syntax (
-
Exception Handling Standardization - Implemented proper exception handling patterns across all examples
- Added
try-except-elsepattern with explicitreturnstatements inelseblocks - Ensured all exceptions use
raise ... from efor proper error chaining - Removed operation/query messages from exception constructors (per workspace rules)
- Replaced generic
Exception,ValueErrorwith specific ArchiPy error types - Added comprehensive error handling examples in all adapter documentation
- Added
-
Logging Standardization - Replaced all print statements with proper logging
- Added
logger = logging.getLogger(__name__)to all example files - Replaced all
print()statements with appropriatelogger.info(),logger.error(), etc. - Implemented consistent logging levels and informative messages
- Added logging configuration examples in code snippets
- Added
-
Documentation Structure Improvements - Enhanced navigation and cross-referencing
- Added "See Also" sections to all adapter examples
- Linked adapter examples to corresponding BDD test
.featurefiles - Added cross-references to error handling, configuration, and API documentation
- Improved code explanations with detailed docstrings
- Added warnings for common pitfalls and best practices
-
New Complete Examples Added
- Email adapter with FastAPI integration and comprehensive error handling
- SQLite adapter with async operations and context managers
- StarRocks adapter with analytical query patterns and batch operations
- Metaclasses with singleton pattern, thread safety, and best practices
- Parsian payment gateway with complete payment flow and error recovery
- Temporal workflow orchestration with atomic activities and worker management
-
Code Quality Improvements
- All examples now syntactically correct with proper indentation
- Fixed indentation errors in
error_handling.md - Added security warnings for sensitive data (passwords in
.envfiles) - Improved FastAPI integration examples with proper dependency injection
- Enhanced async/await patterns with proper error handling
Full Changelog: 3.13.2...3.13.3
3.13.2
Changed
Documentation Infrastructure
- MkDocs Configuration Reorganization - Restructured MkDocs configuration for improved build performance and flexibility
- Moved
mkdocs.ymlfrom project root todocs/directory for better organization - Added
docs_dir: .andsite_dir: ../siteconfiguration for proper directory mapping - Created
docs/mkdocs-fast.ymlfor fast local development builds (10-20s) - Created
docs/mkdocs-full.ymlfor complete production builds (2-5min) - Implemented configuration inheritance using
INHERITdirective to reduce duplication - Enhanced main
mkdocs.ymlwith performance optimizations and balanced settings
- Moved
Documentation Performance
- MkDocs Build Optimization - Significantly improved documentation build performance
- Disabled source code display by default for faster rendering (
show_source: false) - Simplified object paths for reduced processing time (
show_object_full_path: false) - Disabled submodule auto-expansion for improved performance (
show_submodules: false) - Disabled base class display to reduce content size (
show_bases: false) - Enabled summary mode for faster documentation generation (
summary: true) - Excluded undocumented items from generation (
show_if_no_docstring: false) - Disabled inherited member display for major performance gain (
inherited_members: false) - Added environment variable control for mkdocstrings (
ENABLE_MKDOCSTRINGS)
- Disabled source code display by default for faster rendering (
Documentation Features
- Enhanced Navigation - Improved user experience with modern Material theme features
- Added instant prefetch for faster page navigation (
navigation.instant.prefetch) - Added loading progress indicator (
navigation.instant.progress) - Maintained existing features: instant loading, tracking, tabs, sections, ToC, code copy
- Added instant prefetch for faster page navigation (
CI/CD Pipeline
- GitHub Actions Workflow Update - Enhanced documentation deployment workflow
- Updated deploy workflow to use
docs/mkdocs-full.ymlfor production builds - Maintained full feature set for GitHub Pages deployment
- Improved build reliability with explicit configuration file reference
- Updated deploy workflow to use
ReadTheDocs Configuration
- Configuration Update - Updated ReadTheDocs configuration for new structure
- Updated
mkdocs.configurationpath todocs/mkdocs.yml - Maintained compatibility with ReadTheDocs build system
- Ensured proper documentation generation on ReadTheDocs platform
- Updated
Makefile Enhancements
- Documentation Build Commands - Added comprehensive make targets for all build modes
- Added
docs-servefor balanced mode development (default) - Added
docs-serve-fastfor quick iterations with fast builds - Added
docs-serve-no-apifor fastest builds without API generation - Added
docs-buildfor balanced builds - Added
docs-build-fastfor fast configuration builds - Added
docs-build-fullfor production builds with all features - Updated
docs-deployto use full configuration for production deployment
- Added
Documentation Content
-
Usage Guide Restructuring - Completely rewrote usage documentation for better onboarding
- Restructured as quick-start guide focusing on 5-minute setup
- Added minimal working FastAPI example for rapid prototyping
- Added clear next steps directing users to Architecture Guide for production patterns
- Reorganized content into Quick Start, Next Steps, Key Concepts, and Production-Ready Structure sections
- Enhanced best practices section with clear, actionable guidelines
- Improved navigation with links to detailed guides and examples
- Emphasized domain-driven organization and API versioning
- Added Command/Query/Response DTO pattern references
- Streamlined content to focus on getting started quickly while pointing to comprehensive resources
-
Architecture Guide Expansion - Enhanced architecture documentation with comprehensive real-world example
- Added complete end-to-end user management system example
- Demonstrated domain-driven design with clear layer separation
- Included API versioning patterns (
/api/v1/,/api/v2/) - Showcased CQRS-inspired DTO naming conventions (InputDTO, CommandDTO, QueryDTO, ResponseDTO, OutputDTO)
- Illustrated service, logic, and repository layer interactions
- Provided complete working code for models, DTOs, errors, repositories, logic, and services
- Demonstrated domain-specific adapters (
UserDBAdapter,UserCacheAdapter) - Highlighted scalability, testability, and maintainability benefits
- Emphasized framework-agnostic business logic design
- Showed clear separation of concerns at each architectural layer
Performance
- Optimized Documentation Build Times - Achieved significant performance improvements across all build modes
- Fast mode: 10-20s builds for rapid local development iteration
- Balanced mode: 30-60s builds for regular development work
- Full mode: 2-5min builds with all features for production deployment
- Reduced memory usage through content filtering and summary modes
- Improved developer experience with faster feedback loops
Developer Experience
- Improved Documentation Workflow - Enhanced documentation development and deployment experience
- Clear separation of development and production configurations
- Multiple build modes for different use cases and performance requirements
- Better local development experience with fast rebuild times
- Streamlined deployment process with optimized production builds
- Consistent configuration management through inheritance
Full Changelog: 3.13.1...3.13.2
3.13.1
Changed
Dependency Updates
-
Core Dependencies - Updated multiple core dependencies for improved security and performance
- Updated Pydantic from 2.11.7 to 2.11.9 for enhanced data validation and performance improvements
- Updated Pydantic Settings from 2.10.1 to 2.11.0 for better configuration management capabilities
- Updated PyYAML from 6.0.2 to 6.0.3 for enhanced YAML processing and security fixes
- Updated Sentry SDK from 2.36.0 to 2.39.0 for improved error tracking and monitoring
- Updated Ruff from 0.13.1 to 0.13.2 for enhanced code linting and formatting capabilities
-
Parser and Processing Libraries - Enhanced parsing and processing capabilities
- Updated pycparser from 2.22 to 2.23 for improved C code parsing
- Updated ruamel.yaml.clib from 0.2.12 to 0.2.14 for better YAML processing performance
- Added pytokens 0.1.10 for enhanced token processing capabilities
-
Build and Development Tools - Updated development and build infrastructure
- Updated Starlette from 0.47.3 to 0.48.0 for improved ASGI framework support
- Updated StarRocks driver from 1.2.2 to 1.2.3 for enhanced database connectivity
- Updated Temporalio from 1.12.0 to 1.18.0 for improved workflow orchestration capabilities
- Updated Testcontainers from 4.12.0 to 4.13.1 for better container testing support
- Updated Typer from 0.17.3 to 0.19.2 for enhanced CLI development features
- Updated Uvicorn from 0.35.0 to 0.37.0 for improved ASGI server performance
- Updated Zeep from 4.3.1 to 4.3.2 for better SOAP/WSDL client functionality
-
Type Checking and Development - Enhanced type checking and development experience
- Updated types-grpcio from 1.0.0.20250703 to 1.0.0.20250914 for better gRPC type support
- Updated types-protobuf from 6.30.2.20250822 to 6.32.1.20250918 for improved Protocol Buffers typing
- Updated types-pymysql from 1.1.0.20250822 to 1.1.0.20250916 for enhanced MySQL type hints
- Updated types-regex from 2025.9.1.20250903 to 2025.9.18.20250921 for better regex type support
- Updated types-requests from 2.32.4.20250809 to 2.32.4.20250913 for improved HTTP client typing
-
Infrastructure and Utility Libraries - Updated supporting infrastructure
- Updated rich-toolkit from 0.15.0 to 0.15.1 for enhanced terminal output formatting
- Updated numerous additional dependencies for security patches and performance improvements
Security
- Enhanced Security Posture - Multiple security updates across dependencies
- Updated dependencies include security patches and vulnerability fixes
- Improved overall application security through latest package versions
- Enhanced cryptographic libraries and security-related packages
Performance
- Optimized Dependencies - Performance improvements through dependency updates
- Enhanced parsing and processing performance with updated libraries
- Improved build and development tool performance
- Better memory usage and execution speed through optimized package versions
Full Changelog: 3.13.0...3.13.1
3.13.0
Added
Redis Cluster and Sentinel Support
-
Redis Cluster Integration - Added comprehensive Redis Cluster support for distributed caching and high availability
- Added
CLUSTERmode to RedisMode enum for cluster deployment configuration - Implemented cluster-specific methods:
cluster_info(),cluster_nodes(),cluster_slots(), andcluster_keyslot() - Added cluster configuration options:
CLUSTER_NODES,CLUSTER_REQUIRE_FULL_COVERAGE,CLUSTER_READ_FROM_REPLICAS - Enhanced connection pooling with
MAX_CONNECTIONSand retry mechanisms for cluster nodes - Improved error handling for cluster-specific operations and node failover scenarios
- Added
-
Redis Sentinel Integration - Added Redis Sentinel support for automatic failover and high availability
- Added
SENTINELmode to RedisMode enum for sentinel deployment configuration - Implemented sentinel-specific configuration:
SENTINEL_NODES,SENTINEL_SERVICE_NAME,SENTINEL_SOCKET_TIMEOUT - Enhanced master/slave discovery and automatic failover through Sentinel coordination
- Added robust connection management for Sentinel-monitored Redis deployments
- Added
Enhanced Redis Configuration
- Flexible Deployment Modes - Unified configuration system supporting standalone, sentinel, and cluster modes
- Added
RedisModeenum withSTANDALONE,SENTINEL, andCLUSTERoptions - Enhanced configuration validation with mode-specific parameter validation
- Improved connection timeout settings:
SOCKET_CONNECT_TIMEOUTandSOCKET_TIMEOUT - Added comprehensive error handling for mismatched configuration parameters
- Added
Testing and Mocking Improvements
- Enhanced Mock Support - Extended Redis mocking capabilities for all deployment modes
- Updated mock implementations to support cluster and sentinel operation simulation
- Enhanced test coverage for cluster-specific methods and sentinel failover scenarios
- Improved test configuration with mode-specific environment variables
Changed
Error Handling Enhancements
- Improved Error Utilities - Enhanced error handling for Redis connection and operation failures
- Updated error utilities to handle cluster and sentinel specific errors
- Improved error messaging for connection failures across different Redis modes
Dependencies
- Redis Client Updates - Updated Redis client dependencies to support cluster and sentinel operations
- Enhanced Redis protocol support for cluster and sentinel deployments
- Improved connection handling for distributed Redis architectures
Full Changelog: 3.12.0...3.13.0