diff --git a/Cargo.lock b/Cargo.lock index 84e072c461ca..d6df5a5689a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1291,7 +1291,7 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hydro_cli" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anyhow", "async-channel", @@ -1340,7 +1340,7 @@ dependencies = [ [[package]] name = "hydroflow" -version = "0.4.0" +version = "0.5.0" dependencies = [ "bincode", "byteorder", @@ -1407,7 +1407,7 @@ dependencies = [ [[package]] name = "hydroflow_datalog" -version = "0.4.0" +version = "0.5.0" dependencies = [ "hydroflow_datalog_core", "proc-macro-crate", @@ -1418,7 +1418,7 @@ dependencies = [ [[package]] name = "hydroflow_datalog_core" -version = "0.4.0" +version = "0.5.0" dependencies = [ "hydroflow_lang", "insta", @@ -1435,7 +1435,7 @@ dependencies = [ [[package]] name = "hydroflow_lang" -version = "0.4.0" +version = "0.5.0" dependencies = [ "auto_impl", "clap 4.2.1", @@ -1454,7 +1454,7 @@ dependencies = [ [[package]] name = "hydroflow_macro" -version = "0.4.0" +version = "0.5.0" dependencies = [ "hydroflow_lang", "itertools", @@ -1632,7 +1632,7 @@ dependencies = [ [[package]] name = "lattices" -version = "0.4.0" +version = "0.5.0" dependencies = [ "cc-traits", "sealed", diff --git a/hydro_cli/CHANGELOG.md b/hydro_cli/CHANGELOG.md index 750b836ec7fc..d1f489904b27 100644 --- a/hydro_cli/CHANGELOG.md +++ b/hydro_cli/CHANGELOG.md @@ -5,8 +5,43 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### 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 + + + + - 3 commits contributed to the release over the course of 40 calendar days. + - 56 days passed between releases. + - 3 commits were understood as [conventional](https://www.conventionalcommits.org). + - 1 unique issue was worked on: [#931](https://github.com/hydro-project/hydroflow/issues/931) + +### Commit Details + + + +
view details + + * **[#931](https://github.com/hydro-project/hydroflow/issues/931)** + - Better error message when using wrong port types ([`5d77694`](https://github.com/hydro-project/hydroflow/commit/5d77694b6a3603381ae4217eb7aba8e00ee8d1e5)) + * **Uncategorized** + - Clippy warning on multiline string in hydro_cli, py_udf ([`a927dc6`](https://github.com/hydro-project/hydroflow/commit/a927dc6afbe3178815b7c7c58ed2838d42d80334)) + - Add `clippy::needless_pass_by_ref_mut` false-positive workaround ([`2b95a6d`](https://github.com/hydro-project/hydroflow/commit/2b95a6d08c993760adaf79b945fdd0fbbdc8ecf2)) +
+ ## 0.4.0 (2023-08-15) + + ### Chore - fix lints for latest nightly @@ -15,7 +50,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - - 1 commit contributed to the release over the course of 27 calendar days. + - 2 commits contributed to the release over the course of 27 calendar days. - 42 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#844](https://github.com/hydro-project/hydroflow/issues/844) @@ -28,6 +63,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * **[#844](https://github.com/hydro-project/hydroflow/issues/844)** - Fix lints for latest nightly ([`949db02`](https://github.com/hydro-project/hydroflow/commit/949db02e9fa9878e1a7176c180d6f44c5cddf052)) + * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) ## 0.3.0 (2023-07-04) diff --git a/hydro_cli/Cargo.toml b/hydro_cli/Cargo.toml index 5611aab547bc..64c799933a23 100644 --- a/hydro_cli/Cargo.toml +++ b/hydro_cli/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydro_cli" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydro_cli/" diff --git a/hydroflow/CHANGELOG.md b/hydroflow/CHANGELOG.md index 937344582236..d7f4806472ec 100644 --- a/hydroflow/CHANGELOG.md +++ b/hydroflow/CHANGELOG.md @@ -5,8 +5,174 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### 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)` with `or_default()` + Clippy lint `unwrap_or_default` complaining on latest nightly + +### New Features + + - add kvs with replication example + have both kvs_replicated and kvs, separate examples + + add `flow_props_fn`s to `cross_join` (same as `join`), and `filter` + - 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/ + + Behind a new `hydroflow/debugging`/`hydroflow_lang/debugging` feature + gate. + - Update documentation and improve error messages for `demux_enum` operator + - 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 + - Move `hydroflow_expect_warnings` into library, use in `tests/surface_flow_props.rs` + - Implement `flow_prop_fn` for `union()` + - Add `Cumul` `flow_prop_fn`s for `lattice_fold()` and `lattice_reduce()` + - Update dot/graphviz rendering of delta/cumul and `defer_tick` edges + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. + - add `cast` operator + - Update mermaid rendering of hydroflow graph to show flow properties + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. + - Add `source_iter_delta` op for testing, basic flow props test, cleanups. + +### 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 + Add `persist` `flow_prop_fn` + - cleanup kvs example with lattice properties + Open graphs when `--graph` is specified + - refactor `kvs` example, cleanup, use `demux_enum` + - update `chat` example to use `demux_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 + + + + - 44 commits contributed to the release over the course of 48 calendar days. + - 56 days passed between releases. + - 43 commits were understood as [conventional](https://www.conventionalcommits.org). + - 19 unique issues were worked on: [#882](https://github.com/hydro-project/hydroflow/issues/882), [#884](https://github.com/hydro-project/hydroflow/issues/884), [#885](https://github.com/hydro-project/hydroflow/issues/885), [#886](https://github.com/hydro-project/hydroflow/issues/886), [#887](https://github.com/hydro-project/hydroflow/issues/887), [#892](https://github.com/hydro-project/hydroflow/issues/892), [#893](https://github.com/hydro-project/hydroflow/issues/893), [#896](https://github.com/hydro-project/hydroflow/issues/896), [#897](https://github.com/hydro-project/hydroflow/issues/897), [#898](https://github.com/hydro-project/hydroflow/issues/898), [#902](https://github.com/hydro-project/hydroflow/issues/902), [#906](https://github.com/hydro-project/hydroflow/issues/906), [#918](https://github.com/hydro-project/hydroflow/issues/918), [#919](https://github.com/hydro-project/hydroflow/issues/919), [#923](https://github.com/hydro-project/hydroflow/issues/923), [#924](https://github.com/hydro-project/hydroflow/issues/924), [#926](https://github.com/hydro-project/hydroflow/issues/926), [#932](https://github.com/hydro-project/hydroflow/issues/932), [#935](https://github.com/hydro-project/hydroflow/issues/935) + +### Commit Details + + + +
view details + + * **[#882](https://github.com/hydro-project/hydroflow/issues/882)** + - Add `Cumul` `flow_prop_fn`s for `lattice_fold()` and `lattice_reduce()` ([`63c435c`](https://github.com/hydro-project/hydroflow/commit/63c435c32d170dcb6f1ee2a8da74b528d68e8e50)) + - Update dot/graphviz rendering of delta/cumul and `defer_tick` edges ([`9baf80c`](https://github.com/hydro-project/hydroflow/commit/9baf80ccc38c4e41c8a1a2ae048036cec2b723c6)) + - Record snapshots for `surface_scheduling.rs` ([`96e2f4c`](https://github.com/hydro-project/hydroflow/commit/96e2f4c08fdf3e76cd7648954c6a35c3ea3b6dc4)) + - Add flow prop tests ([`95ed7a5`](https://github.com/hydro-project/hydroflow/commit/95ed7a5298f1003dabfe97e8b2da8eed2915fbb8)) + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. ([`fd89cb4`](https://github.com/hydro-project/hydroflow/commit/fd89cb46c5983d277e16bb7b19f7d3ca83dd60cc)) + - Add `cast` operator ([`38346cf`](https://github.com/hydro-project/hydroflow/commit/38346cf01aec0afa2b491095043aa31587613e24)) + - Update mermaid rendering of hydroflow graph to show flow properties ([`9ab7cf8`](https://github.com/hydro-project/hydroflow/commit/9ab7cf8199ddfa8a6a83b7e5f5bc5e6dc05a3110)) + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. ([`7714403`](https://github.com/hydro-project/hydroflow/commit/7714403e130969b96c8f405444d4daf451450fdf)) + - Add `source_iter_delta` op for testing, basic flow props test, cleanups. ([`fd5cdb5`](https://github.com/hydro-project/hydroflow/commit/fd5cdb583cb5b63dca790825d70836ea547d3d81)) + * **[#884](https://github.com/hydro-project/hydroflow/issues/884)** + - Separate internal compiler operators in docs name/category/sort order ([`5ac9dde`](https://github.com/hydro-project/hydroflow/commit/5ac9ddebedf615f87684d1092382ba64826c1c1c)) + * **[#885](https://github.com/hydro-project/hydroflow/issues/885)** + - Revert "fix: add context.current_tick_start()" ([`6844366`](https://github.com/hydro-project/hydroflow/commit/684436621d16afb5ba45e5345f1d0ce57be0cfaf)) + - Add context.current_tick_start() ([`9918c78`](https://github.com/hydro-project/hydroflow/commit/9918c781c4186be9472c3978e6468ba5d67497a5)) + * **[#886](https://github.com/hydro-project/hydroflow/issues/886)** + - Revert "fix: add context.current_tick_start()" ([`6844366`](https://github.com/hydro-project/hydroflow/commit/684436621d16afb5ba45e5345f1d0ce57be0cfaf)) + * **[#887](https://github.com/hydro-project/hydroflow/issues/887)** + - Add context.current_tick_start() without breaking the scheduler this time ([`3f45ec1`](https://github.com/hydro-project/hydroflow/commit/3f45ec10f0bcc5484f3e116369cdf66ec53b506f)) + * **[#892](https://github.com/hydro-project/hydroflow/issues/892)** + - Clean up degenerate subgraph error message for consistency ([`159a262`](https://github.com/hydro-project/hydroflow/commit/159a262ba056ec6ffad5590c4f3e57422022901e)) + * **[#893](https://github.com/hydro-project/hydroflow/issues/893)** + - Replace `or_insert_with(Vec::new)` with `or_default()` ([`7c7eea7`](https://github.com/hydro-project/hydroflow/commit/7c7eea7fddda7ea9526c5af4191520e821c979dc)) + * **[#896](https://github.com/hydro-project/hydroflow/issues/896)** + - Fix string join `clippy::format_collect` lint ([`58bf7ba`](https://github.com/hydro-project/hydroflow/commit/58bf7ba59cf806ac3cc89af11af91fa38d1c1f95)) + * **[#897](https://github.com/hydro-project/hydroflow/issues/897)** + - Move `hydroflow_expect_warnings` into library, use in `tests/surface_flow_props.rs` ([`d03ffe7`](https://github.com/hydro-project/hydroflow/commit/d03ffe70c050f35ff6c760dcdfe13fbf48345b69)) + * **[#898](https://github.com/hydro-project/hydroflow/issues/898)** + - Add import!() expression ([`f013c3c`](https://github.com/hydro-project/hydroflow/commit/f013c3ca15f2cc9413fcfb92898f71d5fc00073a)) + * **[#902](https://github.com/hydro-project/hydroflow/issues/902)** + - Make lattice_fold and lattice_reduce consistent with fold/reduce ([`1ce5f01`](https://github.com/hydro-project/hydroflow/commit/1ce5f01cde288930cb1281468966dfb66d2e3e53)) + * **[#906](https://github.com/hydro-project/hydroflow/issues/906)** + - Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators ([`d254e2d`](https://github.com/hydro-project/hydroflow/commit/d254e2deb883f9633f8b325a595fb7c61bad42d7)) + * **[#918](https://github.com/hydro-project/hydroflow/issues/918)** + - Refactor `kvs` example, cleanup, use `demux_enum` ([`b0c43c7`](https://github.com/hydro-project/hydroflow/commit/b0c43c75954741edffe7e4e12909697e75ab1d26)) + - Update `chat` example to use `demux_enum` ([`3c8dbd7`](https://github.com/hydro-project/hydroflow/commit/3c8dbd709fa5a1c1a458d2aa5e2be9ecd8fc4b49)) + * **[#919](https://github.com/hydro-project/hydroflow/issues/919)** + - Surface python snapshot tests ([`a6708bb`](https://github.com/hydro-project/hydroflow/commit/a6708bbc72722f2dc1d5e0e6508583d726013409)) + * **[#923](https://github.com/hydro-project/hydroflow/issues/923)** + - Open mermaid/dot graph in browser ([`e7ea6d8`](https://github.com/hydro-project/hydroflow/commit/e7ea6d804ae162c0d7ecbd6e4cbc1084766ce506)) + * **[#924](https://github.com/hydro-project/hydroflow/issues/924)** + - Cleanup kvs example with lattice properties ([`db9f270`](https://github.com/hydro-project/hydroflow/commit/db9f270e2bdaff8cb4429c13c15ad9ca7bbff61b)) + - Update snapshot tests for previous two commits ([`21140f0`](https://github.com/hydro-project/hydroflow/commit/21140f09156e1dad195162854955522f138ae781)) + * **[#926](https://github.com/hydro-project/hydroflow/issues/926)** + - Cleanup cli quotes, loose TODO comment ([`5943758`](https://github.com/hydro-project/hydroflow/commit/594375803750056ac03b27e160a67bbd4ed9b71a)) + - Add kvs with replication example ([`d38ec08`](https://github.com/hydro-project/hydroflow/commit/d38ec080ba195acf52997d4a0f7296e43270ad8b)) + - Cleanup kvs example more ([`cb90ae1`](https://github.com/hydro-project/hydroflow/commit/cb90ae184151ab9085ecb6d58f11d668619af9df)) + * **[#932](https://github.com/hydro-project/hydroflow/issues/932)** + - Fix example `kvs`/`kvs_replicated` tests, improve comments ([`3ac9b16`](https://github.com/hydro-project/hydroflow/commit/3ac9b1634223b50deeebb5535205427b5a9aa201)) + - Update snapshots for previous commit ([`cc15bab`](https://github.com/hydro-project/hydroflow/commit/cc15bab782830ac2af23b3ad3139986c8e186303)) + - Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs ([`9ed0ce0`](https://github.com/hydro-project/hydroflow/commit/9ed0ce02128a0eeaf0b603efcbe896427e47ef62)) + * **[#935](https://github.com/hydro-project/hydroflow/issues/935)** + - Restore in-subgraph rendering of self-handoffs ([`2edf779`](https://github.com/hydro-project/hydroflow/commit/2edf77961ca0218265b35f179c2d86c810795266)) + - Kvs_bench graphwrite ([`e519fb1`](https://github.com/hydro-project/hydroflow/commit/e519fb1518615463eab08935a42a10be2fe180fc)) + * **Uncategorized** + - Clippy warning on multiline string in hydro_cli, py_udf ([`a927dc6`](https://github.com/hydro-project/hydroflow/commit/a927dc6afbe3178815b7c7c58ed2838d42d80334)) + - Update documentation and improve error messages for `demux_enum` operator ([`9646ca0`](https://github.com/hydro-project/hydroflow/commit/9646ca06e61af8c827e2d2fb9826ce62b70b6799)) + - `demux_enum` requires enum type name, add better error handling ([`1126266`](https://github.com/hydro-project/hydroflow/commit/1126266e69c2c4364bc8de558f11859e5bad1c69)) + - Initial technically working version of `demux_enum` with very bad error messages ([`b3d1148`](https://github.com/hydro-project/hydroflow/commit/b3d114827256f2b82a3c357f3419c6853a97f5c0)) + - Implement `partition` operator ([`fc25433`](https://github.com/hydro-project/hydroflow/commit/fc2543359ba11c0947fdc26f5360b2ac43a5a0c4)) + - Fix demux error messages and add tests ([`5a7e1b1`](https://github.com/hydro-project/hydroflow/commit/5a7e1b157362b0d655a28d6f3e5cd139ab8799f3)) + - Implement `flow_prop_fn` for `union()` ([`1bdbf73`](https://github.com/hydro-project/hydroflow/commit/1bdbf73b630e4f2eff009b00b0e66d71be53bb4a)) + - Fix `clippy::implied_bounds_in_impls` from latest nightlies ([`e788989`](https://github.com/hydro-project/hydroflow/commit/e788989737fbd501173bc99c6f9f5f5ba514ec9c)) + - Make deadlock detector filter out spruious UDP `ConnectionReset`s on Windows ([`e8b027b`](https://github.com/hydro-project/hydroflow/commit/e8b027b67b35820f5710df2239da029b0f7fdc77)) + - Ignore PermissionDenied on already-closed socket on Windows ([`d9a1350`](https://github.com/hydro-project/hydroflow/commit/d9a13509c9e82837b65c4547503293d8146d1f7e)) +
+ ## 0.4.0 (2023-08-15) + + + + + + ### Chore - fix lints for latest nightly @@ -15,55 +181,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### New Features + + + - add kvs_bench example test - Add `use` statements to hydroflow syntax And use in doc tests. - add `iter_batches_stream` util to break up iterator into per-tick batches * Also tightens up a bit of `assert_eq`'s code - - rename assert => assert_eq, add assert, change underlying implementation to work across ticks - - make batch take two inputs [input] and [signal] ### Bug Fixes + + + + + + + + + - fix shopping cart example test - change "gated buffer" discussion from `cross_join` to `defer_signal` shopping still erroring out for reasons unrelated to this PR - unify antijoin and difference with set and multiset semantics - * fix: unify antijoin and difference with set and multiset semantics - - * fix: replay semantics for antijoin and difference now work - also added cross_join_multiset - - * fix: enforce sort for tests of anti_join and difference using assert_eq - - * fix: advance __borrow_ident beyond the current tick to prevent replay loops - - * fix: add modified snapshots - - * fix: temp - - * fix: spelling typo in comment - - * fix: make anti_join replay more efficient - - Also add multiset data structure, use it in some tests, make join() - replay logic more similar to anti_join's and presist's. - - * fix: ignore test that depends on order of antijoin - - * fix: really ignore test_index - - * fix: fix specific test ordering in wasm - - --------- - - joins now replay correctly - - livelock in deadlock detector #810 - - lattice_batch now takes [input] and [signal] - - make all operators 'tick by default - - stop two_pc example test from hanging sometimes - - rename next_tick -> defer, batch -> defer_signal - - remove python from default features, add it to ci - - `py_udf` operator feature gating + * fix: unify antijoin and difference with set and multiset semantics +* fix: replay semantics for antijoin and difference now work + also added cross_join_multiset +* fix: enforce sort for tests of anti_join and difference using assert_eq +* fix: advance __borrow_ident beyond the current tick to prevent replay loops +* fix: add modified snapshots +* fix: temp +* fix: spelling typo in comment +* fix: make anti_join replay more efficient +* fix: ignore test that depends on order of antijoin +* fix: really ignore test_index +* fix: fix specific test ordering in wasm ### Other @@ -80,17 +233,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### New Features (BREAKING) - add fused joins, make lattice_join replay correctly - * feat!: add fused joins, make lattice_join replay correctly - - * address comments - - * fix clippy + * feat!: add fused joins, make lattice_join replay correctly +* address comments +* fix clippy ### Commit Statistics - - 24 commits contributed to the release over the course of 39 calendar days. + - 25 commits contributed to the release over the course of 39 calendar days. - 42 days passed between releases. - 22 commits were understood as [conventional](https://www.conventionalcommits.org). - 23 unique issues were worked on: [#820](https://github.com/hydro-project/hydroflow/issues/820), [#821](https://github.com/hydro-project/hydroflow/issues/821), [#822](https://github.com/hydro-project/hydroflow/issues/822), [#823](https://github.com/hydro-project/hydroflow/issues/823), [#833](https://github.com/hydro-project/hydroflow/issues/833), [#835](https://github.com/hydro-project/hydroflow/issues/835), [#837](https://github.com/hydro-project/hydroflow/issues/837), [#840](https://github.com/hydro-project/hydroflow/issues/840), [#842](https://github.com/hydro-project/hydroflow/issues/842), [#843](https://github.com/hydro-project/hydroflow/issues/843), [#844](https://github.com/hydro-project/hydroflow/issues/844), [#845](https://github.com/hydro-project/hydroflow/issues/845), [#846](https://github.com/hydro-project/hydroflow/issues/846), [#848](https://github.com/hydro-project/hydroflow/issues/848), [#851](https://github.com/hydro-project/hydroflow/issues/851), [#853](https://github.com/hydro-project/hydroflow/issues/853), [#857](https://github.com/hydro-project/hydroflow/issues/857), [#861](https://github.com/hydro-project/hydroflow/issues/861), [#870](https://github.com/hydro-project/hydroflow/issues/870), [#872](https://github.com/hydro-project/hydroflow/issues/872), [#874](https://github.com/hydro-project/hydroflow/issues/874), [#878](https://github.com/hydro-project/hydroflow/issues/878), [#880](https://github.com/hydro-project/hydroflow/issues/880) @@ -148,8 +299,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Change "gated buffer" discussion from `cross_join` to `defer_signal` ([`d6472b9`](https://github.com/hydro-project/hydroflow/commit/d6472b90c2caf26b98c0bd753616e675b7de9769)) * **[#880](https://github.com/hydro-project/hydroflow/issues/880)** - Fix shopping cart example test ([`c9e7c7d`](https://github.com/hydro-project/hydroflow/commit/c9e7c7dc1c0885640b1c5d6bc15194a256eff833)) + * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) + + rename assert => assert_eq, add assert, change underlying implementation to work across ticks make batch take two inputs [input] and [signal]Also add multiset data structure, use it in some tests, make join()replay logic more similar to anti_join’s and presist’s. joins now replay correctly livelock in deadlock detector #810 lattice_batch now takes [input] and [signal] make all operators ’tick by default stop two_pc example test from hanging sometimes rename next_tick -> defer, batch -> defer_signal remove python from default features, add it to ci py_udf operator feature gating + ## 0.3.0 (2023-07-04) @@ -321,9 +477,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Ignore `surface_lattice_merge_badgeneric` `compile-fail` test due to `Seq` inconsistent messages ([`aabaa27`](https://github.com/hydro-project/hydroflow/commit/aabaa27fd736534a14f5414fb31328fad25984f3)) - - add lattice_reduce and lattice_fold add join_multiset()also remove documentation about HalfJoinMultiset, the way to accessthat now is to use join_multiset() add tests for examples add assert() operator emit compile_error! diagnostics for stable allow stable build, refactors behind nightly feature flag add basic tracing support, use in (some) tests. add bind_tcp and connect_tcp, analogues of bind_udp hydroflow, logging/tracing features - ## 0.2.0 (2023-05-31) diff --git a/hydroflow/Cargo.toml b/hydroflow/Cargo.toml index 5c47b661b0b1..f3cb0974625a 100644 --- a/hydroflow/Cargo.toml +++ b/hydroflow/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydroflow" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydroflow/" @@ -32,11 +32,11 @@ byteorder = "1.4.3" bytes = "1.1.0" futures = "0.3" hydroflow_cli_integration = { optional = true, path = "../hydroflow_cli_integration", version = "^0.3.0" } -hydroflow_datalog = { optional = true, path = "../hydroflow_datalog", version = "^0.4.0" } -hydroflow_lang = { path = "../hydroflow_lang", version = "^0.4.0" } -hydroflow_macro = { optional = true, path = "../hydroflow_macro", version = "^0.4.0" } +hydroflow_datalog = { optional = true, path = "../hydroflow_datalog", version = "^0.5.0" } +hydroflow_lang = { path = "../hydroflow_lang", version = "^0.5.0" } +hydroflow_macro = { optional = true, path = "../hydroflow_macro", version = "^0.5.0" } itertools = "0.10" -lattices = { path = "../lattices", version = "^0.4.0", features = [ "serde" ] } +lattices = { path = "../lattices", version = "^0.5.0", features = [ "serde" ] } pusherator = { path = "../pusherator", version = "^0.0.3" } pyo3 = { optional = true, version = "0.18" } ref-cast = "1.0" diff --git a/hydroflow_datalog/CHANGELOG.md b/hydroflow_datalog/CHANGELOG.md index 312cece2260d..df8d5a57d2d2 100644 --- a/hydroflow_datalog/CHANGELOG.md +++ b/hydroflow_datalog/CHANGELOG.md @@ -5,8 +5,35 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### 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](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + + + +
view details + + * **Uncategorized** + - Bump proc-macro2 min version to 1.0.63 ([`f19eccc`](https://github.com/hydro-project/hydroflow/commit/f19eccc79d6d7c88de7ba1ef6a0abf1caaef377f)) +
+ ## 0.4.0 (2023-08-15) + + Unchanged from previous release. ### Chore @@ -17,7 +44,7 @@ Unchanged from previous release. - - 1 commit contributed to the release. + - 2 commits contributed to the release. - 42 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages @@ -29,6 +56,7 @@ Unchanged from previous release.
view details * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) - Mark hydro_datalog as unchanged for 0.4 release ([`5faee64`](https://github.com/hydro-project/hydroflow/commit/5faee64ab82eeb7a24f62a1b55c46d72d8eb5320))
diff --git a/hydroflow_datalog/Cargo.toml b/hydroflow_datalog/Cargo.toml index a6a229d03c20..80e59b7115c2 100644 --- a/hydroflow_datalog/Cargo.toml +++ b/hydroflow_datalog/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydroflow_datalog" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydroflow_datalog/" @@ -22,4 +22,4 @@ proc-macro-crate = "1.1.0" # Note: If we ever compile this proc macro crate to WASM (e.g., if we are # building on a WASM host), we may need to turn diagnostics off for WASM if # proc_macro2 does not support WASM at that time. -hydroflow_datalog_core = { path = "../hydroflow_datalog_core", version = "^0.4.0" } +hydroflow_datalog_core = { path = "../hydroflow_datalog_core", version = "^0.5.0" } diff --git a/hydroflow_datalog_core/CHANGELOG.md b/hydroflow_datalog_core/CHANGELOG.md index 1f375bcefbdd..ddf201af50f1 100644 --- a/hydroflow_datalog_core/CHANGELOG.md +++ b/hydroflow_datalog_core/CHANGELOG.md @@ -5,8 +5,67 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### Chore + + - bump proc-macro2 min version to 1.0.63 + - ignore `clippy::unwrap_or_default` in `fold_keyed` codegen + - Replace `or_insert_with(Vec::new)` with `or_default()` + Clippy lint `unwrap_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` for `union()` + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. + - Add `monotonic_fn` and `morphism` 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](https://www.conventionalcommits.org). + - 7 unique issues were worked on: [#882](https://github.com/hydro-project/hydroflow/issues/882), [#893](https://github.com/hydro-project/hydroflow/issues/893), [#896](https://github.com/hydro-project/hydroflow/issues/896), [#898](https://github.com/hydro-project/hydroflow/issues/898), [#906](https://github.com/hydro-project/hydroflow/issues/906), [#924](https://github.com/hydro-project/hydroflow/issues/924), [#926](https://github.com/hydro-project/hydroflow/issues/926) + +### Commit Details + + + +
view details + + * **[#882](https://github.com/hydro-project/hydroflow/issues/882)** + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. ([`fd89cb4`](https://github.com/hydro-project/hydroflow/commit/fd89cb46c5983d277e16bb7b19f7d3ca83dd60cc)) + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. ([`7714403`](https://github.com/hydro-project/hydroflow/commit/7714403e130969b96c8f405444d4daf451450fdf)) + * **[#893](https://github.com/hydro-project/hydroflow/issues/893)** + - Replace `or_insert_with(Vec::new)` with `or_default()` ([`7c7eea7`](https://github.com/hydro-project/hydroflow/commit/7c7eea7fddda7ea9526c5af4191520e821c979dc)) + * **[#896](https://github.com/hydro-project/hydroflow/issues/896)** + - Ignore `clippy::unwrap_or_default` in `fold_keyed` codegen ([`1fb753e`](https://github.com/hydro-project/hydroflow/commit/1fb753ea85511ade1a834ec2536f56358ade9858)) + * **[#898](https://github.com/hydro-project/hydroflow/issues/898)** + - Add import!() expression ([`f013c3c`](https://github.com/hydro-project/hydroflow/commit/f013c3ca15f2cc9413fcfb92898f71d5fc00073a)) + * **[#906](https://github.com/hydro-project/hydroflow/issues/906)** + - Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators ([`d254e2d`](https://github.com/hydro-project/hydroflow/commit/d254e2deb883f9633f8b325a595fb7c61bad42d7)) + * **[#924](https://github.com/hydro-project/hydroflow/issues/924)** + - Update snapshot tests for previous two commits ([`21140f0`](https://github.com/hydro-project/hydroflow/commit/21140f09156e1dad195162854955522f138ae781)) + * **[#926](https://github.com/hydro-project/hydroflow/issues/926)** + - Update snapshots ([`9144dd9`](https://github.com/hydro-project/hydroflow/commit/9144dd96b915e1b807ef14f40d963cdbd47e9078)) + * **Uncategorized** + - Bump proc-macro2 min version to 1.0.63 ([`f19eccc`](https://github.com/hydro-project/hydroflow/commit/f19eccc79d6d7c88de7ba1ef6a0abf1caaef377f)) + - Implement `flow_prop_fn` for `union()` ([`1bdbf73`](https://github.com/hydro-project/hydroflow/commit/1bdbf73b630e4f2eff009b00b0e66d71be53bb4a)) +
+ ## 0.4.0 (2023-08-15) + + ### New Features - Add `use` statements to hydroflow syntax @@ -14,36 +73,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Bug Fixes + + + - unify antijoin and difference with set and multiset semantics - * fix: unify antijoin and difference with set and multiset semantics - - * fix: replay semantics for antijoin and difference now work - also added cross_join_multiset - - * fix: enforce sort for tests of anti_join and difference using assert_eq - - * fix: advance __borrow_ident beyond the current tick to prevent replay loops - - * fix: add modified snapshots - - * fix: temp - - * fix: spelling typo in comment - - * fix: make anti_join replay more efficient - - Also add multiset data structure, use it in some tests, make join() - replay logic more similar to anti_join's and presist's. - - * fix: ignore test that depends on order of antijoin - - * fix: really ignore test_index - - * fix: fix specific test ordering in wasm - - --------- - - joins now replay correctly - - rename next_tick -> defer, batch -> defer_signal + * fix: unify antijoin and difference with set and multiset semantics +* fix: replay semantics for antijoin and difference now work + also added cross_join_multiset +* fix: enforce sort for tests of anti_join and difference using assert_eq +* fix: advance __borrow_ident beyond the current tick to prevent replay loops +* fix: add modified snapshots +* fix: temp +* fix: spelling typo in comment +* fix: make anti_join replay more efficient +* fix: ignore test that depends on order of antijoin +* fix: really ignore test_index +* fix: fix specific test ordering in wasm ### Refactor @@ -53,7 +98,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - - 5 commits contributed to the release over the course of 32 calendar days. + - 6 commits contributed to the release over the course of 32 calendar days. - 42 days passed between releases. - 5 commits were understood as [conventional](https://www.conventionalcommits.org). - 4 unique issues were worked on: [#833](https://github.com/hydro-project/hydroflow/issues/833), [#845](https://github.com/hydro-project/hydroflow/issues/845), [#870](https://github.com/hydro-project/hydroflow/issues/870), [#872](https://github.com/hydro-project/hydroflow/issues/872) @@ -73,9 +118,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * **[#872](https://github.com/hydro-project/hydroflow/issues/872)** - Unify antijoin and difference with set and multiset semantics ([`d378e5e`](https://github.com/hydro-project/hydroflow/commit/d378e5eada3d2bae90f98c5a33b2d055940a8c7f)) * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) - Fix new clippy lints on latest nightly 1.73.0-nightly (db7ff98a7 2023-07-31) ([`6a2ad6b`](https://github.com/hydro-project/hydroflow/commit/6a2ad6b770c2ccf470548320d8753025b3a66c0a)) + +Also add multiset data structure, use it in some tests, make join()replay logic more similar to anti_join’s and presist’s. joins now replay correctly rename next_tick -> defer, batch -> defer_signal + ## 0.3.0 (2023-07-04) ### New Features diff --git a/hydroflow_datalog_core/Cargo.toml b/hydroflow_datalog_core/Cargo.toml index 2de48d5f7075..f1d374b03d3a 100644 --- a/hydroflow_datalog_core/Cargo.toml +++ b/hydroflow_datalog_core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydroflow_datalog_core" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydroflow_datalog_core/" @@ -21,7 +21,7 @@ syn = { version = "2.0.0", features = [ "parsing", "extra-traits" ] } proc-macro2 = "1.0.63" proc-macro-crate = "1.1.0" rust-sitter = "0.3.2" -hydroflow_lang = { path = "../hydroflow_lang", version = "^0.4.0" } +hydroflow_lang = { path = "../hydroflow_lang", version = "^0.5.0" } [build-dependencies] rust-sitter-tool = "0.3.2" diff --git a/hydroflow_lang/CHANGELOG.md b/hydroflow_lang/CHANGELOG.md index 8fb4028d1405..c6a1f5f08e1c 100644 --- a/hydroflow_lang/CHANGELOG.md +++ b/hydroflow_lang/CHANGELOG.md @@ -5,8 +5,164 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### Chore + + - cleanup cli quotes, loose TODO comment + - bump proc-macro2 min version to 1.0.63 + - ignore `clippy::unwrap_or_default` in `fold_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 examples + + add `flow_props_fn`s to `cross_join` (same as `join`), and `filter` + - 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` for `union()` + - Add `Cumul` `flow_prop_fn`s for `lattice_fold()` and `lattice_reduce()` + - Update dot/graphviz rendering of delta/cumul and `defer_tick` edges + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. + - add `cast` operator + - Update mermaid rendering of hydroflow graph to show flow properties + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. + - Move structs into separate `flow_props` module, make `flow_prop_fn` return `Option`s, impl for `map` + - 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()` in `print!` 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 + Add `persist` `flow_prop_fn` + - `demux_enum` requires enum type name, add better error handling + - combine `topo_sort` and `scc_kosaraju` into `topo_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](https://www.conventionalcommits.org). + - 14 unique issues were worked on: [#882](https://github.com/hydro-project/hydroflow/issues/882), [#883](https://github.com/hydro-project/hydroflow/issues/883), [#884](https://github.com/hydro-project/hydroflow/issues/884), [#892](https://github.com/hydro-project/hydroflow/issues/892), [#896](https://github.com/hydro-project/hydroflow/issues/896), [#898](https://github.com/hydro-project/hydroflow/issues/898), [#902](https://github.com/hydro-project/hydroflow/issues/902), [#906](https://github.com/hydro-project/hydroflow/issues/906), [#923](https://github.com/hydro-project/hydroflow/issues/923), [#924](https://github.com/hydro-project/hydroflow/issues/924), [#926](https://github.com/hydro-project/hydroflow/issues/926), [#932](https://github.com/hydro-project/hydroflow/issues/932), [#933](https://github.com/hydro-project/hydroflow/issues/933), [#935](https://github.com/hydro-project/hydroflow/issues/935) + +### Commit Details + + + +
view details + + * **[#882](https://github.com/hydro-project/hydroflow/issues/882)** + - Add `Cumul` `flow_prop_fn`s for `lattice_fold()` and `lattice_reduce()` ([`63c435c`](https://github.com/hydro-project/hydroflow/commit/63c435c32d170dcb6f1ee2a8da74b528d68e8e50)) + - Update dot/graphviz rendering of delta/cumul and `defer_tick` edges ([`9baf80c`](https://github.com/hydro-project/hydroflow/commit/9baf80ccc38c4e41c8a1a2ae048036cec2b723c6)) + - Make `propegate_flow_props` fallible, cleanup `flow_prop_fn` definition. ([`fd89cb4`](https://github.com/hydro-project/hydroflow/commit/fd89cb46c5983d277e16bb7b19f7d3ca83dd60cc)) + - Add `cast` operator ([`38346cf`](https://github.com/hydro-project/hydroflow/commit/38346cf01aec0afa2b491095043aa31587613e24)) + - Update mermaid rendering of hydroflow graph to show flow properties ([`9ab7cf8`](https://github.com/hydro-project/hydroflow/commit/9ab7cf8199ddfa8a6a83b7e5f5bc5e6dc05a3110)) + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. ([`7714403`](https://github.com/hydro-project/hydroflow/commit/7714403e130969b96c8f405444d4daf451450fdf)) + - Move structs into separate `flow_props` module, make `flow_prop_fn` return `Option`s, impl for `map` ([`008b980`](https://github.com/hydro-project/hydroflow/commit/008b980a70561aa45c24d9a00d0908121d2a5ac6)) + - Add `source_iter_delta` op for testing, basic flow props test, cleanups. ([`fd5cdb5`](https://github.com/hydro-project/hydroflow/commit/fd5cdb583cb5b63dca790825d70836ea547d3d81)) + - Implement basic flow prop traversal (untested) ([`b2ca4b7`](https://github.com/hydro-project/hydroflow/commit/b2ca4b723c4a78020202d6eb06969a8c85ff5c01)) + - Setup structure for tracking flow properties ([`686c275`](https://github.com/hydro-project/hydroflow/commit/686c2752e5c82a7f61a7a2aa4e6f6db52741e509)) + * **[#883](https://github.com/hydro-project/hydroflow/issues/883)** + - Combine `topo_sort` and `scc_kosaraju` into `topo_sort_scc` ([`2e61c62`](https://github.com/hydro-project/hydroflow/commit/2e61c62cd866e37793a161b2f517296b93e8078d)) + - Add docs for the hydroflow surface syntax compilation process ([`a6f3c64`](https://github.com/hydro-project/hydroflow/commit/a6f3c646c7204509eec40e7e3b259886e15fec75)) + * **[#884](https://github.com/hydro-project/hydroflow/issues/884)** + - Separate internal compiler operators in docs name/category/sort order ([`5ac9dde`](https://github.com/hydro-project/hydroflow/commit/5ac9ddebedf615f87684d1092382ba64826c1c1c)) + * **[#892](https://github.com/hydro-project/hydroflow/issues/892)** + - Clean up degenerate subgraph error message for consistency ([`159a262`](https://github.com/hydro-project/hydroflow/commit/159a262ba056ec6ffad5590c4f3e57422022901e)) + * **[#896](https://github.com/hydro-project/hydroflow/issues/896)** + - Ignore `clippy::unwrap_or_default` in `fold_keyed` codegen ([`1fb753e`](https://github.com/hydro-project/hydroflow/commit/1fb753ea85511ade1a834ec2536f56358ade9858)) + * **[#898](https://github.com/hydro-project/hydroflow/issues/898)** + - Add import!() expression ([`f013c3c`](https://github.com/hydro-project/hydroflow/commit/f013c3ca15f2cc9413fcfb92898f71d5fc00073a)) + * **[#902](https://github.com/hydro-project/hydroflow/issues/902)** + - Make lattice_fold and lattice_reduce consistent with fold/reduce ([`1ce5f01`](https://github.com/hydro-project/hydroflow/commit/1ce5f01cde288930cb1281468966dfb66d2e3e53)) + * **[#906](https://github.com/hydro-project/hydroflow/issues/906)** + - Add context.is_first_time_subgraph_is_scheduled to simplify replaying operators ([`d254e2d`](https://github.com/hydro-project/hydroflow/commit/d254e2deb883f9633f8b325a595fb7c61bad42d7)) + * **[#923](https://github.com/hydro-project/hydroflow/issues/923)** + - Open mermaid/dot graph in browser ([`e7ea6d8`](https://github.com/hydro-project/hydroflow/commit/e7ea6d804ae162c0d7ecbd6e4cbc1084766ce506)) + * **[#924](https://github.com/hydro-project/hydroflow/issues/924)** + - Update snapshot tests for previous two commits ([`21140f0`](https://github.com/hydro-project/hydroflow/commit/21140f09156e1dad195162854955522f138ae781)) + - Update propegate_flow_props fn to reach fixed-point ([`9686ae8`](https://github.com/hydro-project/hydroflow/commit/9686ae8e7d26bb9cf6879a52d2324aa655588ec8)) + - Add `flow_prop_fn`s to many operators ([`cff7e48`](https://github.com/hydro-project/hydroflow/commit/cff7e48d611e4eb8e7e020bb3def5cf22744567a)) + * **[#926](https://github.com/hydro-project/hydroflow/issues/926)** + - Cleanup cli quotes, loose TODO comment ([`5943758`](https://github.com/hydro-project/hydroflow/commit/594375803750056ac03b27e160a67bbd4ed9b71a)) + - Add kvs with replication example ([`d38ec08`](https://github.com/hydro-project/hydroflow/commit/d38ec080ba195acf52997d4a0f7296e43270ad8b)) + - Cleanup kvs example more ([`cb90ae1`](https://github.com/hydro-project/hydroflow/commit/cb90ae184151ab9085ecb6d58f11d668619af9df)) + * **[#932](https://github.com/hydro-project/hydroflow/issues/932)** + - Add `--no-handoffs` option to graphwrite args ([`13fab15`](https://github.com/hydro-project/hydroflow/commit/13fab158818b3e75dccd2a3dfbead7f79801dd32)) + - Add `--op-short-text` and `--no-pull-push` graphwrite args ([`6dbbf35`](https://github.com/hydro-project/hydroflow/commit/6dbbf35b6e5ae7f0225ac05c85598d4962ec66d8)) + - Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs ([`9ed0ce0`](https://github.com/hydro-project/hydroflow/commit/9ed0ce02128a0eeaf0b603efcbe896427e47ef62)) + * **[#933](https://github.com/hydro-project/hydroflow/issues/933)** + - Fix handling of whitespace in `cast` expressions ([`f67b9f0`](https://github.com/hydro-project/hydroflow/commit/f67b9f0f9414977c24eace1e95ce840094be67a4)) + * **[#935](https://github.com/hydro-project/hydroflow/issues/935)** + - Restore in-subgraph rendering of self-handoffs ([`2edf779`](https://github.com/hydro-project/hydroflow/commit/2edf77961ca0218265b35f179c2d86c810795266)) + * **Uncategorized** + - Bump proc-macro2 min version to 1.0.63 ([`f19eccc`](https://github.com/hydro-project/hydroflow/commit/f19eccc79d6d7c88de7ba1ef6a0abf1caaef377f)) + - Clippy warning on multiline string in hydro_cli, py_udf ([`a927dc6`](https://github.com/hydro-project/hydroflow/commit/a927dc6afbe3178815b7c7c58ed2838d42d80334)) + - Update documentation and improve error messages for `demux_enum` operator ([`9646ca0`](https://github.com/hydro-project/hydroflow/commit/9646ca06e61af8c827e2d2fb9826ce62b70b6799)) + - `demux_enum` requires enum type name, add better error handling ([`1126266`](https://github.com/hydro-project/hydroflow/commit/1126266e69c2c4364bc8de558f11859e5bad1c69)) + - Add type guard to `demux_enum` codegen ([`02fddd2`](https://github.com/hydro-project/hydroflow/commit/02fddd2c0d99956d89f36395b283b198046b8766)) + - Initial technically working version of `demux_enum` with very bad error messages ([`b3d1148`](https://github.com/hydro-project/hydroflow/commit/b3d114827256f2b82a3c357f3419c6853a97f5c0)) + - Implement `partition` operator ([`fc25433`](https://github.com/hydro-project/hydroflow/commit/fc2543359ba11c0947fdc26f5360b2ac43a5a0c4)) + - Fix demux error messages and add tests ([`5a7e1b1`](https://github.com/hydro-project/hydroflow/commit/5a7e1b157362b0d655a28d6f3e5cd139ab8799f3)) + - Clippy redundant `to_string()` in `print!` lints ([`51a200a`](https://github.com/hydro-project/hydroflow/commit/51a200a444a42f21e6557f3b20d822aea8ccc670)) + - Implement `flow_prop_fn` for `union()` ([`1bdbf73`](https://github.com/hydro-project/hydroflow/commit/1bdbf73b630e4f2eff009b00b0e66d71be53bb4a)) + - Fix `clippy::implied_bounds_in_impls` from latest nightlies ([`e788989`](https://github.com/hydro-project/hydroflow/commit/e788989737fbd501173bc99c6f9f5f5ba514ec9c)) +
+ ## 0.4.0 (2023-08-15) + + + + ### Chore - Allow `clippy::redundant_locals`, for latest nightlies @@ -16,63 +172,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### New Features + + + - Add `use` statements to hydroflow syntax And use in doc tests. - add `iter_batches_stream` util to break up iterator into per-tick batches * Also tightens up a bit of `assert_eq`'s code - - rename assert => assert_eq, add assert, change underlying implementation to work across ticks - - make batch take two inputs [input] and [signal] ### Bug Fixes + + + + + + - unify antijoin and difference with set and multiset semantics - * fix: unify antijoin and difference with set and multiset semantics - - * fix: replay semantics for antijoin and difference now work - also added cross_join_multiset - - * fix: enforce sort for tests of anti_join and difference using assert_eq - - * fix: advance __borrow_ident beyond the current tick to prevent replay loops - - * fix: add modified snapshots - - * fix: temp - - * fix: spelling typo in comment - - * fix: make anti_join replay more efficient - - Also add multiset data structure, use it in some tests, make join() - replay logic more similar to anti_join's and presist's. - - * fix: ignore test that depends on order of antijoin - - * fix: really ignore test_index - - * fix: fix specific test ordering in wasm - - --------- - - joins now replay correctly - - lattice_batch now takes [input] and [signal] - - make all operators 'tick by default - - rename next_tick -> defer, batch -> defer_signal - - `py_udf` operator feature gating + * fix: unify antijoin and difference with set and multiset semantics +* fix: replay semantics for antijoin and difference now work + also added cross_join_multiset +* fix: enforce sort for tests of anti_join and difference using assert_eq +* fix: advance __borrow_ident beyond the current tick to prevent replay loops +* fix: add modified snapshots +* fix: temp +* fix: spelling typo in comment +* fix: make anti_join replay more efficient +* fix: ignore test that depends on order of antijoin +* fix: really ignore test_index +* fix: fix specific test ordering in wasm ### New Features (BREAKING) - add fused joins, make lattice_join replay correctly - * feat!: add fused joins, make lattice_join replay correctly - - * address comments - - * fix clippy + * feat!: add fused joins, make lattice_join replay correctly +* address comments +* fix clippy ### Commit Statistics - - 16 commits contributed to the release over the course of 39 calendar days. + - 17 commits contributed to the release over the course of 39 calendar days. - 42 days passed between releases. - 14 commits were understood as [conventional](https://www.conventionalcommits.org). - 16 unique issues were worked on: [#820](https://github.com/hydro-project/hydroflow/issues/820), [#821](https://github.com/hydro-project/hydroflow/issues/821), [#822](https://github.com/hydro-project/hydroflow/issues/822), [#823](https://github.com/hydro-project/hydroflow/issues/823), [#833](https://github.com/hydro-project/hydroflow/issues/833), [#835](https://github.com/hydro-project/hydroflow/issues/835), [#840](https://github.com/hydro-project/hydroflow/issues/840), [#843](https://github.com/hydro-project/hydroflow/issues/843), [#844](https://github.com/hydro-project/hydroflow/issues/844), [#845](https://github.com/hydro-project/hydroflow/issues/845), [#851](https://github.com/hydro-project/hydroflow/issues/851), [#853](https://github.com/hydro-project/hydroflow/issues/853), [#861](https://github.com/hydro-project/hydroflow/issues/861), [#870](https://github.com/hydro-project/hydroflow/issues/870), [#872](https://github.com/hydro-project/hydroflow/issues/872), [#873](https://github.com/hydro-project/hydroflow/issues/873) @@ -115,8 +256,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Unify antijoin and difference with set and multiset semantics ([`d378e5e`](https://github.com/hydro-project/hydroflow/commit/d378e5eada3d2bae90f98c5a33b2d055940a8c7f)) * **[#873](https://github.com/hydro-project/hydroflow/issues/873)** - Allow `clippy::redundant_locals`, for latest nightlies ([`d6db9cd`](https://github.com/hydro-project/hydroflow/commit/d6db9cd22a3d63bcc65dafd5bc0ca663ecc553d7)) + * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) + + rename assert => assert_eq, add assert, change underlying implementation to work across ticks make batch take two inputs [input] and [signal]Also add multiset data structure, use it in some tests, make join()replay logic more similar to anti_join’s and presist’s. joins now replay correctly lattice_batch now takes [input] and [signal] make all operators ’tick by default rename next_tick -> defer, batch -> defer_signal py_udf operator feature gating + ## 0.3.0 (2023-07-04) @@ -227,9 +373,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Release hydroflow_cli_integration v0.3.0, hydroflow_lang v0.3.0, hydroflow_datalog_core v0.3.0, hydroflow_datalog v0.3.0, hydroflow_macro v0.3.0, lattices v0.3.0, pusherator v0.0.2, hydroflow v0.3.0, hydro_cli v0.3.0, safety bump 5 crates ([`ec9633e`](https://github.com/hydro-project/hydroflow/commit/ec9633e2e393c2bf106223abeb0b680200fbdf84)) - - add lattice_reduce and lattice_fold add join_multiset()also remove documentation about HalfJoinMultiset, the way to accessthat now is to use join_multiset() add assert() operator emit compile_error! diagnostics for stable allow stable build, refactors behind nightly feature flag - ## 0.2.0 (2023-05-31) diff --git a/hydroflow_lang/Cargo.toml b/hydroflow_lang/Cargo.toml index 2faae8d54359..298a114ba103 100644 --- a/hydroflow_lang/Cargo.toml +++ b/hydroflow_lang/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydroflow_lang" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydroflow_lang/" diff --git a/hydroflow_macro/CHANGELOG.md b/hydroflow_macro/CHANGELOG.md index d0dd108df6e6..f397aedff24a 100644 --- a/hydroflow_macro/CHANGELOG.md +++ b/hydroflow_macro/CHANGELOG.md @@ -5,6 +5,64 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### 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 heap `String` 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` and `morphism` macros, update snapshots for flow props. + +### Bug Fixes + + - separate internal compiler operators in docs name/category/sort order + +### 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 + + + + - 8 commits contributed to the release over the course of 55 calendar days. + - 56 days passed between releases. + - 8 commits were understood as [conventional](https://www.conventionalcommits.org). + - 5 unique issues were worked on: [#881](https://github.com/hydro-project/hydroflow/issues/881), [#882](https://github.com/hydro-project/hydroflow/issues/882), [#884](https://github.com/hydro-project/hydroflow/issues/884), [#898](https://github.com/hydro-project/hydroflow/issues/898), [#932](https://github.com/hydro-project/hydroflow/issues/932) + +### Commit Details + + + +
view details + + * **[#881](https://github.com/hydro-project/hydroflow/issues/881)** + - Refactor collect-String into fold for `clippy::clippy::format_collect` lint ([`2eac8ce`](https://github.com/hydro-project/hydroflow/commit/2eac8ce42545cb543892b28267fb2f7089a92cdb)) + * **[#882](https://github.com/hydro-project/hydroflow/issues/882)** + - Add `monotonic_fn` and `morphism` macros, update snapshots for flow props. ([`7714403`](https://github.com/hydro-project/hydroflow/commit/7714403e130969b96c8f405444d4daf451450fdf)) + * **[#884](https://github.com/hydro-project/hydroflow/issues/884)** + - Separate internal compiler operators in docs name/category/sort order ([`5ac9dde`](https://github.com/hydro-project/hydroflow/commit/5ac9ddebedf615f87684d1092382ba64826c1c1c)) + * **[#898](https://github.com/hydro-project/hydroflow/issues/898)** + - Add import!() expression ([`f013c3c`](https://github.com/hydro-project/hydroflow/commit/f013c3ca15f2cc9413fcfb92898f71d5fc00073a)) + * **[#932](https://github.com/hydro-project/hydroflow/issues/932)** + - Simplify graph printing code, add delta/cumul green edges, allow hiding of vars/subgraphs ([`9ed0ce0`](https://github.com/hydro-project/hydroflow/commit/9ed0ce02128a0eeaf0b603efcbe896427e47ef62)) + * **Uncategorized** + - Bump proc-macro2 min version to 1.0.63 ([`f19eccc`](https://github.com/hydro-project/hydroflow/commit/f19eccc79d6d7c88de7ba1ef6a0abf1caaef377f)) + - `demux_enum` requires enum type name, add better error handling ([`1126266`](https://github.com/hydro-project/hydroflow/commit/1126266e69c2c4364bc8de558f11859e5bad1c69)) + - Initial technically working version of `demux_enum` with very bad error messages ([`b3d1148`](https://github.com/hydro-project/hydroflow/commit/b3d114827256f2b82a3c357f3419c6853a97f5c0)) +
+ ## 0.4.0 (2023-08-15) ### New Features @@ -16,7 +74,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - - 1 commit contributed to the release over the course of 26 calendar days. + - 2 commits contributed to the release over the course of 26 calendar days. - 42 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#845](https://github.com/hydro-project/hydroflow/issues/845) @@ -29,6 +87,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * **[#845](https://github.com/hydro-project/hydroflow/issues/845)** - Add `use` statements to hydroflow syntax ([`b4b9644`](https://github.com/hydro-project/hydroflow/commit/b4b9644a19e8e7e7725c9c5b88e3a6b8c2be7364)) + * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) ## 0.3.0 (2023-07-04) diff --git a/hydroflow_macro/Cargo.toml b/hydroflow_macro/Cargo.toml index 1c556def3f8d..f3bd93b5c9fc 100644 --- a/hydroflow_macro/Cargo.toml +++ b/hydroflow_macro/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hydroflow_macro" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/hydroflow_macro/" @@ -17,13 +17,13 @@ diagnostics = [ "hydroflow_lang/diagnostics" ] # Note: If we ever compile this proc macro crate to WASM (e.g., if we are # building on a WASM host), we may need to turn diagnostics off for WASM if # proc_macro2 still does not support WASM. -hydroflow_lang = { path = "../hydroflow_lang", version = "^0.4.0" } +hydroflow_lang = { path = "../hydroflow_lang", version = "^0.5.0" } proc-macro2 = "1.0.63" proc-macro-crate = "1.1.0" quote = "1.0.0" syn = { version = "2.0.0", features = [ "parsing", "extra-traits" ] } [build-dependencies] -hydroflow_lang = { path = "../hydroflow_lang", version = "^0.4.0" } +hydroflow_lang = { path = "../hydroflow_lang", version = "^0.5.0" } itertools = "0.10" quote = "1.0.0" diff --git a/lattices/CHANGELOG.md b/lattices/CHANGELOG.md index e27a621c7d12..b906277c0ec7 100644 --- a/lattices/CHANGELOG.md +++ b/lattices/CHANGELOG.md @@ -5,8 +5,57 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.5.0 (2023-10-11) + +### 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 + + + + - 5 commits contributed to the release over the course of 40 calendar days. + - 56 days passed between releases. + - 5 commits were understood as [conventional](https://www.conventionalcommits.org). + - 2 unique issues were worked on: [#915](https://github.com/hydro-project/hydroflow/issues/915), [#922](https://github.com/hydro-project/hydroflow/issues/922) + +### Commit Details + + + +
view details + + * **[#915](https://github.com/hydro-project/hydroflow/issues/915)** + - Add `UnionFind` lattice ([`35c2606`](https://github.com/hydro-project/hydroflow/commit/35c2606f2df16a428a5c163d5582923ecd5998c4)) + - Fix some types and semantics for atomization ([`18e9cfa`](https://github.com/hydro-project/hydroflow/commit/18e9cfaa8b1415d72d67a69d7b0fecc997b5670a)) + * **[#922](https://github.com/hydro-project/hydroflow/issues/922)** + - Add serde derives to collections ([`488d6dd`](https://github.com/hydro-project/hydroflow/commit/488d6dd448e10e2bf217693dd2a29973488c838a)) + * **Uncategorized** + - Fix lattice math link ([`6b82126`](https://github.com/hydro-project/hydroflow/commit/6b82126347e2ae3c11cc10fea4f3fbcb463734e6)) + - Fix `clippy::implied_bounds_in_impls` from latest nightlies ([`e788989`](https://github.com/hydro-project/hydroflow/commit/e788989737fbd501173bc99c6f9f5f5ba514ec9c)) +
+ ## 0.4.0 (2023-08-15) + + + + + ### Chore - fix lint, format errors for latest nightly version (without updated pinned) @@ -35,8 +84,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add bottom (+top) collapsing, implement `IsBot`/`IsTop` for all lattice types * `WithBot(Some(BOTTOM))` and `WithBot(None)` are now considered to both be bottom, equal. Also, `MapUnion({})` and `MapUnion({key: BOTTOM})` are considered to both be bottom, equal. - * `WithTop(Some(TOP))` and `WithTop(None)` are now considered to both be top, equal. - * `check_lattice_bot/top` now check that `is_bot` and `is_top` must be consistent among all equal elements +* `WithTop(Some(TOP))` and `WithTop(None)` are now considered to both be top, equal. +* `check_lattice_bot/top` now check that `is_bot` and `is_top` must be consistent among all equal elements ### Refactor (BREAKING) @@ -46,7 +95,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - - 9 commits contributed to the release over the course of 39 calendar days. + - 10 commits contributed to the release over the course of 39 calendar days. - 42 days passed between releases. - 9 commits were understood as [conventional](https://www.conventionalcommits.org). - 8 unique issues were worked on: [#822](https://github.com/hydro-project/hydroflow/issues/822), [#849](https://github.com/hydro-project/hydroflow/issues/849), [#854](https://github.com/hydro-project/hydroflow/issues/854), [#860](https://github.com/hydro-project/hydroflow/issues/860), [#865](https://github.com/hydro-project/hydroflow/issues/865), [#866](https://github.com/hydro-project/hydroflow/issues/866), [#867](https://github.com/hydro-project/hydroflow/issues/867), [#879](https://github.com/hydro-project/hydroflow/issues/879) @@ -74,6 +123,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * **[#879](https://github.com/hydro-project/hydroflow/issues/879)** - Formalize `Default::default()` as returning bottom for lattice types ([`7282457`](https://github.com/hydro-project/hydroflow/commit/7282457e383407eabbeb1f931c130edb095c33ca)) * **Uncategorized** + - Release hydroflow_lang v0.4.0, hydroflow_datalog_core v0.4.0, hydroflow_datalog v0.4.0, hydroflow_macro v0.4.0, lattices v0.4.0, pusherator v0.0.3, hydroflow v0.4.0, hydro_cli v0.4.0, safety bump 4 crates ([`cb313f0`](https://github.com/hydro-project/hydroflow/commit/cb313f0635214460a8308d05cbef4bf7f4bfaa15)) - Fix new clippy lints on latest nightly 1.73.0-nightly (db7ff98a7 2023-07-31) ([`6a2ad6b`](https://github.com/hydro-project/hydroflow/commit/6a2ad6b770c2ccf470548320d8753025b3a66c0a)) @@ -179,9 +229,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add `Seq` lattice. ([`153cbab`](https://github.com/hydro-project/hydroflow/commit/153cbabd462d776eae395e371470abb4662642cd)) - - Add IsBot::is_bot and IsTop::is_top traitsAlso adds test::check_lattice_bot (inlcluded in test::check_all) and test::check_lattice_top (NOT in check_all) - ## 0.2.0 (2023-05-31) diff --git a/lattices/Cargo.toml b/lattices/Cargo.toml index b7a681efb031..3c0e18068724 100644 --- a/lattices/Cargo.toml +++ b/lattices/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "lattices" publish = true -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" documentation = "https://docs.rs/lattices/"