moq-e2ee 0.0.11

End-to-end encryption for MoQ groups, datagrams, and track names.
Documentation
# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.0.11]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.10...moq-e2ee-v0.0.11 - 2026-10-05

### Other

- updated the following local packages: moq-net

## [0.0.10]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.9...moq-e2ee-v0.0.10 - 2026-10-03

### Other

- *(moxygen)* Moxygen compatibility ([#4253]https://github.com/moq-dev/moq/pull/4253)

## [0.0.9]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.8...moq-e2ee-v0.0.9 - 2026-09-30

### Other

- updated the following local packages: kio, moq-net

## [0.0.8]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.7...moq-e2ee-v0.0.8 - 2026-09-27

### Other

- updated the following local packages: moq-net

## [0.0.7]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.6...moq-e2ee-v0.0.7 - 2026-09-26

### Other

- updated the following local packages: kio, moq-net

## [0.0.6]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.5...moq-e2ee-v0.0.6 - 2026-09-26

### Other

- updated the following local packages: moq-net

## [0.0.5]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.4...moq-e2ee-v0.0.5 - 2026-09-25

### Other

- updated the following local packages: moq-net

## [0.0.4]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.3...moq-e2ee-v0.0.4 - 2026-09-25

### Other

- updated the following local packages: moq-net

## [0.0.3]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.2...moq-e2ee-v0.0.3 - 2026-09-25

### Other

- updated the following local packages: moq-net

## [0.0.2]https://github.com/moq-dev/moq/compare/moq-e2ee-v0.0.1...moq-e2ee-v0.0.2 - 2026-09-24

### Other

- updated the following local packages: moq-net

### Changed

- Profile `moq-e2ee-00`: every derivation is scoped to a publisher-minted `Epoch`, the last segment of the opaque broadcast path from `Credential::path`
- `Credential::new(credential::Config { context, kid, secret })` takes the application-owned secret; `Credential::generate`, `Pin`, and the profile argument are gone
- `Generation` replaces `Publication`: clones share per-track claims and nothing is process-global; `Name` replaces `PhysicalName`
- `track::Producer` refuses a sequence below the next allocated one before encryption; datagram plaintext is capped at `MAX_DATAGRAM_PLAINTEXT` (1160 bytes)
- Failed opens count against the key's invocation budget

### Removed

- Datagram retention and retransmission, the grouped duplicate window, the `catalog` module, and the stateless `protect`/`open`/`nonce`, HKDF, and raw key exports

## [0.0.1] - 2026-09-13

### Added

- `moq-e2ee-01` credential, physical names, track/domain keys, and AES-128-GCM protect/open
- Exclusive `Publication` and `track::Producer` / `track::Consumer` wrapping grouped-frame and datagram lifecycles
- Catalog JSON and DEFLATE-then-encrypt helpers
- Bounded duplicate windows (current plus previous group; 1024 datagram sequences)