Skip to content

Commit b3ccc6a

Browse files
chore: release notes for ArchiPy 4.11.0
1 parent ab341ec commit b3ccc6a

5 files changed

Lines changed: 81 additions & 10 deletions

File tree

archipy/__init__.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +0,0 @@
1-
"""ArchiPy - Architecture + Python framework for structured design."""
2-
3-
from importlib.metadata import PackageNotFoundError, version
4-
5-
try:
6-
__version__ = version("archipy")
7-
except PackageNotFoundError:
8-
__version__ = "0.0.0"

docs/community/changelog/4/4.10.2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: "Release notes for ArchiPy 4.10.2"
55

66
# 4.10.2 — 2026-06-15
77

8-
[← 4.10.1](4.10.1.md) | [↑ 4.x series](index.md)
8+
[← 4.11.0](4.11.0.md) | [4.10.1](4.10.1.md) | [↑ 4.x series](index.md)
99

1010
## Changed
1111

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: "Changelog 4.11.0"
3+
description: "Release notes for ArchiPy 4.11.0"
4+
---
5+
6+
# 4.11.0 — 2026-06-18
7+
8+
[← 4.10.2](4.10.2.md) | [↑ 4.x series](index.md)
9+
10+
## Added
11+
12+
### Adapters - MinIO
13+
14+
- **Stream Upload and Download** - Added `put_object_stream` and `get_object_stream` to `MinioPort` and
15+
`MinioAdapter` for in-memory and binary-stream object I/O without temporary files.
16+
- `put_object_stream` accepts `bytes | BinaryIO`, optional `length`, and `content_type`, and clears the
17+
`list_objects` cache after upload.
18+
- `get_object_stream` returns the full object body as `bytes`.
19+
20+
### Models - Internet Payment Gateways
21+
22+
- **Parsian and Saman IPG DTOs** - Extracted payment gateway request/response models into the domain layer.
23+
- Added `archipy/models/dtos/parsian_ipg_dtos.py` with payment, confirm, confirm-with-amount, and reverse DTOs.
24+
- Added `archipy/models/dtos/saman_ipg_dtos.py` with payment, verify, and reverse DTOs (including
25+
`PaymentResponseDTO` status validation).
26+
27+
## Changed
28+
29+
### Adapters - Internet Payment Gateways
30+
31+
- **DTO Import Refactor** - Parsian and Saman Shaparak ports, adapters, and package `__init__` modules now import
32+
DTOs from `archipy.models.dtos` instead of defining them inline in `ports.py`.
33+
34+
### Chore - Tooling
35+
36+
- **Ruff Source Paths** - Removed unused `[tool.pytest.ini_options]` from `pyproject.toml`, narrowed Ruff `src` to
37+
`archipy` and `features`, and updated per-file ignores for the `base/sqlalchemy` adapter path.
38+
- **CI Lint Scope** - Ruff check and format workflows now include `features/steps` and `scripts` alongside `archipy`.
39+
40+
## Tests
41+
42+
### Tests - MinIO Adapter
43+
44+
- **Stream Upload Scenarios** - Extended `features/minio_adapter.feature` with outline scenarios for bytes and
45+
`BinaryIO` uploads followed by streaming download verification.
46+
- **Flexible Upload Steps** - Refactored MinIO step definitions to support stream-based uploads via
47+
`put_object_stream`.
48+
49+
### Tests - FastAPI MinIO Upload
50+
51+
- **Large File End-to-End Uploads** - Added `features/fastapi_minio_upload.feature` and step implementations covering
52+
50 MB, 75 MB, and 100 MB multipart uploads through a FastAPI endpoint backed by `put_object_stream`.
53+
54+
## Chore
55+
56+
### Test Containers
57+
58+
- **Image Pin Updates** - Bumped test container images in `.env.test`.
59+
- Temporal: `temporalio/temporal:1.5.1``temporalio/temporal:1.7.2`
60+
- Redis: `redis:8.6.3-alpine``redis:8.6.4-alpine`
61+
- Keycloak: `keycloak/keycloak:26.6.2``keycloak/keycloak:26.6.3`
62+
- ScyllaDB: `scylladb/scylla:2026.1.2``scylladb/scylla:2026.1.5`
63+
64+
## Dependencies
65+
66+
- **Optional extras** - Updated optional adapter and dev dependencies.
67+
- `fakeredis`: `fakeredis>=2.36.1``fakeredis>=2.36.2`
68+
- `fastapi`: `fastapi[all]>=0.137.0``fastapi[all]>=0.137.2`
69+
- `minio`: `boto3>=1.43.29``boto3>=1.43.32`
70+
- `scylladb`: `scylla-driver>=3.29.10``scylla-driver>=3.29.11`
71+
- `sentry`: `sentry-sdk>=2.62.0``sentry-sdk>=2.63.0`
72+
- `sqlalchemy` / `sqlalchemy-async`: `sqlalchemy>=2.0.50``sqlalchemy>=2.0.51`
73+
- **Dev group** - Updated development tooling pins.
74+
- `boto3-stubs`: `boto3-stubs>=1.43.14``boto3-stubs>=1.43.32`
75+
- `ruff`: `ruff>=0.15.14``ruff>=0.15.17`
76+
- `ty`: `ty>=0.0.39``ty>=0.0.50`
77+
- `types-grpcio`: `types-grpcio>=1.0.0.20260518``types-grpcio>=1.0.0.20260614`
78+
- `mkdocstrings-python`: `mkdocstrings-python>=2.0.3``mkdocstrings-python>=2.0.4`

docs/community/changelog/4/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ description: "Release history for ArchiPy 4.x series"
99

1010
| Version | Date | Summary |
1111
|---------------------|------------|-------------------------------------------------------------------------------------------------|
12+
| [4.11.0](4.11.0.md) | 2026-06-18 | MinIO stream upload/download APIs, IPG DTO extraction, and FastAPI large-file upload tests |
1213
| [4.10.2](4.10.2.md) | 2026-06-15 | httpx2 HTTP client migration, gRPC/app-utils fixes, and dependency updates |
1314
| [4.10.1](4.10.1.md) | 2026-05-31 | FastAPI APM middleware ordering fix, Redis type-hint refactor, and dependency updates |
1415
| [4.10.0](4.10.0.md) | 2026-05-18 | Batch UMA permission checks for Keycloak, shared adapter instances, and auth pipeline refactor |

docs/community/changelog/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ All notable changes to ArchiPy are documented here, organized by major version s
99

1010
## [4.x Series](4/index.md)
1111

12-
29 releases — from 4.0.0 to 4.10.2
12+
30 releases — from 4.0.0 to 4.11.0
1313

1414
## [3.x Series](3/index.md)
1515

0 commit comments

Comments
 (0)