Skip to content

Commit da57762

Browse files
chore: sync dependency constraints with uv.lock and update changelog for v4.0.0
1 parent 5aa46a2 commit da57762

4 files changed

Lines changed: 55 additions & 20 deletions

File tree

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ update-all: ## Aggressively update all dependencies to latest versions
5252
@echo "${YELLOW}Note: This updates uv.lock; to change pyproject.toml constraints, edit manually${NC}"
5353
$(UV) self update
5454
$(UV) python upgrade
55+
$(UV) python update-shell
5556
$(UV) lock --upgrade
5657
$(UV) sync --all-extras --all-groups --upgrade
5758

docs/changelog.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
All notable changes to ArchiPy are documented in this changelog, organized by version.
44

5+
## [v4.0.0] - 2025-12-08
6+
7+
### Changed
8+
9+
#### Models - Errors
10+
11+
- **Error System Migration to T-Strings** - Refactored error system to use t-string template formatting with inline context variables
12+
- Removed `ErrorDetailDTO` and `ErrorMessageType` dependencies
13+
- Added class attributes (`code`, `message_en`, `message_fa`, `http_status`, `grpc_status`) to `BaseError`
14+
- Implemented t-string template formatting with context variables in error messages
15+
- Override `get_message()` in error classes with explicit variable passing
16+
- Applied Persian number conversion for FA language messages
17+
- Removed deprecated `http_status_code_value` and `grpc_status_code_value` properties
18+
- Removed `_get_grpc_status_code` method, use `_convert_int_to_grpc_status` directly
19+
- Updated all error classes (validation, auth, resource, database, business, network, system, keycloak, temporal)
20+
- Updated FastAPI integration, adapters, and utilities
21+
- Fixed MyPy type errors in `BaseError.to_dict()` and gRPC metadata handling
22+
23+
### Tests
24+
25+
- **Comprehensive Error Handling Tests** - Added comprehensive error handling tests for FastAPI and gRPC
26+
- Added BDD test scenarios for FastAPI error handling (`fastapi_error_handling.feature`)
27+
- Added BDD test scenarios for gRPC error handling (`grpc_error_handling.feature`)
28+
- Implemented test step definitions for error handling scenarios
29+
- Added test servers and utilities for FastAPI and gRPC error testing
30+
- Renamed "exception" to "error" in behave test files and features for consistency
31+
32+
### Chore
33+
34+
- **Python Version References** - Updated all Python version references to 3.14
35+
- Updated documentation and configuration files to reflect Python 3.14 requirement
36+
- Aligned version references across the codebase
37+
538
## [v3.15.3] - 2025-12-02
639

740
### Changed

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ elastic-apm = ["elastic-apm>=6.24.1"]
2626
elasticsearch = ["elasticsearch>=9.2.0"]
2727
elasticsearch-async = ["elasticsearch[async]>=9.2.0"]
2828
fakeredis = ["fakeredis>=2.32.1"]
29-
fastapi = ["fastapi[all]>=0.123.3"]
29+
fastapi = ["fastapi[all]>=0.124.0"]
3030
grpc = ["grpcio>=1.76.0", "grpcio-health-checking>=1.76.0", "protobuf>=6.33.1"]
3131
jwt = ["pyjwt>=2.10.1"]
3232
kafka = ["confluent-kafka>=2.12.2"]
@@ -39,10 +39,10 @@ prometheus = ["prometheus-client>=0.23.1"]
3939
redis = ["redis[hiredis]>=7.1.0"]
4040
scheduler = ["apscheduler>=3.11.1"]
4141
scylladb = ["scylla-driver>=3.29.6", "lz4>=4.4.5", "cachetools>=6.2.2", "async-lru>=2.0.5"]
42-
sentry = ["sentry-sdk>=2.46.0"]
42+
sentry = ["sentry-sdk>=2.47.0"]
4343
sqlalchemy = ["sqlalchemy>=2.0.44"]
4444
starrocks = ["starrocks>=1.3.1", "pymysql>=1.1.2"]
45-
starrocks-async = ["starrocks>=1.2.3", "aiomysql>=0.3.2"]
45+
starrocks-async = ["starrocks>=1.3.1", "aiomysql>=0.3.2"]
4646
temporalio = ["temporalio>=1.20.0"]
4747
testcontainers = ["testcontainers>=4.13.3"]
4848

@@ -66,7 +66,7 @@ build-backend = "hatchling.build"
6666
dev = [
6767
"add-trailing-comma>=4.0.0",
6868
"bandit>=1.9.2",
69-
"black>=25.11.0",
69+
"black>=25.12.0",
7070
"codespell>=2.4.1",
7171
"mypy>=1.19.0",
7272
"pre-commit-hooks>=6.0.0",
@@ -87,7 +87,7 @@ docs = [
8787
"mkdocs>=1.6.1",
8888
"mkdocstrings-python>=2.0.0",
8989
"mkdocstrings>=1.0.0",
90-
"pymdown-extensions>=10.17.2",
90+
"pymdown-extensions>=10.18.0",
9191
]
9292

9393

uv.lock

Lines changed: 16 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)