All notable changes to Vox are documented here.
-
Remove the implicit
From<DriverCaller> for ()conversion. UseNoopCallerwhen you need to retain root connection liveness without exposing root RPC methods. -
No entries yet.
- Service trait implementations no longer receive
&Context; methods now either:- return owned values directly, or
- receive
call: impl vox::Call<T, E>for explicit'voxborrowed response paths.
- Generated service trait naming and generated descriptor access changed:
- Generated service traits are still named
{Service}. - Codegen inputs moved from
*_service_detail()to*_service_descriptor().
- Generated service traits are still named
- Client construction and session setup were updated:
ConnectionHandleis no longer aCaller; clients are created fromdriver.caller().- Session bootstrapping moved from
accept_framed/initiate_framedtosession::acceptor/session::initiatorwith.establish().
- Client return types were standardized:
- Owned returns remain direct values (e.g.
T). - Borrowed
'voxreturns now returnSelfRef<T>. - Generated Rust clients do not expose response metadata in return types.
- Owned returns remain direct values (e.g.
- Channel APIs now use const-generic credit:
Tx<T, N>/Rx<T, N>, with default creditN = 16. - SHM hosting moved to a smaller, lower-level v7 API surface:
ShmHost,bootstrap,driver,AddPeerOptions,MultiPeerHostDriverare no longer part of the API surface used for orchestration.- New primitives are
vox_shm::segment::{Segment, SegmentConfig}and related methods (reserve_peer,claim_peer,attach_peer,detach_peer,recover_crashed_peer). - Orchestration helpers are now focused and explicit via
vox_shm::ShmLink,vox_shm::host::HostHub, andvox_shm::hostticket/link helpers.
- Explicit v7 virtual-connection model in session API:
- Root sessions are established via
session::{initiator,acceptor}.establish(). - Virtual connections are opened through
SessionHandle::open_connection(...). on_connection(...)hooks are now opt-in; inbound virtual opens are rejected by default when not configured.
- Root sessions are established via
- Added migration guidance for borrowed-response methods:
- Use
call.ok(...),call.err(...), andcall.reply(...)oncall: impl Call<...>for explicit borrow-based replies.
- Use
client.method(...).with_metadata(...)does not have a generated call-builder equivalent in v7; use lower-level request construction when metadata injection is required.