Skip to content

Commit 7042ac6

Browse files
committed
Merge remote-tracking branch 'upstream/master' into use-dep-syntax-for-getopts
2 parents 5e051dd + 6bba5fe commit 7042ac6

File tree

130 files changed

+2686
-2493
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+2686
-2493
lines changed

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
# Check for updates every Monday
6+
schedule:
7+
interval: "weekly"
8+

.github/workflows/release-plz.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Release-plz
2+
3+
permissions:
4+
pull-requests: write
5+
contents: write
6+
7+
on:
8+
push:
9+
branches:
10+
- master
11+
12+
jobs:
13+
release-plz:
14+
name: Release-plz
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
- name: Install Rust toolchain
22+
uses: actions-rust-lang/setup-rust-toolchain@v1
23+
- name: Run release-plz
24+
uses: MarcoIeni/[email protected]
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
CARGO_REGISTRY_TOKEN: ${{ secrets.RELEASE_PLZ_CARGO_TOKEN }}

CHANGELOG.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,111 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.18.1](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.18.0...timely-v0.18.1) - 2025-02-12
6+
7+
### Other
8+
9+
- Update columnar to 0.3, make workspace dependency ([#639](https://github.com/TimelyDataflow/timely-dataflow/pull/639))
10+
11+
## [0.18.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.17.1...timely-v0.18.0) - 2025-02-12
12+
13+
### Other
14+
15+
- Update columnar to 0.3, and columnar example ([#635](https://github.com/TimelyDataflow/timely-dataflow/pull/635))
16+
- Convert Write::write to Write::write_all ([#636](https://github.com/TimelyDataflow/timely-dataflow/pull/636))
17+
- Introduce foundation for broadcast channel ([#633](https://github.com/TimelyDataflow/timely-dataflow/pull/633))
18+
19+
## [0.17.1](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.17.0...timely-v0.17.1) - 2025-01-24
20+
21+
### Other
22+
23+
- Derive ord/eq traits for Product's columnar variant ([#630](https://github.com/TimelyDataflow/timely-dataflow/pull/630))
24+
25+
## [0.17.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.16.1...timely-v0.17.0) - 2025-01-23
26+
27+
### Other
28+
29+
- Move opinions about reachability logging into TrackerLogger ([#629](https://github.com/TimelyDataflow/timely-dataflow/pull/629))
30+
- Align `Bytesable` messages to `u64` ([#614](https://github.com/TimelyDataflow/timely-dataflow/pull/614))
31+
- Flatten reachability logging, log identifier ([#628](https://github.com/TimelyDataflow/timely-dataflow/pull/628))
32+
- Log operator summaries using clever approach ([#626](https://github.com/TimelyDataflow/timely-dataflow/pull/626))
33+
- Allow event iterators to surface owned data ([#627](https://github.com/TimelyDataflow/timely-dataflow/pull/627))
34+
- Typed logging ([#624](https://github.com/TimelyDataflow/timely-dataflow/pull/624))
35+
36+
## [0.16.1](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.16.0...timely-v0.16.1) - 2025-01-16
37+
38+
### Other
39+
40+
- Avoid allocation in progcaster ([#622](https://github.com/TimelyDataflow/timely-dataflow/pull/622))
41+
- Log action can distinguish data from flush ([#619](https://github.com/TimelyDataflow/timely-dataflow/pull/619))
42+
- give_container for arbitrary container builders ([#621](https://github.com/TimelyDataflow/timely-dataflow/pull/621))
43+
- Add an is_empty check before retrieving elapsed time. ([#620](https://github.com/TimelyDataflow/timely-dataflow/pull/620))
44+
- Correct documentation for execute_from_args ([#617](https://github.com/TimelyDataflow/timely-dataflow/pull/617))
45+
46+
## [0.16.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.15.1...timely-v0.16.0) - 2025-01-09
47+
48+
### Other
49+
50+
- Define loggers in terms of container builders ([#615](https://github.com/TimelyDataflow/timely-dataflow/pull/615))
51+
- Remove SizableContainer requirement from partition ([#612](https://github.com/TimelyDataflow/timely-dataflow/pull/612))
52+
53+
## [0.15.1](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.15.0...timely-v0.15.1) - 2024-12-18
54+
55+
### Other
56+
57+
- Remove worker identifier from logging ([#533](https://github.com/TimelyDataflow/timely-dataflow/pull/533))
58+
- add `.partition()` for `StreamCore` (#610)
59+
- Update columnar ([#611](https://github.com/TimelyDataflow/timely-dataflow/pull/611))
60+
- Introduce columnar and derive extensively ([#608](https://github.com/TimelyDataflow/timely-dataflow/pull/608))
61+
62+
## [0.15.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.14.1...timely-v0.15.0) - 2024-12-05
63+
64+
### Other
65+
66+
- Prefer byteorder in place of bincode ([#607](https://github.com/TimelyDataflow/timely-dataflow/pull/607))
67+
- Use help from columnar 0.1.1 ([#606](https://github.com/TimelyDataflow/timely-dataflow/pull/606))
68+
- Reorganize `Container` traits ([#605](https://github.com/TimelyDataflow/timely-dataflow/pull/605))
69+
- Robustify potential Bytes alignment
70+
- Correct bincode call to use and update reader
71+
- Demonstrate `columnar` stuff ([#586](https://github.com/TimelyDataflow/timely-dataflow/pull/586))
72+
- Allow containers to specify their own serialization ([#604](https://github.com/TimelyDataflow/timely-dataflow/pull/604))
73+
- Remove Container: Clone + 'static ([#540](https://github.com/TimelyDataflow/timely-dataflow/pull/540))
74+
- Apply various Clippy recommendations ([#603](https://github.com/TimelyDataflow/timely-dataflow/pull/603))
75+
- Several improvements around `Bytesable` and `Message`. ([#601](https://github.com/TimelyDataflow/timely-dataflow/pull/601))
76+
77+
## [0.14.1](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.14.0...timely-v0.14.1) - 2024-11-12
78+
79+
### Added
80+
81+
The type `timely::Message` is now publicly re-exported.
82+
83+
### Other
84+
85+
- Public Message type ([#599](https://github.com/TimelyDataflow/timely-dataflow/pull/599))
86+
87+
## [0.14.0](https://github.com/TimelyDataflow/timely-dataflow/compare/timely-v0.13.0...timely-v0.14.0) - 2024-11-11
88+
89+
### Added
90+
91+
The trait `communication::Bytesable`, for types that must be serialized into or from a `Bytes`, and stands in for "timely appropriate serialization".
92+
The trait `communication::Exchangeable`, a composite trait bringing together the requirements on a type for it to be sent along a general purpose communication channel.
93+
94+
### Removed
95+
96+
The communication `Message` and `RefOrMut` types have been removed.
97+
The `RefOrMut` type wrapped either a `&T` or a `&mut T`, but with the removal of `abomonation` it is always a `&mut T`.
98+
The `Message` type was used to indicate the serialization / deserialization behavior, and these opinions (e.g. "use `bincode`") have been migrated to the core `timely` crate.
99+
100+
### Other
101+
102+
- Move opinions about encoding from `communication` to `timely`. ([#597](https://github.com/TimelyDataflow/timely-dataflow/pull/597))
103+
- Rust updates, better doc testing ([#598](https://github.com/TimelyDataflow/timely-dataflow/pull/598))
104+
- Simplify communication `Message` type ([#596](https://github.com/TimelyDataflow/timely-dataflow/pull/596))
105+
106+
## 0.13.0 - 2024-10-29
107+
108+
Changelog bankruptcy declared.
109+
5110
## 0.12.0
6111

7112
The `Timestamp` trait has a new method `minimim()` that replaces Timely's use of `Default::default()` for default capabilities. The most pressing reason for this is the use of signed integers for timestamps, where Timely would effectively prevent the use of negative numbers by providing the default value of zero for capabilities. This should not have reduced any functionality, but might provide surprising output for programs that use integer timestamps and do not first advance timestamps (the tidy `0` will be replaced with `_::min_value()`).

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ resolver = "2"
1212
[workspace.package]
1313
edition = "2021"
1414

15+
[workspace.dependencies]
16+
columnar = "0.3"
17+
1518
[profile.release]
1619
opt-level = 3
1720
debug = true

README.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,14 @@ Be sure to read the [documentation for timely dataflow](https://docs.rs/timely).
1010

1111
To use timely dataflow, add the following to the dependencies section of your project's `Cargo.toml` file:
1212

13-
```
13+
```toml
1414
[dependencies]
1515
timely="*"
1616
```
1717

1818
This will bring in the [`timely` crate](https://crates.io/crates/timely) from [crates.io](http://crates.io), which should allow you to start writing timely dataflow programs like this one (also available in [timely/examples/simple.rs](https://github.com/timelydataflow/timely-dataflow/blob/master/timely/examples/simple.rs)):
1919

2020
```rust
21-
extern crate timely;
22-
2321
use timely::dataflow::operators::*;
2422

2523
fn main() {
@@ -32,7 +30,7 @@ fn main() {
3230

3331
You can run this example from the root directory of the `timely-dataflow` repository by typing
3432

35-
```
33+
```text
3634
% cargo run --example simple
3735
Running `target/debug/examples/simple`
3836
seen: 0
@@ -54,8 +52,6 @@ This is a very simple example (it's in the name), which only just suggests at ho
5452
For a more involved example, consider the very similar (but more explicit) [examples/hello.rs](https://github.com/timelydataflow/timely-dataflow/blob/master/timely/examples/hello.rs), which creates and drives the dataflow separately:
5553

5654
```rust
57-
extern crate timely;
58-
5955
use timely::dataflow::{InputHandle, ProbeHandle};
6056
use timely::dataflow::operators::{Input, Exchange, Inspect, Probe};
6157

@@ -96,7 +92,7 @@ We first build a dataflow graph creating an input stream (with `input_from`), wh
9692
We then drive the computation by repeatedly introducing rounds of data, where the `round` itself is used as the data. In each round, each worker introduces the same data, and then repeatedly takes dataflow steps until the `probe` reveals that all workers have processed all work for that epoch, at which point the computation proceeds.
9793

9894
With two workers, the output looks like
99-
```
95+
```text
10096
% cargo run --example hello -- -w2
10197
Running `target/debug/examples/hello -w2`
10298
worker 0: hello 0
@@ -120,7 +116,7 @@ The `hello.rs` program above will by default use a single worker thread. To use
120116
To use multiple processes, you will need to use the `-h` or `--hostfile` option to specify a text file whose lines are `hostname:port` entries corresponding to the locations you plan on spawning the processes. You will need to use the `-n` or `--processes` argument to indicate how many processes you will spawn (a prefix of the host file), and each process must use the `-p` or `--process` argument to indicate their index out of this number.
121117

122118
Said differently, you want a hostfile that looks like so,
123-
```
119+
```text
124120
% cat hostfile.txt
125121
host0:port
126122
host1:port
@@ -129,7 +125,7 @@ host3:port
129125
...
130126
```
131127
and then to launch the processes like so:
132-
```
128+
```text
133129
host0% cargo run -- -w 2 -h hostfile.txt -n 4 -p 0
134130
host1% cargo run -- -w 2 -h hostfile.txt -n 4 -p 1
135131
host2% cargo run -- -w 2 -h hostfile.txt -n 4 -p 2
@@ -187,7 +183,7 @@ The communication layer is based on a type `Content<T>` which can be backed by t
187183

188184
**NOTE**: Differential dataflow demonstrates how to do this at the user level in its `operators/arrange.rs`, if somewhat sketchily (with a wrapper that lies about the properties of the type it transports).
189185

190-
This would allow us to safely pass Rc<T> types around, as long as we use the `Pipeline` parallelization contract.
186+
This would allow us to safely pass `Rc<T>` types around, as long as we use the `Pipeline` parallelization contract.
191187

192188
## Coarse- vs fine-grained timestamps
193189

bytes/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "timely_bytes"
3-
version = "0.12.0"
3+
version = "0.13.0"
44
authors = ["Frank McSherry <[email protected]>"]
55
edition = "2018"
66

@@ -10,4 +10,4 @@ documentation = "https://docs.rs/timely/"
1010
homepage = "https://github.com/TimelyDataflow/timely-dataflow"
1111
repository = "https://github.com/TimelyDataflow/timely-dataflow.git"
1212
keywords = ["timely", "dataflow", "bytes"]
13-
license = "MIT"
13+
license = "MIT"

0 commit comments

Comments
 (0)