Skip to content

Commit 3f279da

Browse files
github-actions[bot]frankmcsherryclaude
authored
chore: release v0.24.0 (#747)
* chore: release v0.24.0 * Beautify v0.24.0 CHANGELOG entries Rewrite the release-plz autogenerated 0.24.0 sections in the style of 0.23.0: split into Added / Changed / Removed / Other, expand each bullet into a prose explanation of what actually changed, fix the garbled #725 entry (`:populate_key`), and add the timely 0.30 / columnar 0.13 bump (bf9b36f) that release-plz missed because it landed outside a PR. Adds a closing summary of the breaking changes downstream consumers need to migrate. For dogsdogsdogs, surface what Spring cleaning actually changed in its examples (`usize::max_value()` -> `usize::MAX`) and note the timely 0.30 tracking. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Frank McSherry <fmcsherry@me.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e3bdcd5 commit 3f279da

5 files changed

Lines changed: 43 additions & 3 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ edition = "2021"
2222
rust-version = "1.86"
2323

2424
[workspace.dependencies]
25-
differential-dataflow = { path = "differential-dataflow", default-features = false, version = "0.23.0" }
25+
differential-dataflow = { path = "differential-dataflow", default-features = false, version = "0.24.0" }
2626
timely = { version = "0.30", default-features = false }
2727
columnar = { version = "0.13", default-features = false }
2828
#timely = { git = "https://github.com/TimelyDataflow/timely-dataflow", default-features = false }

differential-dataflow/CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.24.0](https://github.com/TimelyDataflow/differential-dataflow/compare/differential-dataflow-v0.23.0...differential-dataflow-v0.24.0) - 2026-05-29
11+
12+
### Added
13+
14+
- New experimental `columnar` module exposing public (but explicitly unstable) columnar arrangement and container infrastructure: `UpdatesTyped`, `RecordedUpdates`, `ValPact`, `ValBatcher`, `ValBuilder`, `ValChunker`, `ValSpine`, plus dynamic-scope helpers (`DynTime`, `leave_dynamic`). See the module docs for the current rough edges. ([#730](https://github.com/TimelyDataflow/differential-dataflow/pull/730))
15+
- Columnar serialization for trace transport: `UpdatesView` reader, `UpdatesTyped` writer, and a `Stash`-backed `RecordedUpdates` with a `ContainerBytes` impl. ([#733](https://github.com/TimelyDataflow/differential-dataflow/pull/733))
16+
- Columnar spilling merge batcher with pluggable `Spill` / `Fetch` / `SpillPolicy` traits parameterized over a chunk type. The `columnar_spill` example demonstrates a disk-backed, lz4-compressed spill path. ([#741](https://github.com/TimelyDataflow/differential-dataflow/pull/741))
17+
- `Cursor::populate_key` for key-positioned bulk load into an `EditList`, with an optional time `meet` to advance times before consolidation. Used by `reduce` and `ValueHistory`. ([#725](https://github.com/TimelyDataflow/differential-dataflow/pull/725))
18+
19+
### Changed
20+
21+
- Update to timely 0.30 and columnar 0.13. (bf9b36f)
22+
- Separate the chunker from the batcher. The `Batcher` trait drops its `Input` associated type and `push_container` method and now accepts pre-chunked input via `PushInto<Self::Output>`. `arrange_core` gains `C` (input container) and `Chu: ContainerBuilder` (chunker) type parameters so chunking lives in the operator. The high-level `.arrange::<Ba, Bu, Tr>()` callsite is unchanged; cross-container callers (columnar, interactive, spill) drop to `arrange_core` directly. ([#625](https://github.com/TimelyDataflow/differential-dataflow/pull/625))
23+
- `Batcher::seal` no longer takes a `B: Builder` type parameter; the builder is supplied at the call site. ([#745](https://github.com/TimelyDataflow/differential-dataflow/pull/745))
24+
- Replace the `Cursor` generic argument with associated types (`Key`, `Val`, `Time`, `Diff`), simplifying trait bounds throughout. ([#726](https://github.com/TimelyDataflow/differential-dataflow/pull/726))
25+
- Reduce moments of owned `Time` in `join`; improve use of `join_assign`; add the missing `PointStamp::meet_assign`. ([#727](https://github.com/TimelyDataflow/differential-dataflow/pull/727))
26+
- Restore the pre-#725 division of labor in `EditList::load`: the join inner loop again walks vals inline from the cursor's current position rather than re-seeking on every key, recovering a ~3s regression in the spines benchmark. `Cursor::populate_key` retains the seek for callers (`reduce`, `ValueHistory`) that need it. ([#732](https://github.com/TimelyDataflow/differential-dataflow/pull/732))
27+
28+
### Removed
29+
30+
- `InternalMerge*` types and traits; `VecMerger` moves to its own independent module. ([#740](https://github.com/TimelyDataflow/differential-dataflow/pull/740))
31+
- Spring cleaning: remove `ShutdownDeadmans`, `TraceRc` and `trace/wrappers/rc.rs`, `chainless_batcher.rs`, `RHH`, the Huffman container, the `Clone` constraint on traces, redundant trait bounds, dead and commented code, and needless borrows; convert `::max_value()` to `::MAX`. ([#724](https://github.com/TimelyDataflow/differential-dataflow/pull/724))
32+
33+
### Other
34+
35+
- Spine benchmark example improvements. `examples/spines.rs` is restored as a `key` / `val` / `col` arrangement bake-off using the new `columnar` module via an in-dataflow `ToRecorded` repacker. ([#732](https://github.com/TimelyDataflow/differential-dataflow/pull/732))
36+
- New `examples/scc.rs` for comparative benchmarking; use `meet_assign` in `ValueHistory::replay`. ([#731](https://github.com/TimelyDataflow/differential-dataflow/pull/731))
37+
38+
This is a heavily breaking release driven by tracking timely 0.30 and introducing the experimental `columnar` module.
39+
The `Batcher` trait no longer knows about input containers; chunking moves into `arrange_core`, which gains two new type parameters. Direct callers of `arrange_core` need to supply a chunker; users of `.arrange::<Ba, Bu, Tr>()` are unaffected.
40+
The `Cursor` trait swaps its generic argument for associated types — downstream cursor implementations need to migrate from `impl<K, V, T, D> Cursor for ...` to associated-type form.
41+
`TraceRc`, `RHH`, `HuffmanContainer`, and the `InternalMerge*` family are gone; consumers should move to the columnar-backed equivalents (when applicable) or hold their own `Rc<TraceBox<_>>`.
42+
1043
## [0.23.0](https://github.com/TimelyDataflow/differential-dataflow/compare/differential-dataflow-v0.22.0...differential-dataflow-v0.23.0) - 2026-04-13
1144

1245
### Changed

differential-dataflow/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22

33
name = "differential-dataflow"
4-
version = "0.23.0"
4+
version = "0.24.0"
55
authors = ["Frank McSherry <fmcsherry@me.com>"]
66

77
description = "An incremental data-parallel dataflow platform"

dogsdogsdogs/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.24.0](https://github.com/TimelyDataflow/differential-dataflow/compare/differential-dogs3-v0.23.0...differential-dogs3-v0.24.0) - 2026-05-29
11+
12+
### Changed
13+
14+
- Track differential-dataflow 0.24 and timely 0.30 / columnar 0.13.
15+
- Examples updated to use `usize::MAX` rather than the deprecated `usize::max_value()` ([#724](https://github.com/TimelyDataflow/differential-dataflow/pull/724)).
16+
1017
## [0.23.0](https://github.com/TimelyDataflow/differential-dataflow/compare/differential-dogs3-v0.22.0...differential-dogs3-v0.23.0) - 2026-04-13
1118

1219
### Changed

dogsdogsdogs/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "differential-dogs3"
3-
version = "0.23.0"
3+
version = "0.24.0"
44
authors = ["Frank McSherry <fmcsherry@me.com>"]
55
license = "MIT"
66
edition.workspace = true

0 commit comments

Comments
 (0)