Skip to content

Commit 60dfba9

Browse files
update changelogs
1 parent efea247 commit 60dfba9

1 file changed

Lines changed: 84 additions & 67 deletions

File tree

docs/changelog.md

Lines changed: 84 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,38 @@
22

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

5+
## [0.13.5] - 2025-04-16
56

7+
### Fixed
8+
9+
#### SQLAlchemy
610

11+
- Resolved sorting functionality in SQLAlchemy mixin
12+
- Enhanced query sorting capabilities with improved error handling
713

814
## [0.13.4] - 2025-04-15
915

1016
### Added
1117

1218
#### FastAPI Integration
19+
1320
- Implemented lifespan support for FastAPI applications
1421
- Enhanced application lifecycle management with proper startup and shutdown handlers
1522

1623
#### Database Configuration
24+
1725
- Added automatic database URL generation with validation in SqlAlchemyConfig
1826
- Improved database connection configuration with enhanced error handling
1927

2028
### Code Quality
29+
2130
- Integrated new features with comprehensive test coverage
2231
- Enhanced configuration validation and error reporting
2332

2433
### Changed
2534

2635
- Update changelogs
2736

28-
2937
### Fixed
3038

3139
#### Configs
@@ -38,20 +46,24 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
3846
### Added
3947

4048
#### CI/CD
49+
4150
- Implemented comprehensive linting workflow for improved code quality
4251
- Enhanced GitHub Actions with updated tj-actions/changed-files for better change tracking
4352

4453
#### Documentation
54+
4555
- Added detailed documentation for range DTOs and their usage patterns
4656
- Improved API reference documentation with new examples
4757

4858
### Changed
4959

5060
#### Models
61+
5162
- Enhanced range DTOs with improved type safety and validation
5263
- Updated range DTOs to support more flexible boundary conditions
5364

5465
### Code Quality
66+
5567
- Integrated automated linting for consistent code style
5668
- Improved code formatting and documentation standards
5769

@@ -93,17 +105,17 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
93105
### Features
94106

95107
- **MinIO Integration**: Full S3-compatible object storage adapter with:
96-
- Comprehensive S3 operation support (12 standardized methods)
97-
- Built-in TTL caching for performance optimization
98-
- Flexible configuration with endpoint and credential management
99-
- Clear cache management through `clear_all_caches`
108+
- Comprehensive S3 operation support (12 standardized methods)
109+
- Built-in TTL caching for performance optimization
110+
- Flexible configuration with endpoint and credential management
111+
- Clear cache management through `clear_all_caches`
100112

101113
### Testing
102114

103115
- Added complete BDD test suite for MinIO adapter:
104-
- Bucket and object operation validation
105-
- Presigned URL generation testing
106-
- Bucket policy management verification
116+
- Bucket and object operation validation
117+
- Presigned URL generation testing
118+
- Bucket policy management verification
107119

108120
### Documentation
109121

@@ -116,6 +128,7 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
116128
```python
117129
# Initialize the MinIO adapter
118130
from archipy.adapters.minio.adapters import MinioAdapter
131+
119132
minio = MinioAdapter()
120133

121134
# Create a bucket and upload a file
@@ -131,11 +144,11 @@ download_url = minio.presigned_get_object("my-bucket", "document.pdf", expires=3
131144
### Features
132145

133146
- **Keycloak Integration**: Comprehensive authentication and authorization for FastAPI:
134-
- Role-based access control with customizable requirements
135-
- Resource-based authorization for fine-grained access control
136-
- Both synchronous and asynchronous authentication flows
137-
- Token validation and introspection
138-
- User info extraction capabilities
147+
- Role-based access control with customizable requirements
148+
- Resource-based authorization for fine-grained access control
149+
- Both synchronous and asynchronous authentication flows
150+
- Token validation and introspection
151+
- User info extraction capabilities
139152

140153
### Code Quality
141154

@@ -151,6 +164,7 @@ from archipy.helpers.utils.keycloak_utils import KeycloakUtils
151164

152165
app = FastAPI()
153166

167+
154168
@app.get("/api/profile")
155169
def get_profile(user: dict = Depends(KeycloakUtils.fastapi_auth(
156170
required_roles={"user"},
@@ -183,10 +197,10 @@ def get_profile(user: dict = Depends(KeycloakUtils.fastapi_auth(
183197
### Features
184198

185199
- **Keycloak Adapter**: New authentication and authorization system:
186-
- Asynchronous operations support
187-
- Token management and validation
188-
- User information retrieval
189-
- Comprehensive security features
200+
- Asynchronous operations support
201+
- Token management and validation
202+
- User information retrieval
203+
- Comprehensive security features
190204

191205
### Performance
192206

@@ -237,16 +251,16 @@ is_valid = keycloak.validate_token(token)
237251
### Features
238252

239253
- **Redis Integration**: New caching and key-value storage system:
240-
- Flexible key-value operations
241-
- Built-in TTL support
242-
- Connection pooling
243-
- Comprehensive error handling
254+
- Flexible key-value operations
255+
- Built-in TTL support
256+
- Connection pooling
257+
- Comprehensive error handling
244258

245259
- **Email Service**: New email integration system:
246-
- Multiple email provider support
247-
- Template-based email sending
248-
- Attachment handling
249-
- Async operation support
260+
- Multiple email provider support
261+
- Template-based email sending
262+
- Attachment handling
263+
- Async operation support
250264

251265
### Configuration
252266

@@ -259,6 +273,7 @@ is_valid = keycloak.validate_token(token)
259273
```python
260274
# Initialize the Redis adapter
261275
from archipy.adapters.redis.adapters import RedisAdapter
276+
262277
redis = RedisAdapter()
263278

