# 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.2 (2024-04-05)
### Refactor
- use `TcpListenerStream` instead of spawning task, fix #659
### Commit Statistics
- 1 commit contributed to the release over the course of 9 calendar days.
- 67 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#1121](https://github.com/hydro-project/hydroflow/issues/1121)
### Commit Details
view details
* **[#1121](https://github.com/hydro-project/hydroflow/issues/1121)**
- Use `TcpListenerStream` instead of spawning task, fix #659 ([`ba2df44`](https://github.com/hydro-project/hydroflow/commit/ba2df44efd42b7c4d37ebefbf82e77c6f1d4cb94))
## 0.5.1 (2024-01-29)
### New Features
- auto-configure Hydro Deploy based on Hydroflow+ plans
- add initial test using Hydro CLI from Hydroflow+
This also required a change to Hydroflow core to make it possible to run the dataflow itself on a single thread (using a LocalSet), even if the surrounding runtime is not single-threaded (required to work around deadlocks because we can't use async APIs inside Hydroflow+). This requires us to spawn any Hydroflow tasks (only for `dest_sink` at the moment) right next to when we run the dataflow rather than when the Hydroflow graph is initialized. From a conceptual perspective, this seems _more right_, since now creating a Hydroflow program will not result in any actual tasks running.
In the third PR of this series, I aim to add a new Hydroflow+ operator that will automate the setup of a `dest_sink`/`source_stream` pair that span nodes.
- split Rust core from Python bindings
### Pre-Move Commit Statistics
- 2 commits contributed to the release over the course of 3 calendar days.
- 169 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#978](https://github.com/hydro-project/hydroflow/issues/978), [#982](https://github.com/hydro-project/hydroflow/issues/982)
### 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
- generate pre-move changelogs for `hydro_cli` and `hydroflow_cli_integration`
### Pre-Move Commit Details
view details
* **[#978](https://github.com/hydro-project/hydroflow/issues/978)**
- Add initial test using Hydro CLI from Hydroflow+ ([`e5bdd12`](https://github.com/hydro-project/hydroflow/commit/e5bdd12e32d6ea72fd91a55c12e09f07a0edaa5c))
* **[#982](https://github.com/hydro-project/hydroflow/issues/982)**
- Auto-configure Hydro Deploy based on Hydroflow+ plans ([`9e27582`](https://github.com/hydro-project/hydroflow/commit/9e275824c88b24d060a7de5822e1359959b36b03))
### Commit Statistics
- 4 commits contributed to the release over the course of 39 calendar days.
- 209 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#1046](https://github.com/hydro-project/hydroflow/issues/1046), [#986](https://github.com/hydro-project/hydroflow/issues/986)
### Commit Details
view details
* **[#1046](https://github.com/hydro-project/hydroflow/issues/1046)**
- Generate pre-move changelogs for `hydro_cli` and `hydroflow_cli_integration` ([`69e0416`](https://github.com/hydro-project/hydroflow/commit/69e04167f4774cf1ca3351e7ac34d15cfa83362b))
* **[#986](https://github.com/hydro-project/hydroflow/issues/986)**
- Split Rust core from Python bindings ([`c50ca12`](https://github.com/hydro-project/hydroflow/commit/c50ca121b6d5e30dc07843f82caa135b68626301))
* **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))
## 0.3.0 (2023-07-04)
### Bug Fixes
- remove nightly feature `never_type` where unused
### Pre-Move Commit Statistics
- 2 commits contributed to the release over the course of 12 calendar days.
- 33 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#780](https://github.com/hydro-project/hydroflow/issues/780)
### Pre-Move Commit Details
view details
* **[#780](https://github.com/hydro-project/hydroflow/issues/780)**
- Remove nightly feature `never_type` where unused ([`a3c1fbb`](https://github.com/hydro-project/hydroflow/commit/a3c1fbbd1e3fa7a7299878f61b4bfd12dce0052c))
* **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))
## 0.2.0 (2023-05-31)
### Chore
- manually bump versions for v0.2.0 release
### New Features
- Add more detailed Hydro Deploy docs and rename `ConnectedBidi` => `ConnectedDirect`
### Pre-Move Commit Statistics
- 3 commits contributed to the release.
- 2 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#723](https://github.com/hydro-project/hydroflow/issues/723)
### Pre-Move Commit Details
view details
* **[#723](https://github.com/hydro-project/hydroflow/issues/723)**
- Add more detailed Hydro Deploy docs and rename `ConnectedBidi` => `ConnectedDirect` ([`8b2c9f0`](https://github.com/hydro-project/hydroflow/commit/8b2c9f09b1f423ac6d562c29d4ea587578f1c98a))
* **Uncategorized**
- Release hydroflow_cli_integration v0.2.0 ([`71d940b`](https://github.com/hydro-project/hydroflow/commit/71d940b1b2ca379543f28c4e827f895fc5efa4bd))
- Manually bump versions for v0.2.0 release ([`fd896fb`](https://github.com/hydro-project/hydroflow/commit/fd896fbe925fbd8ef1d16be7206ac20ba585081a))
## 0.1.1 (2023-05-30)
### New Features
- finish up WebSocket chat example and avoid deadlocks in network setup
### Bug Fixes
- fix CLI build on windows
### Pre-Move Commit Statistics
- 3 commits contributed to the release.
- 6 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#708](https://github.com/hydro-project/hydroflow/issues/708), [#717](https://github.com/hydro-project/hydroflow/issues/717)
### Pre-Move Commit Details
view details
* **[#708](https://github.com/hydro-project/hydroflow/issues/708)**
- Finish up WebSocket chat example and avoid deadlocks in network setup ([`4536ac6`](https://github.com/hydro-project/hydroflow/commit/4536ac6bbcd14a621b5a039d7fe213bff72a8db1))
* **[#717](https://github.com/hydro-project/hydroflow/issues/717)**
- Fix CLI build on windows ([`2adfdd2`](https://github.com/hydro-project/hydroflow/commit/2adfdd2867092352121e4f232b63928a810948d3))
* **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.0 (2023-05-23)
### Chore
- bump versions to 0.1.0 for release
For release on crates.io for v0.1
### Pre-Move Commit Statistics
- 2 commits contributed to the release.
- 2 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#684](https://github.com/hydro-project/hydroflow/issues/684)
### Pre-Move Commit Details
view details
* **[#684](https://github.com/hydro-project/hydroflow/issues/684)**
- Bump versions to 0.1.0 for release ([`52ee8f8`](https://github.com/hydro-project/hydroflow/commit/52ee8f8e443f0a8b5caf92d2c5f028c00302a79b))
* **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.0.1 (2023-05-21)
### Style
- Warn lint `unused_qualifications`
- rustfmt group imports
- rustfmt prescribe flat-module `use` format
### Pre-Move Commit Statistics
- 6 commits contributed to the release over the course of 13 calendar days.
- 24 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#646](https://github.com/hydro-project/hydroflow/issues/646), [#656](https://github.com/hydro-project/hydroflow/issues/656), [#660](https://github.com/hydro-project/hydroflow/issues/660)
### Pre-Move Commit Details
view details
* **[#646](https://github.com/hydro-project/hydroflow/issues/646)**
- Update pinned `nightly-2023-05-07`, fix lints ([`19d5d96`](https://github.com/hydro-project/hydroflow/commit/19d5d963ac11bef951f00b93d0509679082cedef))
* **[#656](https://github.com/hydro-project/hydroflow/issues/656)**
- Add WebSocket with CLI example and simplify init API ([`1015980`](https://github.com/hydro-project/hydroflow/commit/1015980ed995634ff8735e4daf33796e73bab563))
* **[#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))
* **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-04-26)
### Pre-Move Commit Statistics
- 20 commits contributed to the release over the course of 46 calendar days.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 19 unique issues were worked on: [#452](https://github.com/hydro-project/hydroflow/issues/452), [#461](https://github.com/hydro-project/hydroflow/issues/461), [#466](https://github.com/hydro-project/hydroflow/issues/466), [#472](https://github.com/hydro-project/hydroflow/issues/472), [#477](https://github.com/hydro-project/hydroflow/issues/477), [#479](https://github.com/hydro-project/hydroflow/issues/479), [#484](https://github.com/hydro-project/hydroflow/issues/484), [#498](https://github.com/hydro-project/hydroflow/issues/498), [#513](https://github.com/hydro-project/hydroflow/issues/513), [#533](https://github.com/hydro-project/hydroflow/issues/533), [#541](https://github.com/hydro-project/hydroflow/issues/541), [#545](https://github.com/hydro-project/hydroflow/issues/545), [#560](https://github.com/hydro-project/hydroflow/issues/560), [#563](https://github.com/hydro-project/hydroflow/issues/563), [#575](https://github.com/hydro-project/hydroflow/issues/575), [#576](https://github.com/hydro-project/hydroflow/issues/576), [#584](https://github.com/hydro-project/hydroflow/issues/584), [#613](https://github.com/hydro-project/hydroflow/issues/613), [#617](https://github.com/hydro-project/hydroflow/issues/617)
### Pre-Move Commit Details
view details
* **[#452](https://github.com/hydro-project/hydroflow/issues/452)**
- Build CLI wheels in CI and minimize CLI dependencies ([`3e33d0c`](https://github.com/hydro-project/hydroflow/commit/3e33d0cf6b068f0567e55462732598f8a4e2da6a))
* **[#461](https://github.com/hydro-project/hydroflow/issues/461)**
- Support networking topologies that mix local and cloud through SSH tunneling ([`0ec6d88`](https://github.com/hydro-project/hydroflow/commit/0ec6d889469331a212c04f9568136f770f0c973d))
* **[#466](https://github.com/hydro-project/hydroflow/issues/466)**
- Add APIs for sending data to a Hydroflow service from Python ([`c2203a1`](https://github.com/hydro-project/hydroflow/commit/c2203a15f0144308365af227f3ca044ae6a7954b))
* **[#472](https://github.com/hydro-project/hydroflow/issues/472)**
- Some clippy/windows fixes for hydro cli code ([`bbf7b50`](https://github.com/hydro-project/hydroflow/commit/bbf7b506463d7fceb5d87005c7cb270a2b0521df))
* **[#477](https://github.com/hydro-project/hydroflow/issues/477)**
- Properly handle interrupts and fix non-flushing demux ([`00ea017`](https://github.com/hydro-project/hydroflow/commit/00ea017e40b796e7561979efa0921658dfe072fd))
* **[#479](https://github.com/hydro-project/hydroflow/issues/479)**
- Allow custom ports to be used as sinks ([`8da15b7`](https://github.com/hydro-project/hydroflow/commit/8da15b7cbd8bdbf960d3ed58b69f98538ccacd2c))
* **[#484](https://github.com/hydro-project/hydroflow/issues/484)**
- Add merge API to CLI to have multiple sources for one sink ([`e09b567`](https://github.com/hydro-project/hydroflow/commit/e09b5670795292f66a004f41314c3c4aa7a24eeb))
* **[#498](https://github.com/hydro-project/hydroflow/issues/498)**
- Add API to get CLI connection config as JSON ([`323e0f0`](https://github.com/hydro-project/hydroflow/commit/323e0f0afd73b66f321b2e88498627e76a186a4e))
* **[#513](https://github.com/hydro-project/hydroflow/issues/513)**
- Add `hydro.null` API to connect no-op sources and sinks ([`9b2a4a6`](https://github.com/hydro-project/hydroflow/commit/9b2a4a690798d2a976221901fa25a908b7600f52))
* **[#533](https://github.com/hydro-project/hydroflow/issues/533)**
- Add `hydro.mux` operator and initial API tests ([`c25272b`](https://github.com/hydro-project/hydroflow/commit/c25272b90f8cc5ec7614caa29f0be889d2220510))
* **[#541](https://github.com/hydro-project/hydroflow/issues/541)**
- Fixup! Start accepting connections in the background of CLI initialization to avoid deadlocks ([`d2480f7`](https://github.com/hydro-project/hydroflow/commit/d2480f7b92a9067f63d736c6ba72f1dbc0614d0f))
- Start accepting connections in the background of CLI initialization to avoid deadlocks ([`681a6ba`](https://github.com/hydro-project/hydroflow/commit/681a6baef73de8a67e140526ede4b36e239976f0))
* **[#545](https://github.com/hydro-project/hydroflow/issues/545)**
- Fixup! Start accepting connections in the background of CLI initialization to avoid deadlocks ([`d2480f7`](https://github.com/hydro-project/hydroflow/commit/d2480f7b92a9067f63d736c6ba72f1dbc0614d0f))
* **[#560](https://github.com/hydro-project/hydroflow/issues/560)**
- Refactor `hydro.mux` to `source.tagged(id)` and support connections where the tagged source is the server ([`3f0ecc9`](https://github.com/hydro-project/hydroflow/commit/3f0ecc92abed7a0c95c04255adcc6d39c0767703))
* **[#563](https://github.com/hydro-project/hydroflow/issues/563)**
- Don't drop the write half of a stream even if we are only reading in the CLI ([`aef43be`](https://github.com/hydro-project/hydroflow/commit/aef43be9c0a3cc39229c90cde9c8f5ed8b8198c8))
* **[#575](https://github.com/hydro-project/hydroflow/issues/575)**
- Place a buffer over each sink of a demux to avoid serial message sending ([`a26f759`](https://github.com/hydro-project/hydroflow/commit/a26f759d717fd1685fc53181b4c2fd9b7b93a544))
* **[#576](https://github.com/hydro-project/hydroflow/issues/576)**
- Add classic counter CRDT benchmark to compare against ([`2f3bf04`](https://github.com/hydro-project/hydroflow/commit/2f3bf04ab33768b04d44f3f58907f958d4cd8dc8))
* **[#584](https://github.com/hydro-project/hydroflow/issues/584)**
- Fix windows build ([`5aa96c4`](https://github.com/hydro-project/hydroflow/commit/5aa96c451ba69ff2beed41528b8c847b75c45ea7))
* **[#613](https://github.com/hydro-project/hydroflow/issues/613)**
- Improve error message when key is not found in a demux ([`f9f9e72`](https://github.com/hydro-project/hydroflow/commit/f9f9e729affe41d37b2414e7c5dfc5e54caf82a7))
* **[#617](https://github.com/hydro-project/hydroflow/issues/617)**
- Update `Cargo.toml`s for publishing ([`a78ff9a`](https://github.com/hydro-project/hydroflow/commit/a78ff9aace6771787c2b72aad83be6ad8d49a828))
* **Uncategorized**
- Setup release workflow ([`108d0e9`](https://github.com/hydro-project/hydroflow/commit/108d0e933a08b183c4dadf8c3499e4946696e263))