Skip to content

Releases: TimelyDataflow/differential-dataflow

differential-dogs3-v0.23.0

13 Apr 21:30
1f348ab

Choose a tag to compare

Changed

  • Update to timely 0.29, tracking scope ownership and lifetime changes (#714, #718, #720)
  • PrefixExtender, half-join, and calculus traits now parameterized by 'scope lifetime and T: Timestamp instead of G: Scope (#714, #718)

differential-dataflow-v0.23.0

13 Apr 21:30
1f348ab

Choose a tag to compare

Changed

  • Update to timely 0.29 (#714, #718, #720)
  • Remove scope generic from Arranged (now Arranged<'scope, Tr> instead of Arranged<G, Tr> where G: Scope), simplifying trait bounds throughout (#714)
  • Add explicit 'scope lifetime parameter to VecCollection, Arranged, and related types (#718)
  • Scopes are now passed by value rather than by reference (enter(scope) instead of enter(&scope)) (#720)
  • reduce_abelian and reduce_core accept a container/builder parameter for output, removing the KeyOwn requirement from trace bounds (#710)

Removed

  • TimelyStack container and all dependent types: TStack layout, ColumnationChunker, ColInternalMerger, and Col* type aliases (ColValSpine, ColKeySpine, etc.) (#715)

Other

  • Substantial cleanup of reduce.rs: remove ~300 lines of dead code, simplify conditional logic, replace silent error swallowing with panics (#709)
  • Columnar support refinements (#704)

This is a heavily breaking release driven by tracking timely 0.29.
The Arranged type loses its scope generic and gains an explicit scope lifetime.
Scope parameters throughout the API shift from generic S: Scope to concrete types, and scopes are passed owned rather than borrowed.
Users of Col* type aliases should migrate to columnar-backed equivalents.
The reduce family of functions now takes an explicit output container parameter, which removes the need for KeyOwn bounds on traces.

differential-dogs3-v0.22.0

07 Apr 13:05
775967a

Choose a tag to compare

Other

  • Consolidate storage types to avoid double allocations
  • Re-order stages and improve session batching
  • Less quadratic half_join

differential-dataflow-v0.22.0

07 Apr 13:05
775967a

Choose a tag to compare

Other

  • Allow InternalMerger::extract to yield when full buffer (#711)

differential-dogs3-v0.21.2

02 Apr 13:00
04a69e4

Choose a tag to compare

Other

  • Consolidate storage types to avoid double allocations
  • Re-order stages and improve session batching
  • Less quadratic half_join

differential-dataflow-v0.21.2

02 Apr 13:00
04a69e4

Choose a tag to compare

Other

  • InternalMerger adopts tail chunks rather than copy them
  • Tidy up structure of logic
  • Dial in buffer sizing
  • Introduce VecMerger to efficiently merge owning vectors

differential-dogs3-v0.21.1

26 Mar 17:38
51cee56

Choose a tag to compare

Other

  • update Cargo.toml dependencies

differential-dataflow-v0.21.1

26 Mar 17:38
51cee56

Choose a tag to compare

Other

  • InternalMerger adopts tail chunks rather than copy them
  • Tidy up structure of logic
  • Dial in buffer sizing
  • Introduce VecMerger to efficiently merge owning vectors

differential-dogs3-v0.21.0

25 Mar 16:28
47c4ec1

Choose a tag to compare

Other

  • update Cargo.toml dependencies

differential-dataflow-v0.21.0

25 Mar 16:28
47c4ec1

Choose a tag to compare

Added

  • Arranged::as_container convenience method for extracting non-Vec containers from arrangements (#695)
  • Columnation and Columnar implementations for the Present zero-sized difference type (#682)

Changed

  • Update to timely 0.28 and columnar 0.12 (#698)
  • Adopt internal iteration for consolidation, merge batching, and trace building, replacing external iteration that leaked internal types through abstractions (#689)

Fixed

  • Eliminate a redundant arrange in propagate and a double scope-import in scc (#692)

The main theme of this release is internal iteration: consolidation, merging, and trace building now happen behind trait methods rather than exposing container internals outward.
Dependency updates track timely 0.28 and columnar 0.12.