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 string
Installation: pnpm add @peac/protocol @peac/crypto @peac/schema

Previous 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 } = result

Release 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.9 is 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