Skip to content

Releases: TimelyDataflow/differential-dataflow

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.

differential-dogs3-v0.20.0

05 Mar 19:33
88242a4

Choose a tag to compare

Other

  • Update github workflows (#673)
  • Set MSRV to 1.86 (#672)
  • Differential corrected atop candidate timely 0.27 (#671)
  • Test mdbook like a crate (#669)
  • Migrate Join logic away from traits (#668)
  • More VecCollection demotion (#667)
  • Deprioritize the Vec container (#664)

differential-dataflow-v0.20.0

05 Mar 19:32
88242a4

Choose a tag to compare

Other

  • Update release notes for 0.20 (#680)
  • Pull in probe changes (#677)
  • Break Variable into (Variable, Collection) (#674)
  • Update github workflows (#673)
  • Set MSRV to 1.86 (#672)
  • Differential corrected atop candidate timely 0.27 (#671)
  • Test mdbook like a crate (#669)
  • Migrate Join logic away from traits (#668)
  • More VecCollection demotion (#667)
  • Implement utility traits for Rc collections (#666)
  • Deprioritize the Vec container (#664)

Substantial superficial but breaking changes due to the adoption of timely 0.27.
Primarily that the Stream contained by Collection is not Clone by default, and is now conventionally passed owned rather than by reference.
The necessary fix-ups are to convert to owned collections, and where needed to clone the collection, which requires that its container implement Clone.

Related, the Variable types is broken into a pair (Variable, Collection), where the latter is the usable collection the type would previously Deref to, and the former is the connection point to bind the variable's definition.
The SemigroupVariable was removed, as it is now redundant with Variable::new(), which does not require Negate (the main difference between the two variables).

Several steps were taken to "deprioritize" collections with vector containers.
Many traits defined only on vector collections were removed in favor of inherent methods.
Traits and methods that produce vector collections were (and continue to be) reconsidered to avoid routing users into that opinion.
All prior functionality is available, though in some cases it requires explicit indication of preferred container types (internally, only in "demo" cases).

The probe operator was updated to track timely changes that have it return a pair of handle and collection, rather than only a handle.
This aligns more with the "owned collection" idiom.

differential-dogs3-v0.19.1

06 Feb 20:20
71e44ef

Choose a tag to compare

Other

  • update Cargo.toml dependencies

differential-dogs3-v0.19.0

06 Feb 20:09
5178ca9

Choose a tag to compare

Other

  • Updates for timely 0.25 (#647)
  • Extract VecCollection from Collection (#651)
  • Correct some clippy nit (#649)