Releases: 1kbgz/transports
Releases · 1kbgz/transports
Release list
v0.8.3
What's Changed
- Lead benchmark docs with results by @timkpaine in #178
- Record reproducible fan-out benchmarks by @timkpaine in #179
- Add session cost audit with enforceable budgets by @timkpaine in #180
- Add event loop selection to the fan-out harness by @timkpaine in #181
- Coalesce per-connection fan-out and self-clock the drain cadence by @timkpaine in #182
- Add a multi-tenant hub benchmark and fix two hub fan-out costs by @timkpaine in #183
Full Changelog: v0.8.2...v0.8.3
v0.8.2
What's Changed
- Wire the fan-out benchmark harness into benched and CI by @timkpaine in #175
- Embed the benched report in the docs and publish the standalone report by @timkpaine in #176
- Fix relay batch negotiation by @timkpaine in #177
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Expose send and propose over the client's managed connection by @timkpaine in #165
- Dump pydantic models polymorphically on pydantic 2.13+ by @timkpaine in #170
- Fan-out load harness, encode-once broadcasts, bounded send queues by @timkpaine in #172
- Add negotiated frame batching and codec knobs to the harness by @timkpaine in #173
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
- Publish the JupyterLite site with the docs and document worker-hosted topologies by @timkpaine in #164
- Add transport sequence reorders by @timkpaine in #168
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- Add Pyodide build and runtime tests by @timkpaine in #160
- Run transports in the browser with Pyodide by @timkpaine in #161
- Wire Client.run to the browser WebSocket under Pyodide by @timkpaine in #162
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- Expose accepted client patches by @timkpaine in #157
- Add typed reject frame and client receive improvements by @timkpaine in #158
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- Add a built-in CBOR codec (ciborium) by @timkpaine in #135
- Add a field-granular CRDT merge strategy (DeepLwwCrdt) by @timkpaine in #136
- Reconnect/resume + a per-model replay log (3.7 + 6.1) by @timkpaine in #137
- Add an order-free sequence CRDT (SeqCrdt, Logoot-style) by @timkpaine in #138
- transports: multi-worker clustering — backplane, relay, CRDT convergence, catch-up & durability seams by @timkpaine in #139
- transports: client durability — reconnect + configurable authoritative source by @timkpaine in #140
- transports: leader election + singleton task (Election) + dedicated ZMQ broker by @timkpaine in #141
- Reject invalid client edits instead of crashing the host by @timkpaine in #143
- Canonicalize a client edit to the model's type (coercion fidelity) by @timkpaine in #144
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
- Remove decorative divider comments (slop markers) by @timkpaine in #128
- Add an anywidget adapter (serve_anywidget / flush_anywidget) by @timkpaine in #129
- Make the connection adapter API consistent (ws_endpoint / sync / autosync) by @timkpaine in #133
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- Negotiate the codec over a connection (2.1) by @timkpaine in #124
- Add a multi-tenant Hub with shared data structures and a merge seam by @timkpaine in #125
- Let apps register custom wire codecs by @timkpaine in #126
- SSE + Jupyter comm adapters; server-authoritative live receive by @timkpaine in #127
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Refactor for new template by @timkpaine in #30
- Rebuild transports as a Rust-core model-sync library by @timkpaine in #120
- WebSocket connections: Server, Client, Starlette adapter (Phase 3.2) by @timkpaine in #121
- MessagePack codec (Phase 2.2) by @timkpaine in #122
- Docs: connections + codecs, product-focused by @timkpaine in #123
Full Changelog: v0.1.1...v0.2.0