Skip to content

Commit 3d8f4e9

Browse files
authored
chore: bump version to 2.3.1
* docs: comprehensive v2.3.0 changelog Document all major features added since v0.3.x: - Trust Badge API (verify_badge, parse_badge, request_badge) - RFC-003 PoP protocol support (request_pop_badge) - BadgeKeeper automatic renewal - Domain Validation API (create_dv_order, finalize_dv_order) - gRPC backend (CapiscioRPCClient) - CoreValidator for Go-backed validation - +12,568 lines added across 63 files * chore: bump version to 2.3.1
1 parent d8ef8bb commit 3d8f4e9

3 files changed

Lines changed: 131 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 129 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
## [2.3.1] - 2025-01-14
11+
12+
### Fixed
13+
- Fixed `__version__` in package `__init__.py` (was 0.3.1, now 2.3.1)
14+
- Aligned all version references across package metadata
15+
816
## [0.1.0] - 2025-01-10
917

1018
### Added
@@ -92,25 +100,133 @@ pip install capiscio-sdk==0.1.0
92100

93101
## [2.3.0] - 2025-01-14
94102

95-
### Changed
96-
- **Version Alignment**: Aligned SDK version with other CapiscIO products (capiscio-server, capiscio-ui, capiscio-core) for unified release management.
103+
**Major Release** - Complete Trust Badge ecosystem with gRPC backend, PoP protocol, and DV badge flow.
104+
105+
This release introduces the **capiscio-core gRPC integration**, enabling high-performance badge operations through a native Go backend. The SDK now provides a complete implementation of RFC-002 (Trust Badges) and RFC-003 (Proof of Possession).
97106

98107
### Added
99-
- **RFC-003 PoP Support**: Full Proof of Possession (PoP) protocol implementation for enhanced security.
100-
- **DV Badge SDK**: Domain Validation badge support with SDK integration.
101-
- **RFC-002 v1.3 §7.5 Staleness Options**: Badge staleness configuration per specification.
102-
- **Trust Badge gRPC Client**: gRPC-based badge validation client for high-performance scenarios.
103-
- **Comprehensive gRPC SDK Integration Guide**: Documentation for gRPC-based integrations.
108+
109+
#### Trust Badge API (`capiscio_sdk.badge`)
110+
- **`verify_badge()`** - Full badge verification with signature, expiration, and revocation checks
111+
- **`parse_badge()`** - Parse badge claims without verification (for inspection)
112+
- **`request_badge()` / `request_badge_sync()`** - Request new badges from CA
113+
- **`request_pop_badge()` / `request_pop_badge_sync()`** - RFC-003 Proof of Possession badge requests
114+
- **`start_badge_keeper()`** - Start automatic badge renewal
115+
- **`BadgeClaims`** dataclass with full RFC-002 claim support
116+
- **`VerifyOptions`** - Configurable verification (audience, issuers, clock skew)
117+
- **`VerifyMode`** enum - `ONLINE`, `OFFLINE`, `HYBRID` verification modes
118+
- **`TrustLevel`** enum - Level 1 (DV), Level 2 (OV), Level 3 (EV)
119+
120+
#### Badge Lifecycle Management (`capiscio_sdk.badge_keeper`)
121+
- **`BadgeKeeper`** class - Automatic badge renewal with background thread
122+
- Configurable renewal threshold (renew N seconds before expiry)
123+
- Exponential backoff retry on failure
124+
- Callback support for badge updates (`on_renew`)
125+
- Integration with `SimpleGuard` for seamless auth
126+
- **`BadgeKeeperConfig`** - Full configuration options (TTL, trust level, output file)
127+
128+
#### Domain Validation API (`capiscio_sdk.dv`)
129+
- **`create_dv_order()`** - Create DV badge order with HTTP-01 or DNS-01 challenge
130+
- **`get_dv_order()`** - Check order status
131+
- **`finalize_dv_order()`** - Complete validation and receive grant JWT
132+
- **`DVOrder`** dataclass - Order details (challenge token, validation URL, DNS record)
133+
- **`DVGrant`** dataclass - Signed grant JWT for badge issuance
134+
135+
#### gRPC Backend (`capiscio_sdk._rpc`)
136+
- **`CapiscioRPCClient`** - High-level gRPC client for capiscio-core
137+
- Auto-starts local capiscio-core binary when needed
138+
- Connection pooling and health checks
139+
- Context manager support (`with CapiscioRPCClient() as client:`)
140+
- **Generated Protocol Buffers** for all services:
141+
- `BadgeService` - Badge parsing, verification, issuance
142+
- `DIDService` - DID parsing and resolution
143+
- `TrustService` - Trust level operations
144+
- `RevocationService` - Badge revocation checks
145+
- `ScoringService` - Trust scoring calculations
146+
- `SimpleGuardService` - Request signing and verification
147+
- `RegistryService` - Agent registry operations
148+
- **`ProcessManager`** - Manages capiscio-core subprocess lifecycle
149+
150+
#### Core Validator (`capiscio_sdk.validators`)
151+
- **`CoreValidator`** class - Go-backed validation for agent cards
152+
- **`validate_agent_card()`** - One-liner validation using Go core
153+
- RFC-004 Agent Card schema validation
154+
- Much faster than pure-Python validation
155+
156+
#### RFC-002 v1.3 §7.5 Staleness Options
157+
- Configurable badge staleness thresholds
158+
- `max_age` parameter for verification
159+
- Grace period support for expiring badges
160+
161+
### Changed
162+
- **Version Alignment**: SDK version now matches other CapiscIO products (capiscio-server, capiscio-ui, capiscio-core v2.3.0)
163+
- **SimpleGuard Refactoring**:
164+
- Now uses gRPC backend for cryptographic operations
165+
- Improved request signing with `sign_request()` / `verify_request()`
166+
- Better error messages with RFC references
167+
- **Scoring Module**: Enhanced with gRPC-backed calculations
104168

