v2.0 — Pipeline Architecture - Frame, CodecResult, Codec trait, Pipeline builder - 6 adapters: Passthrough, Dedup, Compress, Pacer, Slicer, Stats v2.1 — Multi-frame & new codecs - CodecOutput::Many fan-out, EncryptCodec, FilterCodec - Codec::reset(), encode_all/decode_all, real SlicerCodec chunking v2.2 — Observability & reassembly - PipelineResult (frames+errors+consumed), StageMetric - ReassemblyCodec, ConditionalCodec, Pipeline presets & metrics v2.3 — Integrity & rate control - ChecksumCodec (CRC32), RateLimitCodec (token bucket), TagCodec - Pipeline::chain(), Pipeline::describe() 13 codec adapters, 474 tests (all green, 0 regressions)
3.8 KiB
3.8 KiB
Changelog
[2.3.0] - 2026-03-11 — Pipeline v4
Added
ChecksumCodec— CRC32 integrity: append on encode, verify+strip on decode, Error on mismatchRateLimitCodec— Token bucket algorithm (burst-tolerant, refills over time)TagCodec— Attach channel ID for mux routing, drop wrong-channel frames on decodePipeline::chain()— Compose two pipelines into onePipeline::describe()— Human-readable dump (dedup → compress → encrypt)- Error propagation tested — corrupt checksum →
PipelineResult.errors - 474 total tests (+13 new)
[2.2.0] - 2026-03-11 — Pipeline v3
Added
PipelineResult— returns frames + collected errors + consumed countStageMetric— per-stage frames_in/frames_out/consumed/errors observabilityReassemblyCodec— reassemble chunked frames (counterpart to SlicerCodec)ConditionalCodec— wrap any codec with runtime enable/disable togglePipeline::signal(key)— preset: dedup→compress→encryptPipeline::media(mtu)— preset: compress→slicerPipeline::metrics()— per-stage counter snapshot- Slicer↔Reassembly roundtrip verified
- 461 total tests (+12 new)
[2.1.0] - 2026-03-11 — Pipeline v2
Added
CodecOutput::Many— codecs can fan-out (1 frame → N frames)EncryptCodec— XOR cipher encrypt/decrypt adapterFilterCodec— drop frames by type (FilterCodec::drop_control())Codec::reset()— clear internal state on reconnectPipeline::encode_all/decode_all— batch frame processingSlicerCodecrewritten — real MTU chunking viaMany- Full roundtrip test — Compress→Encrypt→encode→decode→verify
- 449 total tests (+11 new)
[2.0.0] - 2026-03-11 — Pipeline Architecture 🏗️
Added
- [NEW]
pipeline.rs—Frame,CodecResult,Codectrait,Pipelinebuilder - 6 codec adapters —
PassthroughCodec,DedupCodec,CompressCodec,PacerCodec,SlicerCodec,StatsCodec - 15 pipeline tests (438 total)
[1.6.0] - 2026-03-11
Added
AesFrameCipher— XOR-rotate frame cipher with configurable key and round tracking (encrypt, decrypt, rounds, reset)LossInjector— deterministic packet loss simulation for testing (should_deliver, total_dropped, reset)StreamCheckpoint— serializable stream state snapshot as 32 bytes (capture, to_bytes, from_bytes)- 10 new tests (333 total)
[1.5.0] - 2026-03-11
Added
ContentDedup— hash-based frame deduplication (check, dedup_count, reset)StreamHealthTracker— latency/throughput/loss trackingFrameThrottler— FPS-based frame throttling- 10 new tests (323 total)
[1.4.0] - 2026-03-11
Added
SessionRecorder— frame recording with timestampsPriorityScheduler— priority-based frame schedulingBandwidthLimiter— token bucket rate limiter- 10 new tests (313 total)
[1.3.0] - 2026-03-11
Added
QualityDecision/QualityPolicy— adaptive qualityFrameLayerCompositor— multi-source compositingReorderBuffer— out-of-order frame reordering- 12 new tests (303 total)
[1.2.0] - 2026-03-11
Added
HapticPayload/haptic_frame()— haptic vibrationbatch_frames/unbatch_frames— frame coalescingStreamDigest/ChannelAuth— integrity + auth- 14 new tests (291 total)
[1.1.0] - 2026-03-11
Added
FrameType::Error/ErrorPayload— error framesencrypt_frame/decrypt_frame— XOR envelopeFrameRouter— content-based dispatch- 13 new tests (277 total)
[1.0.0] - 2026-03-11 🎉
Added
- Core streaming: pipeline, protocol, splitter, congestion, stats, ACK, codec, flow control, version negotiation
- 9 new tests (264 total)