Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.28.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.27.0...timely-v0.28.0) - 2026-03-25

### Added

- Per-input frontier interest via `FrontierInterest` enum (`Always`, `IfCapability`, `Never`), enabling lazy scheduling where operators only wake on frontier changes when they hold capabilities. Replaces `set_notify(bool)` with `set_notify_for(input, FrontierInterest)`. ([#754](https://github.com/TimelyDataflow/timely-dataflow/pull/754))
- New `event_driven.rs` example demonstrating lazy scheduling within regions ([#754](https://github.com/TimelyDataflow/timely-dataflow/pull/754))
- Logging chapter in the mdbook with detailed documentation of `TimelyEvent` variants, operator/channel mapping, scope boundary conventions, and reachability logging ([#766](https://github.com/TimelyDataflow/timely-dataflow/pull/766), [#767](https://github.com/TimelyDataflow/timely-dataflow/pull/767), [#768](https://github.com/TimelyDataflow/timely-dataflow/pull/768))
- Documentation on execution idioms: stepping, running to completion, and event-driven patterns ([#770](https://github.com/TimelyDataflow/timely-dataflow/pull/770))

### Changed

- **Breaking:** `Operate` is now a builder trait. `get_internal_summary` is renamed to `initialize` and consumes `self`, returning `(Connectivity, SharedProgress, Box<dyn Schedule>)`. Custom operators must be updated. ([#756](https://github.com/TimelyDataflow/timely-dataflow/pull/756))
- **Breaking:** `MutableAntichain::new_bottom` renamed to `from_elem` ([#758](https://github.com/TimelyDataflow/timely-dataflow/pull/758))
- **Breaking:** `BytesMut::try_regenerate` now returns `Option<bool>` instead of panicking on type mismatch ([#759](https://github.com/TimelyDataflow/timely-dataflow/pull/759))
- **Breaking:** `vec::Partition` trait signature simplified; type parameters `D2` and `F` moved from the trait to the method ([#759](https://github.com/TimelyDataflow/timely-dataflow/pull/759))
- Default progress mode changed from `Eager` to `Demand` for more efficient progress tracking ([#758](https://github.com/TimelyDataflow/timely-dataflow/pull/758))
- Progress tracking `Tracker` internals converted to columnar representation for better cache locality ([#762](https://github.com/TimelyDataflow/timely-dataflow/pull/762))
- Updated to columnar 0.12 ([#769](https://github.com/TimelyDataflow/timely-dataflow/pull/769))

### Removed

- **Breaking:** `Operate::set_external_summary` removed; operators are no longer scheduled during dataflow construction. Probe initialization corrected to not require this. ([#592](https://github.com/TimelyDataflow/timely-dataflow/pull/592))
- **Breaking:** `Input::epoch()` removed; use `Input::time()` instead ([#758](https://github.com/TimelyDataflow/timely-dataflow/pull/758))

### Fixed

- Extensive mdbook documentation fixes: broken links, outdated API signatures, untested examples converted to compile-checked blocks ([#760](https://github.com/TimelyDataflow/timely-dataflow/pull/760))

## [0.27.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.26.1...timely-v0.27.0) - 2026-03-03

### Other
Expand Down
2 changes: 1 addition & 1 deletion bytes/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "timely_bytes"
version = "0.27.0"
version = "0.28.0"
authors = ["Frank McSherry <fmcsherry@me.com>"]
edition.workspace = true
rust-version.workspace = true
Expand Down
8 changes: 4 additions & 4 deletions communication/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "timely_communication"
version = "0.27.0"
version = "0.28.0"
authors = ["Frank McSherry <fmcsherry@me.com>"]
description = "Communication layer for timely dataflow"
edition.workspace = true
Expand All @@ -25,9 +25,9 @@ columnar = { workspace = true }
getopts = { version = "0.2.24", optional = true }
byteorder = "1.5"
serde = { version = "1.0", features = ["derive"] }
timely_bytes = { path = "../bytes", version = "0.27" }
timely_container = { path = "../container", version = "0.27.0" }
timely_logging = { path = "../logging", version = "0.27" }
timely_bytes = { path = "../bytes", version = "0.28" }
timely_container = { path = "../container", version = "0.28.0" }
timely_logging = { path = "../logging", version = "0.28" }

# Lgalloc only supports linux and macos, don't depend on any other OS.
[target.'cfg(any(target_os = "linux", target_os = "macos"))'.dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion container/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "timely_container"
version = "0.27.0"
version = "0.28.0"
description = "Container abstractions for Timely"
license = "MIT"
edition.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions logging/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "timely_logging"
version = "0.27.0"
version = "0.28.0"
authors = ["Frank McSherry <fmcsherry@me.com>"]
description = "Common timely logging infrastructure"
edition.workspace = true
Expand All @@ -16,4 +16,4 @@ license = "MIT"
workspace = true

[dependencies]
timely_container = { version = "0.27.0", path = "../container" }
timely_container = { version = "0.28.0", path = "../container" }
10 changes: 5 additions & 5 deletions timely/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

name = "timely"
version = "0.27.0"
version = "0.28.0"
authors = ["Frank McSherry <fmcsherry@me.com>"]
readme = "../README.md"
edition.workspace = true
Expand Down Expand Up @@ -30,8 +30,8 @@ bincode = { version = "1.3" }
byteorder = "1.5"
itertools = "0.14.0"
serde = { version = "1.0", features = ["derive"] }
timely_bytes = { path = "../bytes", version = "0.27" }
timely_logging = { path = "../logging", version = "0.27" }
timely_communication = { path = "../communication", version = "0.27", default-features = false }
timely_container = { path = "../container", version = "0.27" }
timely_bytes = { path = "../bytes", version = "0.28" }
timely_logging = { path = "../logging", version = "0.28" }
timely_communication = { path = "../communication", version = "0.28", default-features = false }
timely_container = { path = "../container", version = "0.28" }
smallvec = { version = "1.15.1", features = ["serde", "const_generics"] }
Loading