v0.3.3
publicsuffix/listv0.3.3Jul 29, 2026by eisenzopf
AI Summary
Fixes vCon conformance issues, updates the vCon model to cover the current core schema, and introduces JWS General JSON Serialization for signed vCons.
Key Highlights
- vCon model updates covering core schema and lineage
- Signed vCons use JWS General JSON Serialization
- New content handles use conformant SHA-512 hashes
- Dialog duration represented in seconds
- Dedicated offline schema fixtures added
Breaking Changes
- Dialog duration is now represented in seconds
- sign_jws returns SignedVcon in General JSON form and requires certificate metadata
- New content handles use conformant SHA-512 hashes
- The core byte-store put contract now carries ConversationId
New Features
- vCon model covers recording sets and all dialog types
- Signed vCons with appendable signatures
- vCon storage improvements with sha512 hashes
- Recording-to-transcript automation integration points
Full Release Notes
# rvoip 0.3.3 This unified patch release fixes vCon conformance issues reported in [#31](https://github.com/eisenzopf/rvoip/issues/31), [#32](https://github.com/eisenzopf/rvoip/issues/32), [#33](https://github.com/eisenzopf/rvoip/issues/33), and [#34](https://github.com/eisenzopf/rvoip/issues/34), against `draft-ietf-vcon-vcon-core` commit `2342aba64bdb71d9e80ab6e274a3921e2b1c769e`. ## Highlights - Session finalization now converts through the canonical `rvoip-vcon` model, validates before storage, emits valid escaped JSON, preserves complete Base64Url-encoded bodies, and records durations in seconds. - The vCon model now covers the current core schema, semantic reference rules, lineage, recording sets, all dialog types, analyses, attachments, and declared extensions while preserving unknown extension properties. - Signed vCons now use JWS General JSON Serialization with appendable signatures and trusted-key resolution. Signing remains explicit; core emission is unsigned. - New store handles consistently use `sha512-<base64url-no-padding>` in memory and PostgreSQL. Existing legacy hashes remain readable and are not rewritten. - The reserved `group` parameter is no longer emitted. Conversation-to-vCon relationships are represented in store/index metadata. - Dedicated offline schema fixtures, semantic/JWS/hash regressions, core end-session coverage, and live ephemeral-PostgreSQL qualification were added. ## Breaking pre-1.0 vCon API changes - Dialog duration is now represented in seconds. - Several model fields were corrected or expanded, including party DID/STIR, required analysis vendor metadata, attachment placement/purpose, and redacted/amended lineage. - `sign_jws` returns `SignedVcon` in General JSON form and requires certificate metadata; HMAC signing is rejected for signed vCons. - New content handles use conformant SHA-512 hashes. - The core byte-store `put` contract now carries `ConversationId` and exposes conversation-index lookup. ## Qualification The affected vCon libraries, core finalization boundary, PostgreSQL store, QUIC full-stack vCon path, facade feature, and AI harness example were qualified on release commit `b8f2b78a321cce89a855819d0319b309c669ea88`. The full workspace library, documentation, and non-performance integration suites also passed during release review. No performance, soak, or full beta gate was rerun for 0.3.3. The immutable 0.3.2 beta/performance evidence remains unchanged-subsystem background and is not relabeled as a 0.3.3 beta run. Recording-to-transcript automation is not part of 0.3.3; callers must still provide transcript analyses explicitly.