|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the AgentPin project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.2.0] - 2026-02-12 |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +#### Trust Bundles & Alternative Discovery |
| 13 | +- **Trust bundles** for offline and air-gapped verification — pre-package discovery + revocation data |
| 14 | +- **`DiscoveryResolver` trait** with pluggable discovery strategies: |
| 15 | + - `WellKnownResolver`: HTTP `.well-known` lookups (default) |
| 16 | + - `DnsTxtResolver`: DNS TXT record discovery |
| 17 | + - `ManualResolver`: Pre-configured static documents |
| 18 | +- **`directory_listing` field** on `AgentDeclaration` for multi-agent domain enumeration |
| 19 | +- **JavaScript SDK**: Trust bundle support, resolver abstraction |
| 20 | +- **Python SDK**: Trust bundle support, resolver abstraction |
| 21 | + |
| 22 | +## [0.1.1] - 2026-02-10 |
| 23 | + |
| 24 | +### Fixed |
| 25 | +- **PyPI README**: Added package README for PyPI listing |
| 26 | +- **npm README**: Added package README, fixed package URLs |
| 27 | +- Bumped JavaScript package to 0.1.1, Python package to 0.1.1 |
| 28 | + |
| 29 | +## [0.1.0] - 2026-02-08 |
| 30 | + |
| 31 | +### Added |
| 32 | + |
| 33 | +#### Core Protocol |
| 34 | +- **ECDSA P-256 keypair generation** with JWK export |
| 35 | +- **JWT credential issuance** (ES256 signed, configurable TTL) |
| 36 | +- **12-step credential verification** flow: |
| 37 | + - JWT parsing, algorithm validation (ES256 only), signature verification |
| 38 | + - Domain binding, discovery resolution, key matching |
| 39 | + - TOFU key pinning (JWK thumbprint), expiration, revocation |
| 40 | + - Capability validation, delegation chain verification |
| 41 | +- **TOFU key pinning** with JWK thumbprint persistence |
| 42 | +- **Delegation chains** with capability narrowing and depth limits |
| 43 | +- **Mutual authentication** with 128-bit nonce challenge-response |
| 44 | +- **Credential, agent, and key-level revocation** |
| 45 | + |
| 46 | +#### Crates |
| 47 | +- `agentpin` — Core library (no mandatory HTTP dependency) |
| 48 | +- `agentpin-cli` — CLI binary (`keygen`, `issue`, `verify`, `bundle`) |
| 49 | +- `agentpin-server` — Axum server for `.well-known` endpoints |
| 50 | + |
| 51 | +#### Cross-Language SDKs |
| 52 | +- **JavaScript** (`agentpin` npm package): Full protocol implementation |
| 53 | +- **Python** (`agentpin` PyPI package): Full protocol implementation |
| 54 | + |
| 55 | +#### Discovery |
| 56 | +- `.well-known/agent-identity.json` discovery document format |
| 57 | +- `.well-known/agent-identity-revocations.json` revocation endpoint |
| 58 | +- Capability-scoped credentials with constraints (`max_ttl_secs`, `allowed_scopes`) |
0 commit comments