Releases: hydro-project/hydro
hydro_deploy v0.5.1
Chore
- manually set lockstep-versioned crates (and
lattices
) to version0.5.1
Setting manually since
frewsxcv/rust-crates-index#159 is messing with
smart-release
Documentation
- actually committing empty CHANGELOG.md is required
New Features
- improve build error message debuggability
- pass subgraph ID through deploy metadata
- improve API naming and eliminate wire API for builders
- improve Rust API for defining services
- split Rust core from Python bindings
Bug Fixes
-
avoid inflexible
\\?\
canonical paths on windows to mitigate/
separator errors -
race conditions when handshake channels capture other outputs
Timeouts in Hydroflow+ tests were being caused by a race condition in Hydro Deploy where stdout sent after a handshake message would sometimes be sent to thecli_stdout
channel for handshakes.This PR adjusts the handshake channels to always be oneshot, so that the broadcaster immediately knows when to send data to the regular stdout channels.
Also refactors Hydro Deploy sources to split up more modules.
-
don't vendor openssl and fix docker build
-
fix docs and remove unnecessary async_trait
Commit Statistics
- 11 commits contributed to the release over the course of 39 calendar days.
- 11 commits were understood as conventional.
- 9 unique issues were worked on: #1010, #1014, #986, #987, #992, #994, #995, #996, #999
Commit Details
view details
- #1010
- Improve build error message debuggability (20fd1e5)
- #1014
- Avoid inflexible
\\?\
canonical paths on windows to mitigate/
separator errors (d23c229)
- Avoid inflexible
- #986
- Split Rust core from Python bindings (c50ca12)
- #987
- Improve Rust API for defining services (53d7aee)
- #992
- Fix docs and remove unnecessary async_trait (1d8adc1)
- #994
- Don't vendor openssl and fix docker build (1ae27de)
- #995
- Improve API naming and eliminate wire API for builders (b7aafd3)
- #996
- Pass subgraph ID through deploy metadata (46d87fa)
- #999
- Race conditions when handshake channels capture other outputs (f8a0b95)
- Uncategorized
lattices v0.5.0
Chore
- Fix
clippy::implied_bounds_in_impls
from latest nightlies
Documentation
- fix lattice math link
New Features
- Add serde derives to collections
- Add
UnionFind
lattice
Bug Fixes (BREAKING)
- fix some types and semantics for atomization
Commit Statistics
- 6 commits contributed to the release over the course of 41 calendar days.
- 56 days passed between releases.
- 5 commits were understood as conventional.
- 2 unique issues were worked on: #915, #922
Commit Details
hydroflow_macro v0.5.0
Chore
- bump proc-macro2 min version to 1.0.63
- refactor collect-String into fold for
clippy::clippy::format_collect
lint
using.map(|| format!()).collect()
results in a heapString
allocation for each item in the iterator, the fold only does one. Doesn't really matter for this case, just appeasing the lint
New Features
- initial technically working version of
demux_enum
with very bad error messages
Technically does not check port names at all, just depends on their order. - add import!() expression
- Add
monotonic_fn
andmorphism
macros, update snapshots for flow props.
Bug Fixes
- separate internal compiler operators in docs name/category/sort order
- properly feature gate
macro_invocation_path
source_file()
#937
Refactor
-
demux_enum
requires enum type name, add better error handling
New Features (BREAKING)
- Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs
Commit Statistics
- 10 commits contributed to the release over the course of 55 calendar days.
- 56 days passed between releases.
- 9 commits were understood as conventional.
- 6 unique issues were worked on: #881, #882, #884, #898, #932, #938
Commit Details
view details
- #881
- Refactor collect-String into fold for
clippy::clippy::format_collect
lint (2eac8ce)
- Refactor collect-String into fold for
- #882
- Add
monotonic_fn
andmorphism
macros, update snapshots for flow props. (7714403)
- Add
- #884
- Separate internal compiler operators in docs name/category/sort order (5ac9dde)
- #898
- Add import!() expression (f013c3c)
- #932
- Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs (9ed0ce0)
- #938
- Uncategorized
- Release hydroflow_lang v0.5.0, hydroflow_datalog_core v0.5.0, hydroflow_datalog v0.5.0, hydroflow_macro v0.5.0, lattices v0.5.0, hydroflow v0.5.0, hydro_cli v0.5.0, safety bump 4 crates (2e2d8b3)
- Bump proc-macro2 min version to 1.0.63 (f19eccc)
demux_enum
requires enum type name, add better error handling (1126266)- Initial technically working version of
demux_enum
with very bad error messages (b3d1148)
hydroflow_lang v0.5.0
Chore
- cleanup cli quotes, loose TODO comment
- bump proc-macro2 min version to 1.0.63
- ignore
clippy::unwrap_or_default
infold_keyed
codegen - Fix
clippy::implied_bounds_in_impls
from latest nightlies
Documentation
- add docs for the hydroflow surface syntax compilation process
New Features
-
Add
--no-handoffs
option to graphwrite args -
Add
--op-short-text
and--no-pull-push
graphwrite args -
add kvs with replication example
have both kvs_replicated and kvs, separate examplesadd
flow_props_fn
s tocross_join
(same asjoin
), andfilter
-
update snapshot tests for previous two commits
-
update propegate_flow_props fn to reach fixed-point
-
Add
flow_prop_fn
s to many operators_upcast
(new)demux_enum
for_each
inspect
join
-
open mermaid/dot graph in browser
HydroflowGraph::open_mermaid()
opens https://mermaid.live/HydroflowGraph::open_dot()
opens https://dreampuf.github.io/GraphvizOnline/
Behind a new
hydroflow/debugging
/hydroflow_lang/debugging
feature
gate. -
Update documentation and improve error messages for
demux_enum
operator -
add type guard to
demux_enum
codegen -
initial technically working version of
demux_enum
with very bad error messages
Technically does not check port names at all, just depends on their order. -
Implement
partition
operator
Supports both named ports and numeric indices. -
add context.is_first_time_subgraph_is_scheduled to simplify replaying operators
-
make lattice_fold and lattice_reduce consistent with fold/reduce
-
add import!() expression
-
Implement
flow_prop_fn
forunion()
-
Add
Cumul
flow_prop_fn
s forlattice_fold()
andlattice_reduce()
-
Update dot/graphviz rendering of delta/cumul and
defer_tick
edges -
Make
propegate_flow_props
fallible, cleanupflow_prop_fn
definition. -
add
cast
operator -
Update mermaid rendering of hydroflow graph to show flow properties
-
Add
monotonic_fn
andmorphism
macros, update snapshots for flow props. -
Move structs into separate
flow_props
module, makeflow_prop_fn
returnOption
s, impl formap
-
Add
source_iter_delta
op for testing, basic flow props test, cleanups. -
Implement basic flow prop traversal (untested)
-
Setup structure for tracking flow properties
Bug Fixes
- restore in-subgraph rendering of self-handoffs
- fix handling of whitespace in
cast
expressions - clippy warning on multiline string in hydro_cli, py_udf
- fix demux error messages and add tests
- clippy redundant
to_string()
inprint!
lints - Clean up degenerate subgraph error message for consistency
Makes the pinned and latest nightly version have the same stderr output
for consistent testing. - separate internal compiler operators in docs name/category/sort order
Refactor
- cleanup kvs example more
Addpersist
flow_prop_fn
demux_enum
requires enum type name, add better error handling- combine
topo_sort
andscc_kosaraju
intotopo_sort_scc
New Features (BREAKING)
- Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs
Commit Statistics
- 41 commits contributed to the release over the course of 53 calendar days.
- 56 days passed between releases.
- 41 commits were understood as conventional.
- 14 unique issues were worked on: #882, #883, #884, #892, #896, #898, #902, #906, #923, #924, #926, #932, #933, #935
Commit Details
view details
- #882
- Add
Cumul
flow_prop_fn
s forlattice_fold()
andlattice_reduce()
(63c435c) - Update dot/graphviz rendering of delta/cumul and
defer_tick
edges (9baf80c) - Make
propegate_flow_props
fallible, cleanupflow_prop_fn
definition. (fd89cb4) - Add
cast
operator (38346cf) - Update mermaid rendering of hydroflow graph to show flow properties (9ab7cf8)
- Add
monotonic_fn
andmorphism
macros, update snapshots for flow props. (7714403) - Move structs into separate
flow_props
module, makeflow_prop_fn
returnOption
s, impl formap
(008b980) - Add
source_iter_delta
op for testing, basic flow props test, cleanups. (fd5cdb5) - Implement basic flow prop traversal (untested) (b2ca4b7)
- Setup structure for tracking flow properties (686c275)
- Add
- #883
- #884
- Separate internal compiler operators in docs name/category/sort order (5ac9dde)
- #892
- Clean up degenerate subgraph error message for consistency (159a262)
- #896
- Ignore
clippy::unwrap_or_default
infold_keyed
codegen (1fb753e)
- Ignore
- #898
- Add import!() expression (f013c3c)
- #902
- Make lattice_fold and lattice_reduce consistent with fold/reduce (1ce5f01)
- #906
- Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators (d254e2d)
- #923
- Open mermaid/dot graph in browser (e7ea6d8)
- #924
- #926
- #932
- #933
- Fix handling of whitespace in
cast
expressions (f67b9f0)
- Fix handling of whitespace in
- #935
- Restore in-subgraph rendering of self-handoffs (2edf779)
- Uncategorized
- Bump proc-macro2 min version to 1.0.63 (f19eccc)
- Clippy warning on multiline string in hydro_cli, py_udf (a927dc6)
- Update documentation and improve error messages for
demux_enum
operator (9646ca0) demux_enum
requires enum type name, add better error handling (1126266)- Add type guard to
demux_enum
codegen (02fddd2) - Initial technically working version of
demux_enum
with very bad error messages (b3d1148) - Implement
partition
operator (fc25433) - Fix demux error messages and add tests (5a7e1b1)
- Clippy redundant
to_string()
inprint!
lints (51a200a) - Implement
flow_prop_fn
forunion()
(1bdbf73) - Fix
clippy::implied_bounds_in_impls
from latest nightlies (e788989)
hydroflow_datalog_core v0.5.0
Chore
- bump proc-macro2 min version to 1.0.63
- ignore
clippy::unwrap_or_default
infold_keyed
codegen - Replace
or_insert_with(Vec::new)
withor_default()
Clippy lintunwrap_or_default
complaining on latest nightly
New Features
- update snapshot tests for previous two commits
- add context.is_first_time_subgraph_is_scheduled to simplify replaying operators
- add import!() expression
- Implement
flow_prop_fn
forunion()
- Make
propegate_flow_props
fallible, cleanupflow_prop_fn
definition. - Add
monotonic_fn
andmorphism
macros, update snapshots for flow props.
Test
- update snapshots
Commit Statistics
- 10 commits contributed to the release over the course of 42 calendar days.
- 56 days passed between releases.
- 10 commits were understood as conventional.
- 7 unique issues were worked on: #882, #893, #896, #898, #906, #924, #926
Commit Details
view details
- #882
- #893
- Replace
or_insert_with(Vec::new)
withor_default()
(7c7eea7)
- Replace
- #896
- Ignore
clippy::unwrap_or_default
infold_keyed
codegen (1fb753e)
- Ignore
- #898
- Add import!() expression (f013c3c)
- #906
- Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators (d254e2d)
- #924
- Update snapshot tests for previous two commits (21140f0)
- #926
- Update snapshots (9144dd9)
- Uncategorized
hydroflow_datalog v0.5.0
Chore
- bump proc-macro2 min version to 1.0.63
Commit Statistics
- 1 commit contributed to the release over the course of 8 calendar days.
- 56 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Bump proc-macro2 min version to 1.0.63 (f19eccc)
hydroflow v0.5.0
Chore
- update snapshots for previous commit
- cleanup cli quotes, loose TODO comment
- Fix string join
clippy::format_collect
lint - Fix
clippy::implied_bounds_in_impls
from latest nightlies - Replace
or_insert_with(Vec::new)
withor_default()
Clippy lintunwrap_or_default
complaining on latest nightly
New Features
-
add kvs with replication example
have both kvs_replicated and kvs, separate examplesadd
flow_props_fn
s tocross_join
(same asjoin
), andfilter
-
update snapshot tests for previous two commits
-
open mermaid/dot graph in browser
HydroflowGraph::open_mermaid()
opens https://mermaid.live/
HydroflowGraph::open_dot()
opens https://dreampuf.github.io/GraphvizOnline/
Bug Fixes
- restore in-subgraph rendering of self-handoffs
- fix example
kvs
/kvs_replicated
tests, improve comments - surface python snapshot tests
- clippy warning on multiline string in hydro_cli, py_udf
- fix demux error messages and add tests
- Clean up degenerate subgraph error message for consistency
Makes the pinned and latest nightly version have the same stderr output
for consistent testing. - Make deadlock detector filter out spruious UDP
ConnectionReset
s on Windows - Ignore PermissionDenied on already-closed socket on Windows
- add context.current_tick_start() without breaking the scheduler this time
- add context.current_tick_start()
- separate internal compiler operators in docs name/category/sort order
Refactor
- kvs_bench graphwrite
- cleanup kvs example more
Addpersist
flow_prop_fn
- cleanup kvs example with lattice properties
Open graphs when--graph
is specified - refactor
kvs
example, cleanup, usedemux_enum
- update
chat
example to usedemux_enum
-
demux_enum
requires enum type name, add better error handling
Test
- record snapshots for
surface_scheduling.rs
- Add flow prop tests
New Features (BREAKING)
- Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs
Commit Statistics
- 45 commits contributed to the release over the course of 49 calendar days.
- 56 days passed between releases.
- 43 commits were understood as conventional.
- 19 unique issues were worked on: #882, #884, #885, #886, #887, #892, #893, #896, #897, #898, #902, #906, #918, #919, #923, #924, #926, #932, #935
Commit Details
view details
- #882
- Add
Cumul
flow_prop_fn
s forlattice_fold()
andlattice_reduce()
(63c435c) - Update dot/graphviz rendering of delta/cumul and
defer_tick
edges (9baf80c) - Record snapshots for
surface_scheduling.rs
(96e2f4c) - Add flow prop tests (95ed7a5)
- Make
propegate_flow_props
fallible, cleanupflow_prop_fn
definition. (fd89cb4) - Add
cast
operator (38346cf) - Update mermaid rendering of hydroflow graph to show flow properties (9ab7cf8)
- Add
monotonic_fn
andmorphism
macros, update snapshots for flow props. (7714403) - Add
source_iter_delta
op for testing, basic flow props test, cleanups. (fd5cdb5)
- Add
- #884
- Separate internal compiler operators in docs name/category/sort order (5ac9dde)
- #885
- #886
- Revert "fix: add context.current_tick_start()" (6844366)
- #887
- Add context.current_tick_start() without breaking the scheduler this time (3f45ec1)
- #892
- Clean up degenerate subgraph error message for consistency (159a262)
- #893
- Replace
or_insert_with(Vec::new)
withor_default()
(7c7eea7)
- Replace
- #896
- Fix string join
clippy::format_collect
lint (58bf7ba)
- Fix string join
- #897
- Move
hydroflow_expect_warnings
into library, use intests/surface_flow_props.rs
(d03ffe7)
- Move
- #898
- Add import!() expression (f013c3c)
- #902
- Make lattice_fold and lattice_reduce consistent with fold/reduce (1ce5f01)
- #906
- Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators (d254e2d)
- #918
- #919
- Surface python snapshot tests (a6708bb)
- #923
- Open mermaid/dot graph in browser (e7ea6d8)
- #924
- #926
- #932
- #935
- Uncategorized
- Release hydroflow_lang v0.5.0, hydroflow_datalog_core v0.5.0, hydroflow_datalog v0.5.0, hydroflow_macro v0.5.0, lattices v0.5.0, hydroflow v0.5.0, hydro_cli v0.5.0, safety bump 4 crates (2e2d8b3)
- Clippy warning on multiline string in hydro_cli, py_udf (a927dc6)
- Update documentation and improve error messages for
demux_enum
operator (9646ca0) demux_enum
requires enum type name, add better error handling (1126266)- Initial technically working version of
demux_enum
with very bad error messages (b3d1148) - Implement
partition
operator (fc25433) - Fix demux error messages and add tests (5a7e1b1)
- Implement
flow_prop_fn
forunion()
(1bdbf73) - Fix
clippy::implied_bounds_in_impls
from latest nightlies (e788989) - Make deadlock detector filter out spruious UDP
ConnectionReset
s on Windows (e8b027b) - Ignore PermissionDenied on already-closed socket on Windows (d9a1350)
hydro_cli v0.5.0
Chore
- Add
clippy::needless_pass_by_ref_mut
false-positive workaround
Bug Fixes
- better error message when using wrong port types
- clippy warning on multiline string in hydro_cli, py_udf
Commit Statistics
- 4 commits contributed to the release over the course of 41 calendar days.
- 56 days passed between releases.
- 3 commits were understood as conventional.
- 1 unique issue was worked on: #931
Commit Details
view details
- #931
- Better error message when using wrong port types (5d77694)
- Uncategorized
- Release hydroflow_lang v0.5.0, hydroflow_datalog_core v0.5.0, hydroflow_datalog v0.5.0, hydroflow_macro v0.5.0, lattices v0.5.0, hydroflow v0.5.0, hydro_cli v0.5.0, safety bump 4 crates (2e2d8b3)
- Clippy warning on multiline string in hydro_cli, py_udf (a927dc6)
- Add
clippy::needless_pass_by_ref_mut
false-positive workaround (2b95a6d)
pusherator v0.0.3
Chore
- fix lint, format errors for latest nightly version (without updated pinned)
For nightly version (d9c13cd45 2023-07-05)
New Features
- rename assert => assert_eq, add assert, change underlying implementation to work across ticks
Commit Statistics
- 2 commits contributed to the release over the course of 39 calendar days.
- 42 days passed between releases.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #822, #835
Commit Details
lattices v0.4.0
Chore
- fix lint, format errors for latest nightly version (without updated pinned)
For nightly version (d9c13cd45 2023-07-05)
Documentation
- Improve
Atomize
docs
New Features
- formalize
Default::default()
as returning bottom for lattice types
Not a breaking change since changed names were introduced only since last release - Implement
SimpleKeyedRef
for map types - Add atomize trait, impls, tests
Refactor
-
fix new clippy lints on latest nightly 1.73.0-nightly (db7ff98a7 2023-07-31)
-
Change
Atomize
to require returning empty iff lattice is bottom
Previously was the opposite,Atomize
always had to return non-empty.Not breaking since
Atomize
has not yet been published.
New Features (BREAKING)
- Add bottom (+top) collapsing, implement
IsBot
/IsTop
for all lattice typesWithBot(Some(BOTTOM))
andWithBot(None)
are now considered to both be bottom, equal. Also,MapUnion({})
andMapUnion({key: BOTTOM})
are considered to both be bottom, equal.WithTop(Some(TOP))
andWithTop(None)
are now considered to both be top, equal.check_lattice_bot/top
now check thatis_bot
andis_top
must be consistent among all equal elements
Refactor (BREAKING)
- Rename
Seq
->VecUnion
Commit Statistics
- 9 commits contributed to the release over the course of 39 calendar days.
- 42 days passed between releases.
- 9 commits were understood as conventional.
- 8 unique issues were worked on: #822, #849, #854, #860, #865, #866, #867, #879
Commit Details
view details
- #822
- Fix lint, format errors for latest nightly version (without updated pinned) (f60053f)
- #849
- Rename
Seq
->VecUnion
(7b0485b)
- Rename
- #854
- Add atomize trait, impls, tests (8ec75c6)
- #860
- Improve
Atomize
docs (a8b0d2d)
- Improve
- #865
- Add bottom (+top) collapsing, implement
IsBot
/IsTop
for all lattice types (7b752f7)
- Add bottom (+top) collapsing, implement
- #866
- Implement
SimpleKeyedRef
for map types (b240699)
- Implement
- #867
- Change
Atomize
to require returning empty iff lattice is bottom (262166e)
- Change
- #879
- Formalize
Default::default()
as returning bottom for lattice types (7282457)
- Formalize
- Uncategorized
- Fix new clippy lints on latest nightly 1.73.0-nightly (db7ff98a7 2023-07-31) (6a2ad6b)