v0.3.3
elkowar/ewwv0.3.3Jul 29, 2026by eisenzopf
AI Summary
A patch release that fixes vCon (Video Conversation) conformance issues, updating the model to cover new schemas and adding JWS General JSON Serialization for signed vCons.
Key Highlights
- Fixed vCon conformance issues against draft-ietf-vcon-vcon-core
- Added signed vCons using JWS General JSON Serialization
- New store handles use SHA-512 hashes
- Dialog duration is now represented in seconds
Breaking Changes
- Dialog duration is now represented in seconds
- Several model fields corrected or expanded
- `sign_jws` requires certificate metadata and returns General JSON
- New content handles use conformant SHA-512 hashes
- Core byte-store `put` contract now carries `ConversationId`
New Features
- vCon session finalization and validation
- Signed vCon support with appendable signatures
- SHA-512 hashing for new content handles
- Offline schema fixtures and regression tests
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.