Releases
Tagged releases and changelogs for PEAC Protocol implementations.
Current Release
v0.9.17
Stable Release - December 14, 2025
Live Now
Features:
- x402 v2 adapter with v1 fallback support
- RSL 1.0 alignment with extended ControlPurpose tokens
- Policy Kit v0.1 for deterministic CAL policy evaluation
- CLI policy commands: init, validate, explain, generate
Breaking Change:
issue() now returns IssueResult { jws, subject_snapshot? } instead of stringInstallation:
pnpm add @peac/protocol @peac/crypto @peac/schemaPrevious Releases
v0.9.16
December 7, 2025
Control Abstraction Layer (CAL): Introduces
ControlPurpose enumeration (crawl, index, train, inference), licensing modes (subscription, pay_per_crawl), enhanced PaymentEvidence with aggregator and splits[] fields, subject profile types (human, org, agent).v0.9.15
December 4, 2025
Kernel-First Architecture: Deprecated
@peac/core in favor of specialized packages: @peac/kernel, @peac/schema, @peac/crypto, @peac/protocol. HTTP 402 profile support, pillar packages scaffolded for access, consent, compliance, privacy.v0.9.14
September 27, 2025
Wire format stabilization: self-describing JWS receipts with
peac.receipt/0.9 media type, standardized JOSE conventions, removed legacy headers, domain policy enforcement.v0.9.13.2
September 17, 2025
Local sidecar implementation with /enforce and /verify endpoints, Hono-based architecture, Prometheus metrics.
v0.9.12.x
Archive
Trust rails (UDA, DPoP, Agent Attestation), Receipts v2 (detached JWS), JWKS management.
Migration Guide
Upgrading from v0.9.14 to v0.9.17
1. Update package imports (v0.9.15+)
// Before (v0.9.14)
import { generateKeyPair, signReceipt, verifyReceipt } from '@peac/core'
// After (v0.9.15+) - use specialized packages
import { generateKeyPair } from '@peac/crypto'
import { signReceipt, verifyReceipt } from '@peac/protocol'
// Or use the SDK wrapper for backwards compatibility
import { generateKeyPair, signReceipt, verifyReceipt } from '@peac/sdk-js'2. Update issue() return handling (v0.9.17)
// Before
const jws: string = await issue(payload)
// After
const result = await issue(payload)
const { jws, subject_snapshot } = resultRelease Process
PEAC follows semantic versioning with release trains focused on stability:
- Pre-1.0 releases use the 0.9.x series
- Wire format
peac.receipt/0.9is frozen across v0.9.x - Library APIs can change pre-1.0 (pin versions in production)
- Breaking changes are documented in release notes with migration paths