@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 2.0.0] - 2026-03-17
9+
10+ ### Breaking Changes
11+ - ** ` T: Copy ` replaced with ` unsafe trait Pod ` ** across the entire public API.
12+ ` Pod ` requires every bit pattern to be valid, excluding ` bool ` , ` char ` ,
13+ ` NonZero* ` , and references. Pre-implemented for all numeric primitives,
14+ arrays of ` Pod ` , and tuples up to 12 elements. User structs require
15+ ` unsafe impl photon_ring::Pod for MyStruct {} ` .
16+
17+ ### Added
18+ - ** ` Pod ` marker trait** (` src/pod.rs ` ): enforces seqlock-safe payloads at the
19+ type level, not just in documentation.
20+ - ** ` photon-ring-derive ` crate** (optional ` derive ` feature):
21+ ` #[derive(photon_ring::DerivePod)] ` generates ` unsafe impl Pod ` with
22+ compile-time field verification.
23+ - ** ` try_publisher() ` ** on ` Photon<T> ` and ` TypedBus ` : returns ` Option `
24+ instead of panicking when the publisher was already taken.
25+ - ** ` docs/benchmark-methodology.md ` ** : full benchmark reproducibility
26+ documentation (hardware, OS, toolchain, Criterion config, caveats).
27+ - ** Verification README strengthened** : explicit SPMC-only, SC-only, no-MPMC
28+ limitations documented.
29+ - Tuple ` Pod ` impls extended to arity 12 (matching ` std ` ).
30+
31+ ## [ 1.0.1] - 2026-03-17
32+
33+ ### Changed
34+ - Updated benchmark numbers for both machines (Intel + M1 Pro).
35+ - Added project banner.
36+ - Throughput reported with variance ranges.
37+
838## [ 1.0.0] - 2026-03-16
939
1040### Added
0 commit comments