Skip to content

Commit 58659c7

Browse files
userFRMclaude
andcommitted
release: v2.4.0
Version bump for photon-ring and photon-ring-derive to 2.4.0. CHANGELOG [Unreleased] → [2.4.0] - 2026-03-19. Updated version references in README and docs. Highlights since v2.3.0: - atomic-slots feature: formally sound seqlock via AtomicU64 stripes - Multi-model audit: 17 findings fixed (MPMC ordering, derive soundness, Pipeline Drop/panic, backpressure livelock, safety comment accuracy) - PREFETCHW on x86 publisher, WFE in recv() on ARM, dead rdtsc removed - 3 research documents from constraint-anchored analysis - MSRV CI job, derive auto-publish, test timeouts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ca8732c commit 58659c7

7 files changed

Lines changed: 9 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [2.4.0] - 2026-03-19
99

1010
### Performance
1111
- **PREFETCHW on x86 publisher write path:** Replaces `PREFETCHT0` (Shared

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "photon-ring"
3-
version = "2.3.0"
3+
version = "2.4.0"
44
edition = "2021"
55
rust-version = "1.94"
66
description = "Ultra-low-latency SPMC/MPMC pub/sub using stamped ring buffers. Formally sound with atomic-slots feature. no_std compatible."
@@ -22,7 +22,7 @@ atomic-slots = []
2222
hashbrown = "0.16.1"
2323
spin = "0.10.0"
2424
libc = { version = "0.2.183", default-features = false, optional = true }
25-
photon-ring-derive = { version = "2.3.0", path = "photon-ring-derive", optional = true }
25+
photon-ring-derive = { version = "2.4.0", path = "photon-ring-derive", optional = true }
2626

2727
[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "freebsd", target_os = "netbsd", target_os = "android"))'.dependencies]
2828
core_affinity2 = "0.15.4"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ assert_eq!(s.try_recv(), Ok(100));
5050

5151
```toml
5252
[dependencies]
53-
photon-ring = "2.3.0"
53+
photon-ring = "2.4.0"
5454
```
5555

5656
Optional features:

docs/discussion-seqlock-soundness-and-no_std.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,5 +167,5 @@ one extra DMB barrier in the reader (~5-10ns).
167167

168168
Users who need formal soundness can opt in via:
169169
```toml
170-
photon-ring = { version = "2.3.0", features = ["atomic-slots"] }
170+
photon-ring = { version = "2.4.0", features = ["atomic-slots"] }
171171
```

docs/research-seqlock-alternatives.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,5 +614,5 @@ The impossibility proofs demonstrate that no other approach can achieve formal s
614614
## Implementation Status
615615

616616
Design 6 (ASCL / Atomic Stripe Compile-Time Layout) has been implemented as the
617-
`atomic-slots` feature in photon-ring v2.3.0. Benchmark results confirm the
617+
`atomic-slots` feature in photon-ring v2.4.0. Benchmark results confirm the
618618
zero-cost prediction on x86-64. See CHANGELOG.md for details.

photon-ring-derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "photon-ring-derive"
3-
version = "2.3.0"
3+
version = "2.4.0"
44
edition = "2021"
55
description = "Derive macro for photon-ring's Pod trait"
66
license = "Apache-2.0"

0 commit comments

Comments
 (0)