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
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.24.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.23.0...timely-v0.24.0) - 2025-08-28

This version of Timely has some exciting new features.

* The `Distributor` trait offers a generalization of the `Exchange` type. It allows users to define custom distribution
strategies for routing data across workers. The `Exchange` type requires a row-by-row distribution and uses
container builders to form batches of data, which limits its flexibility. The `Distributor` trait, on the other hand,
allows users to define their own behavior for distributing data, and does not need to work row-by-row.
It only needs to uphold progress tracking requirements, which are that the amount of records on the input
matches those on the output.
* We split the `Container` trait into multiple traits. The `Accountable` trait indicates the number of records
in a container for progress tracking and is the only required trait for a container.
The `iter` and `drain` functions are part of the new `IterContainer` and `DrainContainer` traits.
We do not require all containers to provide all of these traits, and it is mostly high-level operators that require
a container to implement them. We alos removed the `clear` function from containers as it
is not well-defined in all cases, for example for immutable data.
* The `Map` trait offers a `flat_map_builder` function to accumulate flatmap logic.

### Other

- Introduce builder for flatmap operators ([#704](https://github.com/TimelyDataflow/timely-dataflow/pull/704))
- Container rework ([#697](https://github.com/TimelyDataflow/timely-dataflow/pull/697))
- Distributor trait ([#700](https://github.com/TimelyDataflow/timely-dataflow/pull/700))

## [0.23.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.22.0...timely-v0.23.0) - 2025-08-28

### 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.23.0"
version = "0.24.0"
authors = ["Frank McSherry <[email protected]>"]
edition = "2018"

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.23.0"
version = "0.24.0"
authors = ["Frank McSherry <[email protected]>"]
description = "Communication layer for timely dataflow"
edition.workspace = true
Expand All @@ -24,9 +24,9 @@ columnar = { workspace = true }
getopts = { version = "0.2.21", optional = true }
byteorder = "1.5"
serde = { version = "1.0", features = ["derive"] }
timely_bytes = { path = "../bytes", version = "0.23" }
timely_container = { path = "../container", version = "0.23.0" }
timely_logging = { path = "../logging", version = "0.23" }
timely_bytes = { path = "../bytes", version = "0.24" }
timely_container = { path = "../container", version = "0.24.0" }
timely_logging = { path = "../logging", version = "0.24" }

# 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.23.0"
version = "0.24.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.23.0"
version = "0.24.0"
authors = ["Frank McSherry <[email protected]>"]
description = "Common timely logging infrastructure"
edition.workspace = true
Expand All @@ -15,4 +15,4 @@ license = "MIT"
workspace = true

[dependencies]
timely_container = { version = "0.23.0", path = "../container" }
timely_container = { version = "0.24.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.23.0"
version = "0.24.0"
authors = ["Frank McSherry <[email protected]>"]
readme = "../README.md"
edition.workspace = true
Expand Down Expand Up @@ -29,10 +29,10 @@ bincode = { version = "1.0" }
byteorder = "1.5"
itertools = "0.14.0"
serde = { version = "1.0", features = ["derive"] }
timely_bytes = { path = "../bytes", version = "0.23" }
timely_logging = { path = "../logging", version = "0.23" }
timely_communication = { path = "../communication", version = "0.23", default-features = false }
timely_container = { path = "../container", version = "0.23" }
timely_bytes = { path = "../bytes", version = "0.24" }
timely_logging = { path = "../logging", version = "0.24" }
timely_communication = { path = "../communication", version = "0.24", default-features = false }
timely_container = { path = "../container", version = "0.24" }
smallvec = { version = "1.13.2", features = ["serde", "const_generics"] }

[dev-dependencies]
Expand Down
Loading