Skip to content

Commit 560e7e3

Browse files
docs: restructure changelog organization and update navigation
- Replace the single changelog file with a structured directory for versioned changelogs. - Introduce separate index files for each version series (0.x, 1.x, 2.x, 3.x, 4.x) for better navigation. - Update `mkdocs.yml` to reflect the new changelog structure and improve clarity in documentation navigation.
1 parent 4006772 commit 560e7e3

112 files changed

Lines changed: 3950 additions & 3152 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/community/changelog.md

Lines changed: 0 additions & 3146 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
title: "Changelog 0.1.0"
3+
description: "Release notes for ArchiPy 0.1.0"
4+
---
5+
6+
# 0.1.0 — 2025-02-21
7+
8+
[← 0.2.0](0.2.0.md) | [↑ 0.x series](index.md)
9+
10+
## Features
11+
12+
- **Initial Release**: Project foundation:
13+
- Core project structure
14+
- Basic framework components
15+
- Configuration system
16+
- CI/CD pipeline with GitHub Actions
17+
18+
## Documentation
19+
20+
- Added initial documentation
21+
- Included getting started guide
22+
- Created contribution guidelines
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: "Changelog 0.10.0"
3+
description: "Release notes for ArchiPy 0.10.0"
4+
---
5+
6+
# 0.10.0 — 2025-02-25
7+
8+
[← 0.10.1](0.10.1.md) | [0.9.0 →](0.9.0.md) | [↑ 0.x series](index.md)
9+
10+
## Features
11+
12+
- **Redis Integration**: New caching and key-value storage system:
13+
- Flexible key-value operations
14+
- Built-in TTL support
15+
- Connection pooling
16+
- Comprehensive error handling
17+
18+
- **Email Service**: New email integration system:
19+
- Multiple email provider support
20+
- Template-based email sending
21+
- Attachment handling
22+
- Async operation support
23+
24+
## Configuration
25+
26+
- Enhanced configuration management system
27+
- Added support for Redis and email settings
28+
- Improved environment variable handling
29+
30+
## Usage Example
31+
32+
```python
33+
# Initialize the Redis adapter
34+
from archipy.adapters.redis.adapters import RedisAdapter
35+
36+
redis = RedisAdapter()
37+
38+
# Basic operations
39+
redis.set("user:1:name", "John Doe")
40+
name = redis.get("user:1:name")
41+
42+
# Using with TTL
43+
redis.set("session:token", "abc123", ttl=3600) # Expires in 1 hour
44+
```
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: "Changelog 0.10.1"
3+
description: "Release notes for ArchiPy 0.10.1"
4+
---
5+
6+
# 0.10.1 — 2025-03-01
7+
8+
[← 0.10.2](0.10.2.md) | [0.10.0 →](0.10.0.md) | [↑ 0.x series](index.md)
9+
10+
## Documentation
11+
12+
- Enhanced Redis and email adapter documentation
13+
- Added comprehensive API reference
14+
- Improved usage examples for common operations
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: "Changelog 0.10.2"
3+
description: "Release notes for ArchiPy 0.10.2"
4+
---
5+
6+
# 0.10.2 — 2025-03-05
7+
8+
[← 0.11.0](0.11.0.md) | [0.10.1 →](0.10.1.md) | [↑ 0.x series](index.md)
9+
10+
## Stability
11+
12+
- Improved Redis connection pool stability and management
13+
- Enhanced error recovery mechanisms
14+
- Fixed various edge cases in Redis operations
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: "Changelog 0.11.0"
3+
description: "Release notes for ArchiPy 0.11.0"
4+
---
5+
6+
# 0.11.0 — 2025-03-10
7+
8+
[← 0.11.1](0.11.1.md) | [0.10.2 →](0.10.2.md) | [↑ 0.x series](index.md)
9+
10+
## Features
11+
12+
- **Keycloak Adapter**: New authentication and authorization system:
13+
- Asynchronous operations support
14+
- Token management and validation
15+
- User information retrieval
16+
- Comprehensive security features
17+
18+
## Performance
19+
20+
- Added TTL cache decorator for optimized performance
21+
- Improved Keycloak adapter efficiency
22+
23+
## Documentation
24+
25+
- Added detailed Keycloak integration guides
26+
- Included comprehensive usage examples
27+
28+
## Usage Example
29+
30+
```python
31+
from archipy.adapters.keycloak.adapters import KeycloakAdapter
32+
33+
# Initialize adapter with configuration from global config
34+
keycloak = KeycloakAdapter()
35+
36+
# Authenticate and get access token
37+
token = keycloak.get_token("username", "password")
38+
39+
# Get user information
40+
user_info = keycloak.get_userinfo(token)
41+
42+
# Verify token validity
43+
is_valid = keycloak.validate_token(token)
44+
```
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: "Changelog 0.11.1"
3+
description: "Release notes for ArchiPy 0.11.1"
4+
---
5+
6+
# 0.11.1 — 2025-03-15
7+
8+
[← 0.11.2](0.11.2.md) | [0.11.0 →](0.11.0.md) | [↑ 0.x series](index.md)
9+
10+
## Performance
11+
12+
- Optimized resource usage across core components
13+
- Enhanced caching mechanisms for improved performance
14+
- Improved memory utilization in key operations
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: "Changelog 0.11.2"
3+
description: "Release notes for ArchiPy 0.11.2"
4+
---
5+
6+
# 0.11.2 — 2025-03-21
7+
8+
[← 0.12.0](0.12.0.md) | [0.11.1 →](0.11.1.md) | [↑ 0.x series](index.md)
9+
10+
## Error Handling
11+
12+
- Enhanced exception management with improved error reporting
13+
- Streamlined error messaging for better debugging
14+
- Fixed various error handling edge cases
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: "Changelog 0.12.0"
3+
description: "Release notes for ArchiPy 0.12.0"
4+
---
5+
6+
# 0.12.0 — 2025-03-29
7+
8+
[← 0.13.0](0.13.0.md) | [0.11.2 →](0.11.2.md) | [↑ 0.x series](index.md)
9+
10+
## Features
11+
12+
- **Keycloak Integration**: Comprehensive authentication and authorization for FastAPI:
13+
- Role-based access control with customizable requirements
14+
- Resource-based authorization for fine-grained access control
15+
- Both synchronous and asynchronous authentication flows
16+
- Token validation and introspection
17+
- User info extraction capabilities
18+
19+
## Code Quality
20+
21+
- Improved error handling clarity by renaming `ExceptionMessageType` to `ErrorMessageType`
22+
- Enhanced error documentation with detailed descriptions
23+
- Updated error handling implementation with new message types
24+
25+
## Usage Example
26+
27+
```python
28+
from fastapi import FastAPI, Depends
29+
from archipy.helpers.utils.keycloak_utils import KeycloakUtils
30+
31+
app = FastAPI()
32+
33+
34+
@app.get("/api/profile")
35+
def get_profile(user: dict = Depends(KeycloakUtils.fastapi_auth(
36+
required_roles={"user"},
37+
admin_roles={"admin"}
38+
))):
39+
return {
40+
"user_id": user.get("sub"),
41+
"username": user.get("preferred_username")
42+
}
43+
```
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: "Changelog 0.13.0"
3+
description: "Release notes for ArchiPy 0.13.0"
4+
---
5+
6+
# 0.13.0 — 2025-04-08
7+
8+
[← 0.13.1](0.13.1.md) | [0.12.0 →](0.12.0.md) | [↑ 0.x series](index.md)
9+
10+
## Features
11+
12+
- **MinIO Integration**: Full S3-compatible object storage adapter with:
13+
- Comprehensive S3 operation support (12 standardized methods)
14+
- Built-in TTL caching for performance optimization
15+
- Flexible configuration with endpoint and credential management
16+
- Clear cache management through `clear_all_caches`
17+
18+
## Testing
19+
20+
- Added complete BDD test suite for MinIO adapter:
21+
- Bucket and object operation validation
22+
- Presigned URL generation testing
23+
- Bucket policy management verification
24+
25+
## Documentation
26+
27+
- Added extensive MinIO adapter examples and usage guides
28+
- Improved error handling documentation
29+
- Updated configuration documentation with new MinIO settings
30+
31+
## Usage Example
32+
33+
```python
34+
# Initialize the MinIO adapter
35+
from archipy.adapters.minio.adapters import MinioAdapter
36+
37+
minio = MinioAdapter()
38+
39+
# Create a bucket and upload a file
40+
minio.make_bucket("my-bucket")
41+
minio.put_object("my-bucket", "document.pdf", "/path/to/document.pdf")
42+
43+
# Generate a presigned URL for temporary access
44+
download_url = minio.presigned_get_object("my-bucket", "document.pdf", expires=3600)
45+
```

0 commit comments

Comments
 (0)