v1.0.0-alpha.15
Pre-release
Pre-release
Ratify Protocol v1.0.0-alpha.15
Open cryptographic trust protocol for AI agent authorization. Hybrid Ed25519 + ML-DSA-65 (NIST FIPS 204), quantum-safe by design. Full canonical conformance fixture suite (see testvectors/v1), byte-for-byte interoperable across Go, TypeScript, Python, Rust, and C/C++.
Install
# Go
go get github.com/identities-ai/ratify-protocol@v1.0.0-alpha.15
# Python
pip install ratify-protocol==1.0.0a15
# Rust
cargo add ratify-protocol@1.0.0-alpha.15
# TypeScript
npm install @identities-ai/ratify-protocol@1.0.0-alpha.15
# C/C++ — download pre-built archive above (no Rust required)
# or build from source: cd sdks/c && cargo build --releaseLinks
- Full developer documentation: docs.identities.ai
- Normative specification: SPEC.md
- Threat model: docs/EXPLAINED.md
- Conformance fixtures: bundled as
ratify-testvectors-v1.0.0-alpha.15.tar.gzbelow
Legal
- Trademark: Ratify Protocol™ and identities.ai™ are trademarks of Identities AI, Inc.
- Patent: U.S. patent application pending.
- License: Apache-2.0 (code) · CC-BY-4.0 (specification); see docs/LICENSES.md.
What's Changed
- docs: alpha.9 + C/C++ SDK — full documentation pass by @chuks in #6
- feat(c-sdk): full 59/59 conformance — all fixture kinds covered by @chuks in #7
- fix(ci): skip npm publish gracefully if version already exists by @chuks in #8
- fix(ci): remove dead NPM_TOKEN branch from npm publish workflow by @chuks in #9
- docs: add NOTICE file, attribution policy, and badge program by @chuks in #10
- docs: add disambiguation paragraph — Ratify is not agent registration or login by @chuks in #11
- docs: add lifetime download badges for PyPI, crates.io, npm, and releases by @chuks in #12
- docs: relabel release downloads badge as c/c++ downloads by @chuks in #13
- docs: alpha.11 truth pass — README, SPEC security hardening, roadmap; fix C/C++ test gate by @chuks in #14
- fix(deps): bump tsx to ^4.23.0 — resolves esbuild advisory (Dependabot #1) by @chuks in #15
- fix(release): tag-trigger fix + two-phase release flow — no direct pushes to main by @chuks in #16
- feat: alpha.12 protocol additions — no-expiry sentinel + presence:represent by @chuks in #17
- docs: fix last two stale 62-fixture counts; gate their phrasings by @chuks in #18
- chore: release v1.0.0-alpha.12 by @chuks in #19
- docs(releases): add downstream-claims step to release day; genericize break-glass examples by @chuks in #20
- fix: bring the C SDK into the release pipeline; count-free CI names; ROADMAP shipped wording by @chuks in #21
- spec: §13.1 registry read binding — open contract for registry-mode key discovery by @chuks in #22
- chore: release v1.0.0-alpha.13 by @chuks in #23
- fix(release): stop masking crates.io publish failures behind exit code 101 by @chuks in #24
- docs(releases): post-release registry verification as Phase 4 of the checklist by @chuks in #25
- fix(release): sync SDK README install pins by @chuks in #26
- docs(releases): alpha.12/13 ladder entries; release-tag prints remaining release-day steps by @chuks in #27
- docs: carry the stack-placement messaging from the marketing site by @chuks in #28
- docs: commit and PR messages are written for a public audience by @chuks in #29
- docs: one canonical tagline across every public face, enforced by the sync gate by @chuks in #30
- fix(release): gate pinned install commands against version drift by @chuks in #31
- ci: CodeQL advanced setup — add Rust and Actions analysis by @chuks in #33
- fix(release): reject unsupported prerelease forms; isolate break-glass publish from the tag push by @chuks in #32
- chore(rust): clippy-clean both crates; gate clippy in CI by @chuks in #34
- chore: release v1.0.0-alpha.14 by @chuks in #35
- docs(releases): alpha.14 ladder entry by @chuks in #36
- feat(go): Vocabulary() exposes the canonical scope vocabulary by @chuks in #37
- docs: scope operational characterizations to deployments, not the protocol contract by @chuks in #38
- SDK: public wire codecs (TypeScript, Python) and scope vocabulary accessors (all SDKs) by @chuks in #39
- Strict wire acceptance across all five SDKs + normative JSON integer domain by @chuks in #40
- Challenge stores: single-use challenge acceptance across all SDKs, normative in SPEC §10 by @chuks in #41
- Streamed-turn verification with options: scope, single-use, and binding enforcement by @chuks in #42
- Operation-context and session-context constructions, Middleware Custody Profile by @chuks in #43
- docs: per-SDK latency matrix, wire sizes, session-tokens-as-default, extension-params honesty note by @chuks in #44
- docs: alpha.15 changelog entry and release-ladder line by @chuks in #45
- chore: release v1.0.0-alpha.15 by @chuks in #46
Full Changelog: v1.0.0-alpha.9...v1.0.0-alpha.15