Skip to content

Latest commit

 

History

History
237 lines (153 loc) · 8.63 KB

File metadata and controls

237 lines (153 loc) · 8.63 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • an admission-only library surface available with default-features = false; the existing relay runtime and binary remain enabled by default
  • hierarchical process, authenticated-principal, and resolved-scope capacity for namespace, track, subscription, track-status, and FETCH request lifecycles
  • scoped and bounded upstream relay caches with supervised tasks, aggregate diagnostics, and idle eviction
  • configurable per-namespace track caches plus bounded API/file coordinator retention
  • process-shared transport request capacity with configurable per-session/process retained-byte budgets and metrics
  • server-generated admission session IDs plus atomic decision-and-lease admission for replay-safe token backends
  • lease-owned asynchronous revalidation and bounded, awaited session close with fixed close reasons, metrics, and fail-closed error reporting
  • graceful relay draining that stops accepts and finalizes every admitted session before releasing capacity
  • supervised late-admission and finalization reaping across client deadlines, task cancellation, and panic unwinds
  • a distinct raw-QUIC token-subscriber listener policy requiring SETUP authorization, subscribe-only claims, and the draft-19 ALPN

Changed

  • relay overloads now use retryable EXCESSIVE_LOAD responses; authenticated identity and resolved scope remain attached to long-lived handlers
  • file coordination uses versioned binary-safe tuple/scope keys and migrates legacy UTF-8 entries on the next write
  • production token listeners now require atomic admission, bounded leases, and awaited lifecycle close capabilities
  • production mTLS publisher listeners accept raw QUIC, browser token subscriber listeners accept WebTransport, and native token subscriber listeners accept raw QUIC; mismatched substrates, protocols, and missing SETUP authorization are rejected before external admission state changes

0.7.18 - 2026-05-20

Fixed

  • tokio utils use default features
  • suggestions from opencode reviewers
  • apply suggestions from opencode review

Other

  • check for cancelled of cancellation token when waiting for subscribe open
  • keep the comments for readability purpose
  • Merge branch 'main' of github.com:itzmanish/moq-rs into feat/remote-manager-rewrite

0.7.17 - 2026-04-13

Fixed

  • always register in coordinator after registering in local

Other

  • Merge branch 'main' of github.com:itzmanish/moq-rs into fix-register-order-namespace

0.7.16 - 2026-04-10

Fixed

  • cross-platform dual-stack binding for IPv6 sockets

Other

  • Merge pull request #151 from englishm-cloudflare/me/ipv6-dual-stack-binding

0.7.15 - 2026-04-09

Fixed

  • include destination address in upstream connection cache key

0.7.14 - 2026-03-31

Other

  • Make repo REUSE v3.3 compliant
  • Bring copyright notices, license docs up to date

0.7.13 - 2026-03-27

Added

  • actively reject unauthorized control messages on permission-gated sessions
  • add scope-aware namespace isolation to ApiCoordinator
  • add Coordinator stubs for SUBSCRIBE_NAMESPACE, track PUBLISH, and lingering subscriber support
  • add resolve_scope() to Coordinator trait with permission-gated sessions
  • add scope parameter to Coordinator trait and thread through relay
  • add Transport enum and connection path extraction

0.7.12 - 2026-02-18

Other

  • update Cargo.toml dependencies

0.7.11 - 2026-02-18

Added

  • add additional debug logging for troubleshooting
  • add structured fields to high-value log messages
  • (metrics) add describe_metrics() for Prometheus HELP text
  • (metrics) distinguish graceful close from connection errors
  • (moq-relay-ietf) add optional prometheus exporter for metrics validation
  • (moq-relay-ietf) add metrics instrumentation via metrics crate facade

Fixed

  • cargo fmt and clippy lints
  • (metrics) move upstream_connections gauge after successful connect
  • (metrics) address review feedback for metrics instrumentation

Other

  • migrate from log crate to tracing
  • (metrics) make metrics always-on, remove feature gate

0.7.10 - 2026-01-29

Other

  • fix unnecessary_unwrap clippy lint

0.7.9 - 2025-12-19

Added

  • use socket address from coordinator if available to connect
  • bypass DNS lookup on relay URL

Other

  • better comment for url in NamespaceOrigin

0.7.8 - 2025-12-18

Other

  • update Cargo.lock dependencies

0.7.7 - 2025-12-18

Added

  • add file-based coordinator and rewrote remote for handling remote streams

Fixed

  • ci
  • linter
  • seperate RemoteManager rewrite to different PR
  • remove once_cell to pass the test
  • clippy unused imports
  • clippy warnings
  • race and proper task shutdown
  • if host is IpAddr construct socket addr else resolve dns
  • update lookup signature to return owned Client instead of reference
  • prevent file truncation when opening for read/write in FileCoordinator
  • add lifetime parameter to lookup method signature for proper borrow checking
  • return clients on lookup for coordinator and misc fix

Other

  • Merge pull request #118 from itzmanish/feat/multi-relay
  • remove track registration from coordinator interface and file implementation
  • clarify coordinator file usage in CLI help text and add FIXME for unregister_namespace
  • restructure relay into lib/bin and add coordinator interface

0.7.6 - 2025-12-18

Other

  • Use correlation IDs in errors
  • cargo fmt
  • Add support for nested namespaces
  • Revert "Add support for namespace hierachies"
  • Address PR feedback
  • cargo fmt
  • Add support for namespace hierachies
  • Wire Up Track Status Handling
  • moq-relay-ietf variable renames and comments added
  • Update moq-relay-ietf/src/relay.rs
  • Print CID for clock sessions
  • Add --mlog-serve
  • Refactor mlog feature for better layering
  • First pass of 'mlog' support
  • Allow either CID or CID_server.qlog paths
  • Add --qlog-serve
  • Wire qlog_dir CLI argument through moq-relay-ietf
  • Add --qlog-dir CLI argument to QUIC configuration

0.7.5 - 2025-09-15

Other

  • cargo fmt
  • Start updating control messaging to draft-13 level

0.7.4 - 2025-02-24

Other

  • updated the following local packages: moq-transport

0.7.3 - 2025-01-16

Other

  • cargo fmt
  • Change type of namespace to tuple

0.7.2 - 2024-10-31

Other

  • updated the following local packages: moq-transport

0.7.1 - 2024-10-31

Other

  • release

0.7.0 - 2024-10-23

Other

  • Update repository URLs for all crates
  • Rename crate

0.6.1 - 2024-10-01

Other

  • update Cargo.lock dependencies

0.5.1 - 2024-07-24

Other

  • update Cargo.lock dependencies