105169
### Fixed
106-
- **CI/CD Improvements**:
107-
- Publish workflow now runs only unit tests to prevent false failures from missing infrastructure.
108-
- Enhanced SDK integration tests with CI automation.
109-
- **Lint Issues**: Fixed linting issues and updated ruff configuration.
170+
- **CI/CD Pipeline**:
171+
- Publish workflow now runs only unit tests (prevents false failures from missing infrastructure)
172+
- Integration tests moved to dedicated workflow with Docker infrastructure
173+
- **Lint Issues**: Fixed all ruff warnings, updated to latest ruff config
174+
- **FastAPI Integration**: Improved middleware error handling
175+
176+
### Infrastructure
177+
- **New Integration Test Suite** with Docker Compose:
178+
- `test_badge_keeper.py` - Badge lifecycle tests
179+
- `test_dv_badge_flow.py` - Full DV flow E2E tests
180+
- `test_dv_order_api.py` - DV API tests
181+
- `test_dv_sdk.py` - SDK integration tests
182+
- `test_grpc_scoring.py` - gRPC scoring tests
183+
- `test_server_integration.py` - Server integration tests
184+
- `test_simple_guard.py` - SimpleGuard tests
185+
- **New Unit Tests**:
186+
- `test_badge.py` - Badge API unit tests
187+
- `test_badge_keeper.py` - BadgeKeeper unit tests
188+
- `test_core_validator.py` - CoreValidator tests
189+
- `test_pop_badge.py` - PoP protocol tests
190+
- **GitHub Actions Workflows**:
191+
- `integration-tests.yml` - Full integration tests with capiscio-server + postgres + capiscio-core
110192

111193
### Documentation
112-
- Added GitHub Copilot instructions for AI-assisted development.
113-
- Updated workspace guidelines for multi-repo development.
194+
- **Comprehensive gRPC Integration Guide** (`docs/guides/badge-verification.md`)
195+
- **Badge Verification Guide** with code examples
196+
- **GitHub Copilot Instructions** for AI-assisted development
197+
- **API Reference** updates for all new modules
198+
199+
### Dependencies
200+
- Added `grpcio` and `grpcio-tools` for gRPC support
201+
- Added `protobuf` for Protocol Buffer serialization
202+
- Updated `cryptography` to latest version
203+
204+
### Statistics
205+
- **+12,568 lines of code** added
206+
- **63 files** changed
207+
- **7 new modules** added
208+
- **1,321 line** gRPC client implementation
209+
- **737 line** badge API implementation
210+
- **304 line** BadgeKeeper implementation
211+
- **296 line** DV API implementation
212+
213+
### Migration from v0.3.x
214+
This release is backwards compatible. Existing `SimpleGuard` and `CapiscioSecurityExecutor` usage continues to work. New features are additive.
215+
216+
To use new badge features:
217+
```python
218+
from capiscio_sdk import verify_badge, BadgeKeeper, create_dv_order
219+
220+
# Verify an incoming badge
221+
result = verify_badge(token, trusted_issuers=["https://registry.capisc.io"])
222+
223+
# Auto-renew badges
224+
keeper = BadgeKeeper(api_url="...", api_key="...", agent_id="...")
225+
keeper.start()
226+
227+
# Get a DV badge
228+
order = create_dv_order(domain="example.com", challenge_type="http-01", jwk=jwk)
229+
```
114230

115231
## [0.3.1] - 2025-11-23
116232

capiscio_sdk/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
>>> result = validate_agent_card(card_dict) # Uses Go core
1515
"""
1616

17-
__version__ = "0.3.1"
17+
__version__ = "2.3.1"
1818

1919
# Core exports
2020
from .executor import CapiscioSecurityExecutor, secure, secure_agent

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "capiscio-sdk"
7-
version = "2.3.0"
7+
version = "2.3.1"
88
description = "Runtime security middleware for A2A agents"
99
readme = "README.md"
1010
requires-python = ">=3.10"

0 commit comments

Comments
 (0)