Releases: TimelyDataflow/differential-dataflow
Releases · TimelyDataflow/differential-dataflow
differential-dogs3-v0.23.0
differential-dataflow-v0.23.0
Changed
- Update to timely 0.29 (#714, #718, #720)
- Remove scope generic from
Arranged(nowArranged<'scope, Tr>instead ofArranged<G, Tr>whereG: Scope), simplifying trait bounds throughout (#714) - Add explicit
'scopelifetime parameter toVecCollection,Arranged, and related types (#718) - Scopes are now passed by value rather than by reference (
enter(scope)instead ofenter(&scope)) (#720) reduce_abelianandreduce_coreaccept a container/builder parameter for output, removing theKeyOwnrequirement from trace bounds (#710)
Removed
TimelyStackcontainer and all dependent types:TStacklayout,ColumnationChunker,ColInternalMerger, andCol*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
Other
- Consolidate storage types to avoid double allocations
- Re-order stages and improve session batching
- Less quadratic half_join
differential-dataflow-v0.22.0
Other
- Allow
InternalMerger::extractto yield when full buffer (#711)
differential-dogs3-v0.21.2
Other
- Consolidate storage types to avoid double allocations
- Re-order stages and improve session batching
- Less quadratic half_join
differential-dataflow-v0.21.2
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
Other
- update Cargo.toml dependencies
differential-dataflow-v0.21.1
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
Other
- update Cargo.toml dependencies
differential-dataflow-v0.21.0
Added
Arranged::as_containerconvenience method for extracting non-Veccontainers from arrangements (#695)ColumnationandColumnarimplementations for thePresentzero-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
arrangeinpropagateand a double scope-import inscc(#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.