# Changelog
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.8 (2024-11-08)
### Chore
- update pinned rust version, clippy lints, remove some dead code
### New Features
- generalized hash trie indexes for relational tuples
Generalized Hash Tries are part of the SIGMOD '23 FreeJoin
[paper](https://dl.acm.org/doi/abs/10.1145/3589295) by
Wang/Willsey/Suciu. They provide a compressed ("factorized")
representation of relations. By operating in the factorized domain, join
algorithms can defer cross-products and achieve asymptotically optimal
performance.
---------
### Style
- fixes for nightly clippy
a couple few spurious `too_many_arguments` and a spurious
`zombie_processes` still on current nightly (`clippy 0.1.84 (4392847410
2024-10-21)`)
### Commit Statistics
- 3 commits contributed to the release.
- 69 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#1444](https://github.com/hydro-project/hydroflow/issues/1444), [#1503](https://github.com/hydro-project/hydroflow/issues/1503), [#1505](https://github.com/hydro-project/hydroflow/issues/1505)
### Commit Details
view details
* **[#1444](https://github.com/hydro-project/hydroflow/issues/1444)**
- Update pinned rust version, clippy lints, remove some dead code ([`d567760`](https://github.com/hydro-project/hydroflow/commit/d5677604e93c07a5392f4229af94a0b736eca382))
* **[#1503](https://github.com/hydro-project/hydroflow/issues/1503)**
- Generalized hash trie indexes for relational tuples ([`f7e740f`](https://github.com/hydro-project/hydroflow/commit/f7e740fb2ba36d0fcf3fd196d60333552911e3a4))
* **[#1505](https://github.com/hydro-project/hydroflow/issues/1505)**
- Fixes for nightly clippy ([`47cb703`](https://github.com/hydro-project/hydroflow/commit/47cb703e771f7d1c451ceb9d185ada96410949da))
## 0.5.7 (2024-08-30)
### Chore
- lower min dependency versions where possible, update `Cargo.lock`
Moved from #1418
---------
### Documentation
- cleanup doc comments for clippy latest
### Commit Statistics
- 3 commits contributed to the release.
- 38 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#1423](https://github.com/hydro-project/hydroflow/issues/1423), [#1428](https://github.com/hydro-project/hydroflow/issues/1428)
### Commit Details
view details
* **[#1423](https://github.com/hydro-project/hydroflow/issues/1423)**
- Lower min dependency versions where possible, update `Cargo.lock` ([`11af328`](https://github.com/hydro-project/hydroflow/commit/11af32828bab6e4a4264d2635ff71a12bb0bb778))
* **[#1428](https://github.com/hydro-project/hydroflow/issues/1428)**
- Cleanup doc comments for clippy latest ([`f5f1eb0`](https://github.com/hydro-project/hydroflow/commit/f5f1eb0c612f5c0c1752360d972ef6853c5e12f0))
* **Uncategorized**
- Release hydroflow_lang v0.9.0, hydroflow_datalog_core v0.9.0, hydroflow_datalog v0.9.0, hydroflow_deploy_integration v0.9.0, hydroflow_macro v0.9.0, lattices_macro v0.5.6, lattices v0.5.7, multiplatform_test v0.2.0, variadics v0.0.6, pusherator v0.0.8, hydroflow v0.9.0, stageleft_macro v0.3.0, stageleft v0.4.0, stageleft_tool v0.3.0, hydroflow_plus v0.9.0, hydro_deploy v0.9.0, hydro_cli v0.9.0, hydroflow_plus_deploy v0.9.0, safety bump 8 crates ([`0750117`](https://github.com/hydro-project/hydroflow/commit/0750117de7088c01a439b102adeb4c832889f171))
## 0.5.6 (2024-07-23)
### Chore
- update pinned rust version to 2024-06-17
### New Features
- add `#[derive(Lattice)]` derive macros, fix #1247
This adds derive macros to allow user-created macros. Each field must be
a lattice.
Example usage:
```rust
struct MyLattice
where
KeySet: Collection,
Epoch: Ord,
{
keys: SetUnion,
epoch: Max,
}
```
Uses `#[derive(Lattice)]` for the `lattices` library `Pair` lattice.
Also contains some cleanup in the `lattices` crate.
### Bug Fixes
- change fuzz test bounds to require `PartialEq` instead of `Eq`, fix #1302
- Make inner for `WithTop` & `WithBot` private
`Option` is not a lattice, so it is unsafe to expose as public.
I also updated documentation to lead with intention before
implementation (minor cleanup).
### Commit Statistics
- 5 commits contributed to the release.
- 59 days passed between releases.
- 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 4 unique issues were worked on: [#1244](https://github.com/hydro-project/hydroflow/issues/1244), [#1250](https://github.com/hydro-project/hydroflow/issues/1250), [#1309](https://github.com/hydro-project/hydroflow/issues/1309), [#1326](https://github.com/hydro-project/hydroflow/issues/1326)
### Commit Details
view details
* **[#1244](https://github.com/hydro-project/hydroflow/issues/1244)**
- Make inner for `WithTop` & `WithBot` private ([`1ad690b`](https://github.com/hydro-project/hydroflow/commit/1ad690b993f38ac6a03667fdce56e6603076b1d2))
* **[#1250](https://github.com/hydro-project/hydroflow/issues/1250)**
- Add `#[derive(Lattice)]` derive macros, fix #1247 ([`b3d01c2`](https://github.com/hydro-project/hydroflow/commit/b3d01c20cae2335a3da2c02343debe677f17786b))
* **[#1309](https://github.com/hydro-project/hydroflow/issues/1309)**
- Update pinned rust version to 2024-06-17 ([`3098f77`](https://github.com/hydro-project/hydroflow/commit/3098f77fd99882aae23c4b31017aa4b761306197))
* **[#1326](https://github.com/hydro-project/hydroflow/issues/1326)**
- Change fuzz test bounds to require `PartialEq` instead of `Eq`, fix #1302 ([`9c83440`](https://github.com/hydro-project/hydroflow/commit/9c834406efcc3839a2a0d48b514146d06bb6e35d))
* **Uncategorized**
- Release hydroflow_lang v0.8.0, hydroflow_datalog_core v0.8.0, hydroflow_datalog v0.8.0, hydroflow_macro v0.8.0, lattices_macro v0.5.5, lattices v0.5.6, variadics v0.0.5, pusherator v0.0.7, hydroflow v0.8.0, hydroflow_plus v0.8.0, hydro_deploy v0.8.0, hydro_cli v0.8.0, hydroflow_plus_cli_integration v0.8.0, safety bump 7 crates ([`ca6c16b`](https://github.com/hydro-project/hydroflow/commit/ca6c16b4a7ce35e155fe7fc6c7d1676c37c9e4de))
## 0.5.5 (2024-05-24)
### Documentation
- Updating CONTRIBUTING.md with some info about feature branches
Also updating GitHub workflows to run on feature branches as well.
### New Features
- Make Pair<> members public
Summary of types examined:
- `Min`: T is not a lattice
### Bug Fixes
- typos in lattice docs
### Commit Statistics
- 9 commits contributed to the release.
- 48 days passed between releases.
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 7 unique issues were worked on: [#1155](https://github.com/hydro-project/hydroflow/issues/1155), [#1156](https://github.com/hydro-project/hydroflow/issues/1156), [#1174](https://github.com/hydro-project/hydroflow/issues/1174), [#1181](https://github.com/hydro-project/hydroflow/issues/1181), [#1230](https://github.com/hydro-project/hydroflow/issues/1230), [#1233](https://github.com/hydro-project/hydroflow/issues/1233), [#1236](https://github.com/hydro-project/hydroflow/issues/1236)
### Commit Details
view details
* **[#1155](https://github.com/hydro-project/hydroflow/issues/1155)**
- Add Integral domain to algebra library ([`eeef3ac`](https://github.com/hydro-project/hydroflow/commit/eeef3acd7f5f06d6d8cb7719ee2bebf7f980e537))
* **[#1156](https://github.com/hydro-project/hydroflow/issues/1156)**
- Add prototype of tagging algebraic properties ([`c3f5a37`](https://github.com/hydro-project/hydroflow/commit/c3f5a37ff746401a2383a900f9004e33072d5b1a))
* **[#1174](https://github.com/hydro-project/hydroflow/issues/1174)**
- Typos in lattice docs ([`c0a06bb`](https://github.com/hydro-project/hydroflow/commit/c0a06bbd20e1621de46ab835dd27df162f689411))
* **[#1181](https://github.com/hydro-project/hydroflow/issues/1181)**
- Part 1 ([`041bcf9`](https://github.com/hydro-project/hydroflow/commit/041bcf92a48f4fb0557796d541e27213d78235eb))
* **[#1230](https://github.com/hydro-project/hydroflow/issues/1230)**
- Expose PairBimorphism public. ([`c2577bd`](https://github.com/hydro-project/hydroflow/commit/c2577bd0ad1969f4badf23874a9e7a6c1622c5c3))
* **[#1233](https://github.com/hydro-project/hydroflow/issues/1233)**
- Make Pair<> members public ([`0ed1f26`](https://github.com/hydro-project/hydroflow/commit/0ed1f26b485894d3f24bd4d3251f6d3134fd1947))
* **[#1236](https://github.com/hydro-project/hydroflow/issues/1236)**
- Updating CONTRIBUTING.md with some info about feature branches ([`0d2f14b`](https://github.com/hydro-project/hydroflow/commit/0d2f14b9237c0eaa8131d1d1118768357ac8133b))
* **Uncategorized**
- Release hydroflow_lang v0.7.0, hydroflow_datalog_core v0.7.0, hydroflow_datalog v0.7.0, hydroflow_macro v0.7.0, lattices v0.5.5, multiplatform_test v0.1.0, pusherator v0.0.6, hydroflow v0.7.0, stageleft_macro v0.2.0, stageleft v0.3.0, stageleft_tool v0.2.0, hydroflow_plus v0.7.0, hydro_deploy v0.7.0, hydro_cli v0.7.0, hydroflow_plus_cli_integration v0.7.0, safety bump 8 crates ([`2852147`](https://github.com/hydro-project/hydroflow/commit/285214740627685e911781793e05d234ab2ad2bd))
- Definitions of linearity and bilinearity in algebra lib ([`d8e4d9d`](https://github.com/hydro-project/hydroflow/commit/d8e4d9dc784ae28fcefe5f32a0561698c1196d31))
## 0.5.4 (2024-04-05)
Unchanged from previous release.
### Chore
- mark `lattices` as unchanged for `0.6.1` release
### Commit Statistics
- 3 commits contributed to the release.
- 34 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#1127](https://github.com/hydro-project/hydroflow/issues/1127)
### Commit Details
view details
* **[#1127](https://github.com/hydro-project/hydroflow/issues/1127)**
- Initial Algebra Library ([`b6e3bec`](https://github.com/hydro-project/hydroflow/commit/b6e3bec0bff31f3b7e8166cf1b545c39a5b8d617))
* **Uncategorized**
- Release hydroflow_cli_integration v0.5.2, hydroflow_lang v0.6.1, hydroflow_datalog_core v0.6.1, lattices v0.5.4, hydroflow v0.6.1, stageleft_macro v0.1.1, stageleft v0.2.1, hydroflow_plus v0.6.1, hydro_deploy v0.6.1, hydro_cli v0.6.1, hydroflow_plus_cli_integration v0.6.1, stageleft_tool v0.1.1 ([`cd63f22`](https://github.com/hydro-project/hydroflow/commit/cd63f2258c961a40f0e5dbef20ac329a2d570ad0))
- Mark `lattices` as unchanged for `0.6.1` release ([`2a10c4f`](https://github.com/hydro-project/hydroflow/commit/2a10c4f395bbf3a320bdde6ec24c3c6abd5d6ed0))
## 0.5.3 (2024-03-02)
### Chore
- appease various clippy lints
### New Features
- impl missing `SimpleCollectionRef` for various collections types
- add `Lattice[Bi]Morphism` traits, impls for cartesian product, pair, and keyed
### Style
- fix imports for clippy
### Commit Statistics
- 5 commits contributed to the release.
- 28 days passed between releases.
- 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#1061](https://github.com/hydro-project/hydroflow/issues/1061), [#1062](https://github.com/hydro-project/hydroflow/issues/1062), [#1084](https://github.com/hydro-project/hydroflow/issues/1084)
### Commit Details
view details
* **[#1061](https://github.com/hydro-project/hydroflow/issues/1061)**
- Impl missing `SimpleCollectionRef` for various collections types ([`ff158db`](https://github.com/hydro-project/hydroflow/commit/ff158dbb57ef3a754ed1cc834a19e30bb2895488))
* **[#1062](https://github.com/hydro-project/hydroflow/issues/1062)**
- Add `Lattice[Bi]Morphism` traits, impls for cartesian product, pair, and keyed ([`c8d6985`](https://github.com/hydro-project/hydroflow/commit/c8d6985cc99e623432d609e1e1bc4cfd4c31feb7))
* **[#1084](https://github.com/hydro-project/hydroflow/issues/1084)**
- Appease various clippy lints ([`39ab8b0`](https://github.com/hydro-project/hydroflow/commit/39ab8b0278e9e3fe96552ace0a4ae768a6bc10d8))
* **Uncategorized**
- Release hydroflow_lang v0.6.0, hydroflow_datalog_core v0.6.0, hydroflow_datalog v0.6.0, hydroflow_macro v0.6.0, lattices v0.5.3, variadics v0.0.4, pusherator v0.0.5, hydroflow v0.6.0, stageleft v0.2.0, hydroflow_plus v0.6.0, hydro_deploy v0.6.0, hydro_cli v0.6.0, hydroflow_plus_cli_integration v0.6.0, safety bump 7 crates ([`09ea65f`](https://github.com/hydro-project/hydroflow/commit/09ea65fe9cd45c357c43bffca30e60243fa45cc8))
- Fix imports for clippy ([`71353f0`](https://github.com/hydro-project/hydroflow/commit/71353f0d4dfd9766dfdc715c4a91a028081f910f))
## 0.5.2 (2024-02-02)
### New Features
- add map_union_with_tombstones, fix #336
### Commit Statistics
- 2 commits contributed to the release.
- 4 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#1052](https://github.com/hydro-project/hydroflow/issues/1052)
### Commit Details
view details
* **[#1052](https://github.com/hydro-project/hydroflow/issues/1052)**
- Add map_union_with_tombstones, fix #336 ([`87e86a2`](https://github.com/hydro-project/hydroflow/commit/87e86a2ab9e068634ebed17616b7482b3e69d539))
* **Uncategorized**
- Release hydroflow_lang v0.5.2, hydroflow_datalog_core v0.5.2, hydroflow_macro v0.5.2, lattices v0.5.2, hydroflow v0.5.2, hydro_cli v0.5.1, hydroflow_plus_cli_integration v0.5.1 ([`6ac8720`](https://github.com/hydro-project/hydroflow/commit/6ac872081753548ebb8ec95549b4d820dc050d3e))
## 0.5.1 (2024-01-29)
### Chore
- manually set lockstep-versioned crates (and `lattices`) to version `0.5.1`
Setting manually since
https://github.com/frewsxcv/rust-crates-index/issues/159 is messing with
smart-release
- fix clippy lints on latest nightly
- fix `clippy::items_after_test_module`, simplify rustdoc links
### New Features
- Add `DeepReveal` trait
- add set_union_with_tombstones
### Bug Fixes
- chat and two_pc no longer replay
### Commit Statistics
- 8 commits contributed to the release.
- 110 days passed between releases.
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 4 unique issues were worked on: [#1032](https://github.com/hydro-project/hydroflow/issues/1032), [#942](https://github.com/hydro-project/hydroflow/issues/942), [#960](https://github.com/hydro-project/hydroflow/issues/960), [#967](https://github.com/hydro-project/hydroflow/issues/967)
### Commit Details
view details
* **[#1032](https://github.com/hydro-project/hydroflow/issues/1032)**
- Fixup! feat(lattices): Add `DeepReveal` trait ([`0bed8ca`](https://github.com/hydro-project/hydroflow/commit/0bed8cab4a5e7a7be88de4d2e9c3c2d8ee0e7b7f))
- Add `DeepReveal` trait ([`e30602e`](https://github.com/hydro-project/hydroflow/commit/e30602e6a3210a4ea4fe8a65aedb9469e79e3c37))
* **[#942](https://github.com/hydro-project/hydroflow/issues/942)**
- Fix `clippy::items_after_test_module`, simplify rustdoc links ([`f6a7299`](https://github.com/hydro-project/hydroflow/commit/f6a729925ddeb6063fa8c4b03d6621c1c35f0cc8))
* **[#960](https://github.com/hydro-project/hydroflow/issues/960)**
- Fix clippy lints on latest nightly ([`ba6afab`](https://github.com/hydro-project/hydroflow/commit/ba6afab8416ad66eee4fdb9d0c73e62d45752617))
* **[#967](https://github.com/hydro-project/hydroflow/issues/967)**
- Chat and two_pc no longer replay ([`0539e2a`](https://github.com/hydro-project/hydroflow/commit/0539e2a91eb3ba71ed1c9fbe8d0c74b6344ad1bf))
* **Uncategorized**
- Release hydroflow_cli_integration v0.5.1, hydroflow_lang v0.5.1, hydroflow_datalog_core v0.5.1, hydroflow_datalog v0.5.1, hydroflow_macro v0.5.1, lattices v0.5.1, variadics v0.0.3, pusherator v0.0.4, hydroflow v0.5.1, stageleft_macro v0.1.0, stageleft v0.1.0, hydroflow_plus v0.5.1, hydro_deploy v0.5.1, hydro_cli v0.5.1 ([`478aebc`](https://github.com/hydro-project/hydroflow/commit/478aebc8fee2aa78eab86bd386322db1c70bde6a))
- Manually set lockstep-versioned crates (and `lattices`) to version `0.5.1` ([`1b555e5`](https://github.com/hydro-project/hydroflow/commit/1b555e57c8c812bed4d6495d2960cbf77fb0b3ef))
- Add set_union_with_tombstones ([`3f70199`](https://github.com/hydro-project/hydroflow/commit/3f701997ec1e6ca2a364537fbd2ef39cf96ce0f1))
## 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
- 7 commits contributed to the release.
- 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**
- Release hydroflow_macro v0.5.0, lattices v0.5.0, hydroflow v0.5.0, hydro_cli v0.5.0 ([`12697c2`](https://github.com/hydro-project/hydroflow/commit/12697c2f19bd96802591fa63a5b6b12104ecfe0d))
- 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`](https://github.com/hydro-project/hydroflow/commit/2e2d8b386fb086c8276a2853d2a1f96ad4d7c221))
- 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)
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 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
### Refactor (BREAKING)
- Rename `Seq` -> `VecUnion`
### Commit Statistics
- 10 commits contributed to the release.
- 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)
### Commit Details
view details
* **[#822](https://github.com/hydro-project/hydroflow/issues/822)**
- Fix lint, format errors for latest nightly version (without updated pinned) ([`f60053f`](https://github.com/hydro-project/hydroflow/commit/f60053f70da3071c54de4a0eabb059a143aa2ccc))
* **[#849](https://github.com/hydro-project/hydroflow/issues/849)**
- Rename `Seq` -> `VecUnion` ([`7b0485b`](https://github.com/hydro-project/hydroflow/commit/7b0485b20939ec86ed8e74ecc9c75ac1b5d01072))
* **[#854](https://github.com/hydro-project/hydroflow/issues/854)**
- Add atomize trait, impls, tests ([`8ec75c6`](https://github.com/hydro-project/hydroflow/commit/8ec75c6d8998b7d7e5a0ae24ee53b0cdb6932683))
* **[#860](https://github.com/hydro-project/hydroflow/issues/860)**
- Improve `Atomize` docs ([`a8b0d2d`](https://github.com/hydro-project/hydroflow/commit/a8b0d2d10eef3e45669f77a1f2460cd31a95d15b))
* **[#865](https://github.com/hydro-project/hydroflow/issues/865)**
- Add bottom (+top) collapsing, implement `IsBot`/`IsTop` for all lattice types ([`7b752f7`](https://github.com/hydro-project/hydroflow/commit/7b752f743cbedc632b127dddf3f9a84e839eb47a))
* **[#866](https://github.com/hydro-project/hydroflow/issues/866)**
- Implement `SimpleKeyedRef` for map types ([`b240699`](https://github.com/hydro-project/hydroflow/commit/b2406994a703f028724cc30065fec60f7f8a7247))
* **[#867](https://github.com/hydro-project/hydroflow/issues/867)**
- Change `Atomize` to require returning empty iff lattice is bottom ([`262166e`](https://github.com/hydro-project/hydroflow/commit/262166e7cecf8ffb5a2c7bc989e8cf66c4524a68))
* **[#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))
## 0.3.0 (2023-07-04)
### Documentation
- List `WithTop` in README 4/4
### New Features
- make unit `()` a point lattice
- impl `IsTop`, `IsBot` for `Min`, `Max` over numeric types
- Add `Conflict` lattice
- add top lattice, opposite of bottom
- Add `Seq` lattice.
### Bug Fixes
- removed unused nightly features `impl_trait_in_assoc_type`, `type_alias_impl_trait`
- fix ConvertFrom for bottom to actually convert the type
* fix: fix type inference with doubly-nested bottom types
* fix: address comments
### Refactor
- Rename `bottom.rs` -> `with_bot.rs`, `top.rs` -> `with_top.rs` 1/4
### Style
- `warn` missing docs (instead of `deny`) to allow code before docs
### New Features (BREAKING)
- Add `reveal` methods, make fields private
- Add `Provenance` generic param token to `Point`.
- Use `()` provenance for `kvs_bench` example.
### Bug Fixes (BREAKING)
- Remove `Default` impl for `WithTop` 3/4
Is confusing, probably not what users want.
### Refactor (BREAKING)
- Rename `ConvertFrom::from` -> `LatticeFrom::lattice_from`
- Rename `Bottom` -> `WithBot`, `Top` -> `WithTop`, constructors now take `Option`s 2/4
- Rename `Immut` -> `Point` lattice.
### Commit Statistics
- 18 commits contributed to the release.
- 33 days passed between releases.
- 17 commits were understood as [conventional](https://www.conventionalcommits.org).
- 12 unique issues were worked on: [#742](https://github.com/hydro-project/hydroflow/issues/742), [#744](https://github.com/hydro-project/hydroflow/issues/744), [#761](https://github.com/hydro-project/hydroflow/issues/761), [#763](https://github.com/hydro-project/hydroflow/issues/763), [#765](https://github.com/hydro-project/hydroflow/issues/765), [#766](https://github.com/hydro-project/hydroflow/issues/766), [#767](https://github.com/hydro-project/hydroflow/issues/767), [#772](https://github.com/hydro-project/hydroflow/issues/772), [#773](https://github.com/hydro-project/hydroflow/issues/773), [#780](https://github.com/hydro-project/hydroflow/issues/780), [#789](https://github.com/hydro-project/hydroflow/issues/789), [#793](https://github.com/hydro-project/hydroflow/issues/793)
### Commit Details
view details
* **[#742](https://github.com/hydro-project/hydroflow/issues/742)**
- Fix ConvertFrom for bottom to actually convert the type ([`3c4eb16`](https://github.com/hydro-project/hydroflow/commit/3c4eb16833160f8813b812487a1297c023400138))
* **[#744](https://github.com/hydro-project/hydroflow/issues/744)**
- Add top lattice, opposite of bottom ([`fc4dcbd`](https://github.com/hydro-project/hydroflow/commit/fc4dcbdfa703d79a0c183a2eb3f5dbb42260b67a))
* **[#761](https://github.com/hydro-project/hydroflow/issues/761)**
- Rename `Immut` -> `Point` lattice. ([`1bdadb8`](https://github.com/hydro-project/hydroflow/commit/1bdadb82b25941d11f3fa24eaac35109927c852f))
* **[#763](https://github.com/hydro-project/hydroflow/issues/763)**
- List `WithTop` in README 4/4 ([`ac4fd82`](https://github.com/hydro-project/hydroflow/commit/ac4fd827ccede0ad53dfc59079cdb7df5928e491))
- Remove `Default` impl for `WithTop` 3/4 ([`5cfd2a0`](https://github.com/hydro-project/hydroflow/commit/5cfd2a0f48f11f6185070cab932f50b630e1f800))
- Rename `Bottom` -> `WithBot`, `Top` -> `WithTop`, constructors now take `Option`s 2/4 ([`5c7e4d3`](https://github.com/hydro-project/hydroflow/commit/5c7e4d3aea1dfb61d51bcb0291740281824e3090))
- Rename `bottom.rs` -> `with_bot.rs`, `top.rs` -> `with_top.rs` 1/4 ([`0cbbaea`](https://github.com/hydro-project/hydroflow/commit/0cbbaeaec5e192e2539771bb247926271c2dc4a3))
* **[#765](https://github.com/hydro-project/hydroflow/issues/765)**
- Rename `ConvertFrom::from` -> `LatticeFrom::lattice_from` ([`4a727ec`](https://github.com/hydro-project/hydroflow/commit/4a727ecf1232e0f03f5300547282bfbe73342cfa))
* **[#766](https://github.com/hydro-project/hydroflow/issues/766)**
- Add `IsBot::is_bot` and `IsTop::is_top` traits ([`deb26af`](https://github.com/hydro-project/hydroflow/commit/deb26af6bcd547f91bf339367387d36e5e59565a))
* **[#767](https://github.com/hydro-project/hydroflow/issues/767)**
- Add `Conflict` lattice ([`f5e0d19`](https://github.com/hydro-project/hydroflow/commit/f5e0d19e8531c250bc4492b61b9731c947916daf))
* **[#772](https://github.com/hydro-project/hydroflow/issues/772)**
- Add `Provenance` generic param token to `Point`. ([`7aec1ac`](https://github.com/hydro-project/hydroflow/commit/7aec1ac884e01a560770dfab7e0ba64d520415f6))
* **[#773](https://github.com/hydro-project/hydroflow/issues/773)**
- `warn` missing docs (instead of `deny`) to allow code before docs ([`70c88a5`](https://github.com/hydro-project/hydroflow/commit/70c88a51c4c83a4dc2fc67a0cd344786a4ff26f7))
* **[#780](https://github.com/hydro-project/hydroflow/issues/780)**
- Removed unused nightly features `impl_trait_in_assoc_type`, `type_alias_impl_trait` ([`9bb5528`](https://github.com/hydro-project/hydroflow/commit/9bb5528d99e83fdae5aeca9456802379131c2f90))
* **[#789](https://github.com/hydro-project/hydroflow/issues/789)**
- Add `reveal` methods, make fields private ([`931d938`](https://github.com/hydro-project/hydroflow/commit/931d93887c238025596cb22226e16d43e16a7425))
* **[#793](https://github.com/hydro-project/hydroflow/issues/793)**
- Make unit `()` a point lattice ([`016abee`](https://github.com/hydro-project/hydroflow/commit/016abeea3ecd390a976dd8dbec371b08fe744655))
- Impl `IsTop`, `IsBot` for `Min`, `Max` over numeric types ([`dc99c02`](https://github.com/hydro-project/hydroflow/commit/dc99c021640a47b704905d087eadcbc477f033f0))
* **Uncategorized**
- 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 `Seq` lattice. ([`153cbab`](https://github.com/hydro-project/hydroflow/commit/153cbabd462d776eae395e371470abb4662642cd))
## 0.2.0 (2023-05-31)
### Chore
- manually bump versions for v0.2.0 release
### Refactor (BREAKING)
- rename `Fake` -> `Immut`
### Commit Statistics
- 3 commits contributed to the release.
- 1 day passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
### Commit Details
view details
* **Uncategorized**
- Release hydroflow_lang v0.2.0, hydroflow_datalog_core v0.2.0, hydroflow_datalog v0.2.0, hydroflow_macro v0.2.0, lattices v0.2.0, hydroflow v0.2.0, hydro_cli v0.2.0 ([`ca464c3`](https://github.com/hydro-project/hydroflow/commit/ca464c32322a7ad39eb53e1794777c849aa548a0))
- Manually bump versions for v0.2.0 release ([`fd896fb`](https://github.com/hydro-project/hydroflow/commit/fd896fbe925fbd8ef1d16be7206ac20ba585081a))
- Rename `Fake` -> `Immut` ([`10b3085`](https://github.com/hydro-project/hydroflow/commit/10b308532245db8f4480ce53b67aea050ae1918d))
## 0.1.2 (2023-05-30)
### New Features
- print out items when lattice identity tests fail
### Commit Statistics
- 2 commits contributed to the release.
- 6 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#691](https://github.com/hydro-project/hydroflow/issues/691)
### Commit Details
view details
* **[#691](https://github.com/hydro-project/hydroflow/issues/691)**
- Print out items when lattice identity tests fail ([`ecff609`](https://github.com/hydro-project/hydroflow/commit/ecff609a0153446efc1809230ae100964bb9f89b))
* **Uncategorized**
- Release hydroflow_cli_integration v0.1.1, hydroflow_lang v0.1.1, hydroflow_datalog_core v0.1.1, hydroflow_macro v0.1.1, lattices v0.1.2, hydroflow v0.1.1, hydro_cli v0.1.0 ([`d9fa8b3`](https://github.com/hydro-project/hydroflow/commit/d9fa8b387e303b33d9614dbde80abf1af08bd8eb))
## 0.1.1 (2023-05-23)
### Documentation
- simplified explanations, fixed typos, removed dead named links
- update links from old to new book
### Refactor
- update cc-traits to v2, remove `SimpleKeyedRef` shim
### Commit Statistics
- 5 commits contributed to the release.
- 2 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#671](https://github.com/hydro-project/hydroflow/issues/671), [#674](https://github.com/hydro-project/hydroflow/issues/674), [#687](https://github.com/hydro-project/hydroflow/issues/687)
### Commit Details
view details
* **[#671](https://github.com/hydro-project/hydroflow/issues/671)**
- Migrate docs to a unified Docusuarus site ([`feed326`](https://github.com/hydro-project/hydroflow/commit/feed3268c0aabeb027b19abd9ed06c565a0462f4))
* **[#674](https://github.com/hydro-project/hydroflow/issues/674)**
- Update cc-traits to v2, remove `SimpleKeyedRef` shim ([`3bee6f8`](https://github.com/hydro-project/hydroflow/commit/3bee6f858a78d82b7431e124ef9792002c8d77ce))
* **[#687](https://github.com/hydro-project/hydroflow/issues/687)**
- Simplified explanations, fixed typos, removed dead named links ([`720744f`](https://github.com/hydro-project/hydroflow/commit/720744fc90fa05a11e0b79c96baba2eb6fd1c7f3))
- Update links from old to new book ([`4bc1ac1`](https://github.com/hydro-project/hydroflow/commit/4bc1ac1ea2fa6257219ec7fae94a2b039ec7eb7b))
* **Uncategorized**
- Release hydroflow_cli_integration v0.1.0, hydroflow_internalmacro v0.1.0, hydroflow_lang v0.1.0, hydroflow_datalog_core v0.1.0, hydroflow_datalog v0.1.0, hydroflow_macro v0.1.0, lattices v0.1.1, hydroflow v0.1.0 ([`7324974`](https://github.com/hydro-project/hydroflow/commit/73249744293c9b89cbaa2d84b23ca3f25b00ae4e))
## 0.1.0 (2023-05-21)
### Documentation
- Update docs, add book chapter for `lattices` crate
- Adds `mdbook-katex` to the book build for latex support.
### New Features
- Make lattice test helpers public, restructure
Also impl `LatticeOrd` for `SetUnion`
### Style
- Warn lint `unused_qualifications`
- rustfmt group imports
- rustfmt prescribe flat-module `use` format
### Commit Statistics
- 14 commits contributed to the release.
- 18 days passed between releases.
- 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- 10 unique issues were worked on: [#625](https://github.com/hydro-project/hydroflow/issues/625), [#637](https://github.com/hydro-project/hydroflow/issues/637), [#638](https://github.com/hydro-project/hydroflow/issues/638), [#642](https://github.com/hydro-project/hydroflow/issues/642), [#644](https://github.com/hydro-project/hydroflow/issues/644), [#645](https://github.com/hydro-project/hydroflow/issues/645), [#658](https://github.com/hydro-project/hydroflow/issues/658), [#660](https://github.com/hydro-project/hydroflow/issues/660), [#664](https://github.com/hydro-project/hydroflow/issues/664), [#667](https://github.com/hydro-project/hydroflow/issues/667)
### Commit Details
view details
* **[#625](https://github.com/hydro-project/hydroflow/issues/625)**
- Use `cc-traits` instead of own `Collection`, remove `tag` indirection ([`10ed00d`](https://github.com/hydro-project/hydroflow/commit/10ed00df8e6f2e86d7db737dd2049f2c5dbfeba0))
* **[#637](https://github.com/hydro-project/hydroflow/issues/637)**
- Add bottom and fake lattice types ([`95ce1ed`](https://github.com/hydro-project/hydroflow/commit/95ce1edbecebdc505893b1f527bef905b4247ed8))
* **[#638](https://github.com/hydro-project/hydroflow/issues/638)**
- Remove old lattice code ([`f4915fa`](https://github.com/hydro-project/hydroflow/commit/f4915fab98c57652e5345d39076d95ebb0a43fd8))
* **[#642](https://github.com/hydro-project/hydroflow/issues/642)**
- Remove zmq, use unsync channels locally, use sync mpsc cross-thread, use cross_join+enumerate instead of broadcast channel,remove Eq requirement from multisetjoin ([`b38f5cf`](https://github.com/hydro-project/hydroflow/commit/b38f5cf198e29a8de2f84eb4cd075818fbeffda6))
* **[#644](https://github.com/hydro-project/hydroflow/issues/644)**
- Remove Compare trait, add tests, make all lattice types PartialOrd, Eq, PartialEq ([`698b72f`](https://github.com/hydro-project/hydroflow/commit/698b72f8f013288f211a655bf93f2a3cd6d386e7))
* **[#645](https://github.com/hydro-project/hydroflow/issues/645)**
- Fix `Pair` `PartialOrd` implementation, add consistency tests with `NaiveOrd` ([`76e19a7`](https://github.com/hydro-project/hydroflow/commit/76e19a7346cd6005a04c39974bbcf4ed2bd37217))
* **[#658](https://github.com/hydro-project/hydroflow/issues/658)**
- Allow fake to merge, compare equal values ([`1a159dc`](https://github.com/hydro-project/hydroflow/commit/1a159dc8a16e40fa40ae3e8433d53c08d82e833c))
* **[#660](https://github.com/hydro-project/hydroflow/issues/660)**
- Warn lint `unused_qualifications` ([`cd0a86d`](https://github.com/hydro-project/hydroflow/commit/cd0a86d9271d0e3daab59c46f079925f863424e1))
- Rustfmt group imports ([`20a1b2c`](https://github.com/hydro-project/hydroflow/commit/20a1b2c0cd04a8b495a02ce345db3d48a99ea0e9))
- Rustfmt prescribe flat-module `use` format ([`1eda91a`](https://github.com/hydro-project/hydroflow/commit/1eda91a2ef8794711ef037240f15284e8085d863))
* **[#664](https://github.com/hydro-project/hydroflow/issues/664)**
- Make lattice test helpers public, restructure ([`15f9688`](https://github.com/hydro-project/hydroflow/commit/15f9688ff4dc816a374ed9068d98bee0a4d51b2c))
* **[#667](https://github.com/hydro-project/hydroflow/issues/667)**
- Bump lattices version to `0.1.0` ([`a46ce4a`](https://github.com/hydro-project/hydroflow/commit/a46ce4a522b70661e5acf644f893bfdf56294578))
- Update docs, add book chapter for `lattices` crate ([`95d23ea`](https://github.com/hydro-project/hydroflow/commit/95d23eaf8218002ad0a6a8c4c6e6c76e6b8f785b))
* **Uncategorized**
- Release hydroflow_cli_integration v0.0.1, hydroflow_lang v0.0.1, hydroflow_datalog_core v0.0.1, hydroflow_datalog v0.0.1, hydroflow_macro v0.0.1, lattices v0.1.0, variadics v0.0.2, pusherator v0.0.1, hydroflow v0.0.2 ([`809395a`](https://github.com/hydro-project/hydroflow/commit/809395acddb78949d7a2bf036e1a94972f23b1ad))
## 0.0.0 (2023-05-02)
### Commit Statistics
- 2 commits contributed to the release.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#634](https://github.com/hydro-project/hydroflow/issues/634), [#636](https://github.com/hydro-project/hydroflow/issues/636)
### Commit Details
view details
* **[#634](https://github.com/hydro-project/hydroflow/issues/634)**
- Fixup! Move lattice2 into new separate `lattices` crate ([`b08e793`](https://github.com/hydro-project/hydroflow/commit/b08e793edf30e40f21c916ae630a09337034150e))
- Move lattice2 into new separate `lattices` crate ([`c0006c4`](https://github.com/hydro-project/hydroflow/commit/c0006c4c73e0f3f5c65274e3ad76537ea9fe2643))
* **[#636](https://github.com/hydro-project/hydroflow/issues/636)**
- Fixup! Move lattice2 into new separate `lattices` crate ([`b08e793`](https://github.com/hydro-project/hydroflow/commit/b08e793edf30e40f21c916ae630a09337034150e))