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.