|
2 | 2 |
|
3 | 3 | All notable changes to ArchiPy are documented in this changelog, organized by version. |
4 | 4 |
|
| 5 | +## [v4.1.0] - 2026-02-09 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +#### Adapters - Keycloak |
| 10 | + |
| 11 | +- **Organization Management** - Implemented comprehensive organization management functionality |
| 12 | + - Added `create_organization()` method for creating new organizations |
| 13 | + - Added `update_organization()` method for updating existing organizations |
| 14 | + - Added `delete_organization()` method for removing organizations |
| 15 | + - Added `add_organization_member()` method for adding members to organizations |
| 16 | + - Added `remove_organization_member()` method for removing members from organizations |
| 17 | + - Added `get_organization_members()` method for retrieving organization member lists |
| 18 | + - Implemented both sync (`KeycloakAdapter`) and async (`AsyncKeycloakAdapter`) versions |
| 19 | + - Enhanced feature tests to cover all organization operations |
| 20 | + |
| 21 | +- **Realm Configuration** - Added realm update functionality |
| 22 | + - Implemented `update_realm()` method to enable organization support |
| 23 | + - Added configuration options for organization features in realms |
| 24 | + - Updated test containers to support organization feature in Keycloak |
| 25 | + |
| 26 | +#### Tests |
| 27 | + |
| 28 | +- **StarRocks TestContainer** - Added TestContainer support for StarRocks database |
| 29 | + - Integrated StarRocks container for integration testing |
| 30 | + - Enhanced test coverage for StarRocks adapter functionality |
| 31 | + |
| 32 | +- **Atomic Transaction Tests** - Expanded test coverage for atomic decorators |
| 33 | + - Added PostgreSQL support for atomic transaction tests |
| 34 | + - Added SQLite support for atomic transaction tests |
| 35 | + - Improved test reliability across different database backends |
| 36 | + |
| 37 | +### Changed |
| 38 | + |
| 39 | +#### Development Tools |
| 40 | + |
| 41 | +- **Formatter Migration** - Replaced Black with Ruff formatter |
| 42 | + - Migrated from Black to Ruff formatter for code formatting |
| 43 | + - Applied Ruff formatting fixes across entire codebase |
| 44 | + - Updated CI/CD workflows to use Ruff formatter |
| 45 | + - Maintained 120 character line length standard |
| 46 | + |
| 47 | +#### CI/CD |
| 48 | + |
| 49 | +- **Workflow Improvements** - Enhanced GitHub Actions workflows |
| 50 | + - Separated Ruff and Ty linting into dedicated workflows |
| 51 | + - Refactored Ty workflow for better performance |
| 52 | + - Bumped `actions/cache` from version 4 to 5 |
| 53 | + - Improved workflow reliability and execution speed |
| 54 | + |
| 55 | +### Fixed |
| 56 | + |
| 57 | +#### Configuration |
| 58 | + |
| 59 | +- **Type Safety** - Resolved type checker errors |
| 60 | + - Fixed type errors in `base_config.py` |
| 61 | + - Fixed type errors in `keycloak_utils.py` |
| 62 | + - Improved type hint accuracy across configuration modules |
| 63 | + |
| 64 | +#### Documentation |
| 65 | + |
| 66 | +- **Module References** - Fixed documentation issues |
| 67 | + - Removed reference to non-existent `error_message_types` module |
| 68 | + - Updated documentation to reflect current module structure |
| 69 | + |
| 70 | +### Chore |
| 71 | + |
| 72 | +#### Dependencies |
| 73 | + |
| 74 | +- **Python Version** - Updated to Python 3.14 |
| 75 | + - Added `.python-version` file with Python 3.14 |
| 76 | + - Updated all Python version references to 3.14 |
| 77 | + - Ensured compatibility with Python 3.14 features |
| 78 | + |
| 79 | +- **Core Dependencies** - Updated multiple dependencies to latest versions |
| 80 | + - Updated `cachetools` from `>=6.2.6` to `>=7.0.0` (cache, keycloak, minio, scylladb extras) |
| 81 | + - Updated `elasticsearch` from `>=9.2.1` to `>=9.3.0` (elasticsearch and elasticsearch-async extras) |
| 82 | + - Updated `fastapi` from `>=0.128.0` to `>=0.128.5` (fastapi extra) |
| 83 | + - Updated `grpcio` from `>=1.76.0` to `>=1.78.0` (grpc extra) |
| 84 | + - Updated `grpcio-health-checking` from `>=1.76.0` to `>=1.78.0` (grpc extra) |
| 85 | + - Updated `sentry-sdk` from `>=2.51.0` to `>=2.52.0` (sentry extra) |
| 86 | + - Updated `temporalio` from `>=1.21.1` to `>=1.22.0` (temporalio extra) |
| 87 | + - Updated `testcontainers` from `>=4.14.0` to `>=4.14.1` (testcontainers extra) |
| 88 | + |
| 89 | +- **Development Dependencies** - Updated development tools |
| 90 | + - Updated `ty` from `>=0.0.14` to `>=0.0.15` (type checker) |
| 91 | + - Updated `ruff` from `>=0.14.14` to `>=0.15.0` (linter and formatter) |
| 92 | + - Updated `validate-pyproject` from `>=0.24.1` to `>=0.25` |
| 93 | + |
| 94 | +- **Documentation Dependencies** - Updated documentation tools |
| 95 | + - Updated `mkdocstrings` from `>=1.0.2` to `>=1.0.3` |
| 96 | + - |
| 97 | +- **Test Environment** - Updated test configuration |
| 98 | + - Updated Elasticsearch test image from `9.2.1` to `9.3.0` in `.env.test` |
| 99 | + |
5 | 100 | ## [v4.0.4] - 2026-01-31 |
6 | 101 |
|
7 | 102 | ### Changed |
8 | 103 |
|
9 | 104 | #### Helpers - Decorators |
10 | 105 |
|
11 | 106 | - **Enhanced Exception Handling** - Improved exception handling in SQLAlchemy atomic decorators |
12 | | - - Changed exception handling from `Exception` to `BaseException` for comprehensive error catching |
13 | | - - Updated `_handle_db_exception()` function signature to accept `BaseException` instead of `Exception` |
14 | | - - Enhanced error handling in both sync and async atomic decorator implementations |
15 | | - - Ensures all exceptions (including system exceptions) are properly caught and handled |
| 107 | + - Changed exception handling from `Exception` to `BaseException` for comprehensive error catching |
| 108 | + - Updated `_handle_db_exception()` function signature to accept `BaseException` instead of `Exception` |
| 109 | + - Enhanced error handling in both sync and async atomic decorator implementations |
| 110 | + - Ensures all exceptions (including system exceptions) are properly caught and handled |
16 | 111 |
|
17 | 112 | #### Models - Types |
18 | 113 |
|
19 | 114 | - **Enum Value Standardization** - Standardized all enum values to uppercase format for consistency |
20 | | - - **SortOrderType**: Changed `ASCENDING` and `DESCENDING` from lowercase to uppercase |
21 | | - - **FilterOperationType**: Changed all 15 operation types to uppercase (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, IN_LIST, NOT_IN_LIST, LIKE, ILIKE, STARTS_WITH, ENDS_WITH, CONTAINS, IS_NULL, IS_NOT_NULL) |
22 | | - - **EmailAttachmentDispositionType**: Changed `ATTACHMENT` and `INLINE` from lowercase to uppercase |
23 | | - - **TimeIntervalUnitType**: Changed all 7 unit types to uppercase (SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEAR) |
24 | | - - Improved consistency with other enum patterns in the codebase |
25 | | - - Enhanced code readability and standardization across all type definitions |
| 115 | + - **SortOrderType**: Changed `ASCENDING` and `DESCENDING` from lowercase to uppercase |
| 116 | + - **FilterOperationType**: Changed all 15 operation types to uppercase (EQUAL, NOT_EQUAL, LESS_THAN, |
| 117 | + LESS_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, IN_LIST, NOT_IN_LIST, LIKE, ILIKE, STARTS_WITH, |
| 118 | + ENDS_WITH, CONTAINS, IS_NULL, IS_NOT_NULL) |
| 119 | + - **EmailAttachmentDispositionType**: Changed `ATTACHMENT` and `INLINE` from lowercase to uppercase |
| 120 | + - **TimeIntervalUnitType**: Changed all 7 unit types to uppercase (SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, |
| 121 | + YEAR) |
| 122 | + - Improved consistency with other enum patterns in the codebase |
| 123 | + - Enhanced code readability and standardization across all type definitions |
26 | 124 |
|
27 | 125 | ### Fixed |
28 | 126 |
|
29 | 127 | #### Adapters - StarRocks |
30 | 128 |
|
31 | 129 | - **Docstring Formatting** - Fixed docstring formatting in StarRocks session manager |
32 | | - - Corrected docstring formatting in `get_connection_args()` method |
33 | | - - Improved code documentation consistency |
| 130 | + - Corrected docstring formatting in `get_connection_args()` method |
| 131 | + - Improved code documentation consistency |
34 | 132 |
|
35 | 133 | ### Chore |
36 | 134 |
|
37 | 135 | #### Dependencies |
38 | 136 |
|
39 | 137 | - **Comprehensive Dependency Updates** - Updated multiple dependencies to latest versions |
40 | | - - Updated `cachetools` from `>=6.2.4` to `>=6.2.6` (cache, keycloak, minio, scylladb extras) |
41 | | - - Updated `cryptography` from `46.0.3` to `46.0.4` for enhanced security |
42 | | - - Updated `protobuf` from `>=6.33.4` to `>=6.33.5` (grpc extra) |
43 | | - - Updated `pyjwt` from `>=2.10.1` to `>=2.11.0` (jwt extra) |
44 | | - - Updated `python-keycloak` from `>=7.0.2` to `>=7.0.3` (keycloak extra) |
45 | | - - Updated `python-multipart` from `0.0.21` to `0.0.22` |
46 | | - - Updated `rich` from `14.3.0` to `14.3.1` |
47 | | - - Updated `rich-toolkit` from `0.17.1` to `0.17.2` |
48 | | - - Updated `sentry-sdk` from `>=2.50.0` to `>=2.51.0` (sentry extra) |
49 | | - - Updated `ty` from `>=0.0.13` to `>=0.0.14` (dev dependency) |
50 | | - - Updated `mkdocstrings` from `>=1.0.1` to `>=1.0.2` (docs dependency) |
51 | | - - Updated `pathspec` from `1.0.3` to `1.0.4` |
52 | | - - Updated `orjson` from `3.11.5` to `3.11.6` |
| 138 | + - Updated `cachetools` from `>=6.2.4` to `>=6.2.6` (cache, keycloak, minio, scylladb extras) |
| 139 | + - Updated `cryptography` from `46.0.3` to `46.0.4` for enhanced security |
| 140 | + - Updated `protobuf` from `>=6.33.4` to `>=6.33.5` (grpc extra) |
| 141 | + - Updated `pyjwt` from `>=2.10.1` to `>=2.11.0` (jwt extra) |
| 142 | + - Updated `python-keycloak` from `>=7.0.2` to `>=7.0.3` (keycloak extra) |
| 143 | + - Updated `python-multipart` from `0.0.21` to `0.0.22` |
| 144 | + - Updated `rich` from `14.3.0` to `14.3.1` |
| 145 | + - Updated `rich-toolkit` from `0.17.1` to `0.17.2` |
| 146 | + - Updated `sentry-sdk` from `>=2.50.0` to `>=2.51.0` (sentry extra) |
| 147 | + - Updated `ty` from `>=0.0.13` to `>=0.0.14` (dev dependency) |
| 148 | + - Updated `mkdocstrings` from `>=1.0.1` to `>=1.0.2` (docs dependency) |
| 149 | + - Updated `pathspec` from `1.0.3` to `1.0.4` |
| 150 | + - Updated `orjson` from `3.11.5` to `3.11.6` |
53 | 151 |
|
54 | 152 | ## [v4.0.3] - 2026-01-24 |
55 | 153 |
|
|
0 commit comments