22
33All notable changes to ArchiPy are documented in this changelog, organized by version.
44
5+ ## [ 0.14.0] - 2025-04-16
6+
7+ ### Added
8+
9+ #### Kafka Integration
10+ - Implemented comprehensive Kafka adapter system with ports and adapters
11+ - Added test suite for Kafka adapters
12+ - Enhanced Kafka documentation with detailed usage examples
13+
14+ #### Documentation
15+ - Refactored and improved documentation structure
16+ - Added comprehensive Kafka integration guides
17+ - Enhanced docstrings for better code understanding
18+
19+ ### Fixed
20+
21+ #### Code Quality
22+ - Resolved linting issues in configuration templates
23+ - Fixed lint errors in Keycloak adapters and ports
24+
525## [ 0.13.5] - 2025-04-16
626
727### Fixed
828
929#### SQLAlchemy
10-
1130- Resolved sorting functionality in SQLAlchemy mixin
1231- Enhanced query sorting capabilities with improved error handling
1332
33+ #### Code Quality
34+ - Applied ruff formatter to config_template.py for consistent code style
35+ - Updated AsyncContextManager to AbstractAsyncContextManager to resolve UP035 lint error
36+
1437## [ 0.13.4] - 2025-04-15
1538
1639### Added
1740
1841#### FastAPI Integration
19-
2042- Implemented lifespan support for FastAPI applications
2143- Enhanced application lifecycle management with proper startup and shutdown handlers
2244
2345#### Database Configuration
24-
2546- Added automatic database URL generation with validation in SqlAlchemyConfig
2647- Improved database connection configuration with enhanced error handling
2748
2849### Code Quality
29-
3050- Integrated new features with comprehensive test coverage
3151- Enhanced configuration validation and error reporting
3252
3353### Changed
3454
3555- Update changelogs
3656
57+
3758### Fixed
3859
3960#### Configs
@@ -46,24 +67,20 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
4667### Added
4768
4869#### CI/CD
49-
5070- Implemented comprehensive linting workflow for improved code quality
5171- Enhanced GitHub Actions with updated tj-actions/changed-files for better change tracking
5272
5373#### Documentation
54-
5574- Added detailed documentation for range DTOs and their usage patterns
5675- Improved API reference documentation with new examples
5776
5877### Changed
5978
6079#### Models
61-
6280- Enhanced range DTOs with improved type safety and validation
6381- Updated range DTOs to support more flexible boundary conditions
6482
6583### Code Quality
66-
6784- Integrated automated linting for consistent code style
6885- Improved code formatting and documentation standards
6986
@@ -105,17 +122,17 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
105122### Features
106123
107124- ** MinIO Integration** : Full S3-compatible object storage adapter with:
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 `
125+ - Comprehensive S3 operation support (12 standardized methods)
126+ - Built-in TTL caching for performance optimization
127+ - Flexible configuration with endpoint and credential management
128+ - Clear cache management through ` clear_all_caches `
112129
113130### Testing
114131
115132- Added complete BDD test suite for MinIO adapter:
116- - Bucket and object operation validation
117- - Presigned URL generation testing
118- - Bucket policy management verification
133+ - Bucket and object operation validation
134+ - Presigned URL generation testing
135+ - Bucket policy management verification
119136
120137### Documentation
121138
@@ -128,7 +145,6 @@ All notable changes to ArchiPy are documented in this changelog, organized by ve
128145``` python
129146# Initialize the MinIO adapter
130147from archipy.adapters.minio.adapters import MinioAdapter
131-
132148minio = MinioAdapter()
133149
134150# Create a bucket and upload a file
@@ -144,11 +160,11 @@ download_url = minio.presigned_get_object("my-bucket", "document.pdf", expires=3
144160### Features
145161
146162- ** Keycloak Integration** : Comprehensive authentication and authorization for FastAPI:
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
163+ - Role-based access control with customizable requirements
164+ - Resource-based authorization for fine-grained access control
165+ - Both synchronous and asynchronous authentication flows
166+ - Token validation and introspection
167+ - User info extraction capabilities
152168
153169### Code Quality
154170
@@ -164,7 +180,6 @@ from archipy.helpers.utils.keycloak_utils import KeycloakUtils
164180
165181app = FastAPI()
166182
167-
168183@app.get (" /api/profile" )
169184def get_profile (user : dict = Depends(KeycloakUtils.fastapi_auth(
170185 required_roles = {" user" },
@@ -197,10 +212,10 @@ def get_profile(user: dict = Depends(KeycloakUtils.fastapi_auth(
197212### Features
198213
199214- ** Keycloak Adapter** : New authentication and authorization system:
200- - Asynchronous operations support
201- - Token management and validation
202- - User information retrieval
203- - Comprehensive security features
215+ - Asynchronous operations support
216+ - Token management and validation
217+ - User information retrieval
218+ - Comprehensive security features
204219
205220### Performance
206221
@@ -251,16 +266,16 @@ is_valid = keycloak.validate_token(token)
251266### Features
252267
253268- ** Redis Integration** : New caching and key-value storage system:
254- - Flexible key-value operations
255- - Built-in TTL support
256- - Connection pooling
257- - Comprehensive error handling
269+ - Flexible key-value operations
270+ - Built-in TTL support
271+ - Connection pooling
272+ - Comprehensive error handling
258273
259274- ** Email Service** : New email integration system:
260- - Multiple email provider support
261- - Template-based email sending
262- - Attachment handling
263- - Async operation support
275+ - Multiple email provider support
276+ - Template-based email sending
277+ - Attachment handling
278+ - Async operation support
264279
265280### Configuration
266281
@@ -273,7 +288,6 @@ is_valid = keycloak.validate_token(token)
273288``` python
274289# Initialize the Redis adapter
275290from archipy.adapters.redis.adapters import RedisAdapter
276-
277291redis = RedisAdapter()
278292
279293# Basic operations
@@ -289,15 +303,15 @@ redis.set("session:token", "abc123", ttl=3600) # Expires in 1 hour
289303### Security
290304
291305- ** TOTP System** : Comprehensive Time-based One-Time Password implementation:
292- - Secure token generation and validation
293- - Configurable time windows
294- - Built-in expiration handling
295- - RFC compliance
306+ - Secure token generation and validation
307+ - Configurable time windows
308+ - Built-in expiration handling
309+ - RFC compliance
296310
297311- ** Multi-Factor Authentication** : Enhanced security framework:
298- - Multiple authentication factor support
299- - Flexible factor configuration
300- - Integration with existing auth systems
312+ - Multiple authentication factor support
313+ - Flexible factor configuration
314+ - Integration with existing auth systems
301315
302316### Usage Example
303317
@@ -321,17 +335,17 @@ secret_key = TOTPUtils.generate_secret_key_for_totp()
321335### Features
322336
323337- ** Redis Integration** : Comprehensive key-value store and caching system:
324- - Full Redis API implementation
325- - Built-in caching functionality
326- - Performance-optimized operations
327- - Connection pooling support
338+ - Full Redis API implementation
339+ - Built-in caching functionality
340+ - Performance-optimized operations
341+ - Connection pooling support
328342
329343### Testing
330344
331345- ** Mock Redis Implementation** :
332- - Complete test coverage for Redis operations
333- - Simulated Redis environment for testing
334- - Configurable mock behaviors
346+ - Complete test coverage for Redis operations
347+ - Simulated Redis environment for testing
348+ - Configurable mock behaviors
335349
336350### Documentation
337351
@@ -362,10 +376,10 @@ secret_key = TOTPUtils.generate_secret_key_for_totp()
362376### Features
363377
364378- ** SQLAlchemy Integration** : Complete ORM implementation:
365- - Robust entity model system
366- - Transaction management with ACID compliance
367- - Connection pooling with configurable settings
368- - Comprehensive database operations support
379+ - Robust entity model system
380+ - Transaction management with ACID compliance
381+ - Connection pooling with configurable settings
382+ - Comprehensive database operations support
369383
370384### Usage Example
371385
@@ -374,14 +388,12 @@ from archipy.adapters.orm.sqlalchemy.adapters import SQLAlchemyAdapter
374388from archipy.models.entities.sqlalchemy.base_entities import BaseEntity
375389from sqlalchemy import Column, String
376390
377-
378391# Define a model
379392class User (BaseEntity ):
380393 __tablename__ = " users"
381394 name = Column(String(100 ))
382395 email = Column(String(100 ), unique = True )
383396
384-
385397# Use the ORM
386398orm = SQLAlchemyAdapter()
387399with orm.session() as session:
@@ -407,10 +419,10 @@ with orm.session() as session:
407419### Features
408420
409421- ** gRPC Integration** : Comprehensive interceptor system:
410- - Client and server-side interceptors
411- - Request/response monitoring
412- - Performance tracing capabilities
413- - Enhanced error management
422+ - Client and server-side interceptors
423+ - Request/response monitoring
424+ - Performance tracing capabilities
425+ - Enhanced error management
414426
415427### Documentation
416428
@@ -432,10 +444,10 @@ with orm.session() as session:
432444### Features
433445
434446- ** FastAPI Integration** : Complete web framework support:
435- - Custom middleware components
436- - Request/response processors
437- - Standardized error handling
438- - Response formatting utilities
447+ - Custom middleware components
448+ - Request/response processors
449+ - Standardized error handling
450+ - Response formatting utilities
439451
440452### Documentation
441453
@@ -448,10 +460,10 @@ with orm.session() as session:
448460### Features
449461
450462- ** Configuration System** : Flexible environment management:
451- - Environment variable support
452- - Type-safe configuration validation
453- - Default value management
454- - Override capabilities
463+ - Environment variable support
464+ - Type-safe configuration validation
465+ - Default value management
466+ - Override capabilities
455467
456468### Documentation
457469
@@ -464,10 +476,10 @@ with orm.session() as session:
464476### Features
465477
466478- ** Core Utilities** : Comprehensive helper functions:
467- - Date/time manipulation with timezone support
468- - String processing and formatting
469- - Common development utilities
470- - Type conversion helpers
479+ - Date/time manipulation with timezone support
480+ - String processing and formatting
481+ - Common development utilities
482+ - Type conversion helpers
471483
472484### Documentation
473485
@@ -480,10 +492,10 @@ with orm.session() as session:
480492### Architecture
481493
482494- ** Hexagonal Architecture** : Core implementation:
483- - Ports and adapters pattern
484- - Clean architecture principles
485- - Domain-driven design
486- - Base entity models
495+ - Ports and adapters pattern
496+ - Clean architecture principles
497+ - Domain-driven design
498+ - Base entity models
487499
488500### Documentation
489501
@@ -496,10 +508,10 @@ with orm.session() as session:
496508### Features
497509
498510- ** Initial Release** : Project foundation:
499- - Core project structure
500- - Basic framework components
501- - Configuration system
502- - CI/CD pipeline with GitHub Actions
511+ - Core project structure
512+ - Basic framework components
513+ - Configuration system
514+ - CI/CD pipeline with GitHub Actions
503515
504516### Documentation
505517
0 commit comments