|
2 | 2 |
|
3 | 3 | All notable changes to ArchiPy are documented in this changelog, organized by version. |
4 | 4 |
|
| 5 | +## [v3.14.2] - 2025-11-06 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +#### Testing Infrastructure |
| 10 | + |
| 11 | +- **Tag-Based Selective Container Startup** - Implemented intelligent container startup based on feature tags for behave |
| 12 | + tests |
| 13 | + - Added `TAG_CONTAINER_MAP` mapping feature tags to container names (e.g., `@needs-postgres`, `@needs-kafka`, |
| 14 | + `@needs-elasticsearch`) |
| 15 | + - Implemented `extract_containers_from_tags()` method in `ContainerManager` to automatically detect required |
| 16 | + containers from feature/scenario tags |
| 17 | + - Enhanced `before_all()` and `before_feature()` hooks in `environment.py` to start only required containers based |
| 18 | + on tags |
| 19 | + - Added container tags to feature files (`atomic_transactions.feature`, `elastic_adapter.feature`, |
| 20 | + `kafka_adapters.feature`, `keycloak_adapter.feature`, `minio_adapter.feature`) |
| 21 | + - Optimizes test execution by starting only necessary containers, reducing resource usage and test startup time |
| 22 | + - Improves test isolation and parallel test execution capabilities |
| 23 | + |
| 24 | +### Changed |
| 25 | + |
| 26 | +#### Testing Infrastructure |
| 27 | + |
| 28 | +- **Dynamic Port Allocation for Testcontainers** - Refactored test container initialization to use dynamic ports instead |
| 29 | + of fixed ports |
| 30 | + - Updated all test container classes (`RedisTestContainer`, `PostgresTestContainer`, `KeycloakTestContainer`, |
| 31 | + `ElasticsearchTestContainer`, `KafkaTestContainer`, `MinioTestContainer`) to use dynamic port allocation |
| 32 | + - Containers now automatically assign available ports using `get_exposed_port()` method from testcontainers |
| 33 | + - Enhanced container startup to update global configuration with actual dynamic host and port values |
| 34 | + - Eliminates port conflicts when running multiple test suites in parallel or on shared CI/CD infrastructure |
| 35 | + - Improved test reliability and compatibility across different environments |
| 36 | + |
| 37 | +- **Simplified Configuration Access** - Streamlined configuration access patterns in test step definitions |
| 38 | + - Refactored step definitions to use `BaseConfig.global_config()` directly instead of complex configuration access |
| 39 | + patterns |
| 40 | + - Updated step definitions across multiple modules (`app_utils_steps.py`, `base_config_steps.py`, |
| 41 | + `datetime_utils_steps.py`, `elastic_adapter_steps.py`, `jwt_utils_steps.py`, `keycloak_adapter_steps.py`, |
| 42 | + `minio_adapter_steps.py`, `password_utils_steps.py`, `totp_utils_steps.py`) |
| 43 | + - Simplified `.env.test` configuration file structure |
| 44 | + - Enhanced code maintainability and reduced configuration complexity in test infrastructure |
| 45 | + - Improved developer experience with clearer configuration access patterns |
| 46 | + |
| 47 | +#### Dependency Updates |
| 48 | + |
| 49 | +- **Comprehensive Dependency Synchronization** - Updated multiple core dependencies to latest versions for improved |
| 50 | + security, performance, and bug fixes |
| 51 | + - Updated pydantic from 2.12.3 to 2.12.4 for enhanced data validation and performance improvements |
| 52 | + - Updated fakeredis from 2.32.0 to 2.32.1 for improved Redis mocking capabilities and bug fixes |
| 53 | + - Updated grpcio from 1.75.1 to 1.76.0 for enhanced gRPC framework capabilities and performance improvements |
| 54 | + - Updated grpcio-health-checking from 1.75.1 to 1.76.0 for improved health checking functionality |
| 55 | + - Updated confluent-kafka from 2.12.0 to 2.12.1 for enhanced Kafka messaging capabilities and bug fixes |
| 56 | + - Updated apscheduler from 3.11.0 to 3.11.1 for improved task scheduling capabilities and bug fixes |
| 57 | + - Updated aiomysql from 0.2.0 to 0.3.2 for enhanced async MySQL connectivity and performance improvements |
| 58 | + - Updated add-trailing-comma from 3.2.0 to 4.0.0 for improved code formatting capabilities |
| 59 | + - Updated ruff from 0.14.0 to 0.14.3 for enhanced linting capabilities and bug fixes |
| 60 | + - Updated types-cachetools from 6.2.0.20250827 to 6.2.0.20251022 for improved type stubs |
| 61 | + - Updated types-protobuf from 6.32.1.20250918 to 6.32.1.20251105 for enhanced Protocol Buffers type support |
| 62 | + - Updated types-regex from 2025.9.18.20250921 to 2025.11.3.20251106 for improved regex type hints |
| 63 | + - Updated mkdocs-material from 9.6.21 to 9.6.23 for enhanced documentation rendering and Material theme features |
| 64 | + |
5 | 65 | ## [v3.14.1] - 2025-10-30 |
6 | 66 |
|
7 | 67 | ### Fixed |
|
0 commit comments