264279
# Basic operations
@@ -274,15 +289,15 @@ redis.set("session:token", "abc123", ttl=3600) # Expires in 1 hour
274289
### Security
275290

276291
- **TOTP System**: Comprehensive Time-based One-Time Password implementation:
277-
- Secure token generation and validation
278-
- Configurable time windows
279-
- Built-in expiration handling
280-
- RFC compliance
292+
- Secure token generation and validation
293+
- Configurable time windows
294+
- Built-in expiration handling
295+
- RFC compliance
281296

282297
- **Multi-Factor Authentication**: Enhanced security framework:
283-
- Multiple authentication factor support
284-
- Flexible factor configuration
285-
- Integration with existing auth systems
298+
- Multiple authentication factor support
299+
- Flexible factor configuration
300+
- Integration with existing auth systems
286301

287302
### Usage Example
288303

@@ -306,17 +321,17 @@ secret_key = TOTPUtils.generate_secret_key_for_totp()
306321
### Features
307322

308323
- **Redis Integration**: Comprehensive key-value store and caching system:
309-
- Full Redis API implementation
310-
- Built-in caching functionality
311-
- Performance-optimized operations
312-
- Connection pooling support
324+
- Full Redis API implementation
325+
- Built-in caching functionality
326+
- Performance-optimized operations
327+
- Connection pooling support
313328

314329
### Testing
315330

316331
- **Mock Redis Implementation**:
317-
- Complete test coverage for Redis operations
318-
- Simulated Redis environment for testing
319-
- Configurable mock behaviors
332+
- Complete test coverage for Redis operations
333+
- Simulated Redis environment for testing
334+
- Configurable mock behaviors
320335

321336
### Documentation
322337

@@ -347,10 +362,10 @@ secret_key = TOTPUtils.generate_secret_key_for_totp()
347362
### Features
348363

349364
- **SQLAlchemy Integration**: Complete ORM implementation:
350-
- Robust entity model system
351-
- Transaction management with ACID compliance
352-
- Connection pooling with configurable settings
353-
- Comprehensive database operations support
365+
- Robust entity model system
366+
- Transaction management with ACID compliance
367+
- Connection pooling with configurable settings
368+
- Comprehensive database operations support
354369

355370
### Usage Example
356371

@@ -359,12 +374,14 @@ from archipy.adapters.orm.sqlalchemy.adapters import SQLAlchemyAdapter
359374
from archipy.models.entities.sqlalchemy.base_entities import BaseEntity
360375
from sqlalchemy import Column, String
361376

377+
362378
# Define a model
363379
class User(BaseEntity):
364380
__tablename__ = "users"
365381
name = Column(String(100))
366382
email = Column(String(100), unique=True)
367383

384+
368385
# Use the ORM
369386
orm = SQLAlchemyAdapter()
370387
with orm.session() as session:
@@ -390,10 +407,10 @@ with orm.session() as session:
390407
### Features
391408

392409
- **gRPC Integration**: Comprehensive interceptor system:
393-
- Client and server-side interceptors
394-
- Request/response monitoring
395-
- Performance tracing capabilities
396-
- Enhanced error management
410+
- Client and server-side interceptors
411+
- Request/response monitoring
412+
- Performance tracing capabilities
413+
- Enhanced error management
397414

398415
### Documentation
399416

@@ -415,10 +432,10 @@ with orm.session() as session:
415432
### Features
416433

417434
- **FastAPI Integration**: Complete web framework support:
418-
- Custom middleware components
419-
- Request/response processors
420-
- Standardized error handling
421-
- Response formatting utilities
435+
- Custom middleware components
436+
- Request/response processors
437+
- Standardized error handling
438+
- Response formatting utilities
422439

423440
### Documentation
424441

@@ -431,10 +448,10 @@ with orm.session() as session:
431448
### Features
432449

433450
- **Configuration System**: Flexible environment management:
434-
- Environment variable support
435-
- Type-safe configuration validation
436-
- Default value management
437-
- Override capabilities
451+
- Environment variable support
452+
- Type-safe configuration validation
453+
- Default value management
454+
- Override capabilities
438455

439456
### Documentation
440457

@@ -447,10 +464,10 @@ with orm.session() as session:
447464
### Features
448465

449466
- **Core Utilities**: Comprehensive helper functions:
450-
- Date/time manipulation with timezone support
451-
- String processing and formatting
452-
- Common development utilities
453-
- Type conversion helpers
467+
- Date/time manipulation with timezone support
468+
- String processing and formatting
469+
- Common development utilities
470+
- Type conversion helpers
454471

455472
### Documentation
456473

@@ -463,10 +480,10 @@ with orm.session() as session:
463480
### Architecture
464481

465482
- **Hexagonal Architecture**: Core implementation:
466-
- Ports and adapters pattern
467-
- Clean architecture principles
468-
- Domain-driven design
469-
- Base entity models
483+
- Ports and adapters pattern
484+
- Clean architecture principles
485+
- Domain-driven design
486+
- Base entity models
470487

471488
### Documentation
472489

@@ -479,10 +496,10 @@ with orm.session() as session:
479496
### Features
480497

481498
- **Initial Release**: Project foundation:
482-
- Core project structure
483-
- Basic framework components
484-
- Configuration system
485-
- CI/CD pipeline with GitHub Actions
499+
- Core project structure
500+
- Basic framework components
501+
- Configuration system
502+
- CI/CD pipeline with GitHub Actions
486503

487504
### Documentation
488505

0 commit comments

Comments
 (0)