# 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).
## v0.5.0 (2024-11-08)
### Chore
- update pinned rust version, clippy lints, remove some dead code
### New Features
- add API for external network inputs
This is a key step towards being able to unit-test HF+ graphs, by being
able to have controlled inputs. Outputs next.
- splice UDFs with type hints to avoid inference failures
### 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
- 4 commits contributed to the release.
- 69 days passed between releases.
- 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- 4 unique issues were worked on: [#1434](https://github.com/hydro-project/hydroflow/issues/1434), [#1444](https://github.com/hydro-project/hydroflow/issues/1444), [#1449](https://github.com/hydro-project/hydroflow/issues/1449), [#1505](https://github.com/hydro-project/hydroflow/issues/1505)
### Commit Details
view details
* **[#1434](https://github.com/hydro-project/hydroflow/issues/1434)**
- Splice UDFs with type hints to avoid inference failures ([`60d9bec`](https://github.com/hydro-project/hydroflow/commit/60d9becaf0b67f9819316ce6d76bd867f7d46505))
* **[#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))
* **[#1449](https://github.com/hydro-project/hydroflow/issues/1449)**
- Add API for external network inputs ([`8a80931`](https://github.com/hydro-project/hydroflow/commit/8a809315cd37929687fcabc34a12042db25d5767))
* **[#1505](https://github.com/hydro-project/hydroflow/issues/1505)**
- Fixes for nightly clippy ([`47cb703`](https://github.com/hydro-project/hydroflow/commit/47cb703e771f7d1c451ceb9d185ada96410949da))
## v0.4.0 (2024-08-30)
### Chore
- lower min dependency versions where possible, update `Cargo.lock`
Moved from #1418
---------
### New Features
- use trybuild to compile subgraph binaries
### Bug Fixes
- typing hole when splicing `RuntimeData`
Previously, a `RuntimeData` could be spliced in any context even if its
data type may not be valid under the required `'a` lifetime constraint.
This fixed that typing bug.
Soon, we should have regression testing for this via trybuild.
### Commit Statistics
- 4 commits contributed to the release.
- 97 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#1397](https://github.com/hydro-project/hydroflow/issues/1397), [#1398](https://github.com/hydro-project/hydroflow/issues/1398), [#1423](https://github.com/hydro-project/hydroflow/issues/1423)
### Commit Details
view details
* **[#1397](https://github.com/hydro-project/hydroflow/issues/1397)**
- Typing hole when splicing `RuntimeData` ([`06c5141`](https://github.com/hydro-project/hydroflow/commit/06c514179bacafb52aceaed4c92367176c656822))
* **[#1398](https://github.com/hydro-project/hydroflow/issues/1398)**
- Use trybuild to compile subgraph binaries ([`46a8a2c`](https://github.com/hydro-project/hydroflow/commit/46a8a2cb08732bb21096e824bc4542d208c68fb2))
* **[#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))
* **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))
## v0.3.0 (2024-05-24)
### New Features
- re-compile staged sources for the macro at the top level
### Bug Fixes
- fix missing `syn` `visit-mut` feature
- handle send_bincode with local structs
fix(hydroflow_plus): handle send_bincode with local structs
### Commit Statistics
- 4 commits contributed to the release.
- 48 days passed between releases.
- 3 commits were understood as [conventional](https://www.conventionalcommits.org).
- 3 unique issues were worked on: [#1104](https://github.com/hydro-project/hydroflow/issues/1104), [#1151](https://github.com/hydro-project/hydroflow/issues/1151), [#1225](https://github.com/hydro-project/hydroflow/issues/1225)
### Commit Details
view details
* **[#1104](https://github.com/hydro-project/hydroflow/issues/1104)**
- Re-compile staged sources for the macro at the top level ([`93fd05e`](https://github.com/hydro-project/hydroflow/commit/93fd05e5ff256e2e0a3b513695ff869c32344447))
* **[#1151](https://github.com/hydro-project/hydroflow/issues/1151)**
- Handle send_bincode with local structs ([`0cafbdb`](https://github.com/hydro-project/hydroflow/commit/0cafbdb74a665412a83aa900b4eb10c00e2498dd))
* **[#1225](https://github.com/hydro-project/hydroflow/issues/1225)**
- Fix missing `syn` `visit-mut` feature ([`658f648`](https://github.com/hydro-project/hydroflow/commit/658f6483587042d9c6df2936bc58749d30b72997))
* **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))
## v0.2.1 (2024-04-05)
### New Features
- simplify lifetime bounds for processes and clusters
feat(hydroflow_plus): simplify lifetime bounds for processes and
clusters
This allows `extract` to move the flow builder, which is a prerequisite
for having developers run the optimizer during deployment as well in
case it changes the network topology.
### Style
- qualified path cleanups for clippy
### Commit Statistics
- 3 commits contributed to the release.
- 34 days passed between releases.
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
- 2 unique issues were worked on: [#1090](https://github.com/hydro-project/hydroflow/issues/1090), [#1100](https://github.com/hydro-project/hydroflow/issues/1100)
### Commit Details
view details
* **[#1090](https://github.com/hydro-project/hydroflow/issues/1090)**
- Qualified path cleanups for clippy ([`7958fb0`](https://github.com/hydro-project/hydroflow/commit/7958fb0d900be8fe7359326abfa11dcb8fb35e8a))
* **[#1100](https://github.com/hydro-project/hydroflow/issues/1100)**
- Simplify lifetime bounds for processes and clusters ([`77f3e5a`](https://github.com/hydro-project/hydroflow/commit/77f3e5afb9e276d1d6c643574ebac75ed0003939))
* **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))
## v0.2.0 (2024-03-02)
### New Features
- use an IR before lowering to Hydroflow
Makes it possible to write custom optimization passes.
### Commit Statistics
- 2 commits contributed to the release.
- 32 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#1070](https://github.com/hydro-project/hydroflow/issues/1070)
### Commit Details
view details
* **[#1070](https://github.com/hydro-project/hydroflow/issues/1070)**
- Use an IR before lowering to Hydroflow ([`eb34ccd`](https://github.com/hydro-project/hydroflow/commit/eb34ccd13f56e1d07cbae35ead79daeb3b9bad20))
* **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))
## v0.1.0 (2024-01-29)
### Documentation
- actually committing empty CHANGELOG.md is required
### New Features
- push down persists and implement Pi example
Also fixes type inference issues with reduce the same way as we did for fold.
- support building graphs for symmetric clusters in Hydroflow+
- support crates that have no entrypoints
Also includes various bugfixes needed for Hydroflow+.
- add a functional surface syntax using staging
### Bug Fixes
- fix `include!` path separators on windows
### Commit Statistics
- 7 commits contributed to the release.
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
- 5 unique issues were worked on: [#1010](https://github.com/hydro-project/hydroflow/issues/1010), [#1021](https://github.com/hydro-project/hydroflow/issues/1021), [#899](https://github.com/hydro-project/hydroflow/issues/899), [#983](https://github.com/hydro-project/hydroflow/issues/983), [#984](https://github.com/hydro-project/hydroflow/issues/984)
### Commit Details
view details
* **[#1010](https://github.com/hydro-project/hydroflow/issues/1010)**
- Fix `include!` path separators on windows ([`8df66f8`](https://github.com/hydro-project/hydroflow/commit/8df66f8c24127d8818d64d1534bb1ab4a616597f))
* **[#1021](https://github.com/hydro-project/hydroflow/issues/1021)**
- Push down persists and implement Pi example ([`af6e3be`](https://github.com/hydro-project/hydroflow/commit/af6e3be60fdb69ceec1613347910f4dd49980d34))
* **[#899](https://github.com/hydro-project/hydroflow/issues/899)**
- Add a functional surface syntax using staging ([`8b63568`](https://github.com/hydro-project/hydroflow/commit/8b635683e5ac3c4ed2d896ae88e2953db1c6312c))
* **[#983](https://github.com/hydro-project/hydroflow/issues/983)**
- Support crates that have no entrypoints ([`7108323`](https://github.com/hydro-project/hydroflow/commit/71083233afc01e0132d7186f4af8c0b4a6323ec7))
* **[#984](https://github.com/hydro-project/hydroflow/issues/984)**
- Support building graphs for symmetric clusters in Hydroflow+ ([`174607d`](https://github.com/hydro-project/hydroflow/commit/174607d12277d7544d0f42890c9a5da2ff184df4))
* **Uncategorized**
- Release stageleft_macro v0.1.0, stageleft v0.1.0, hydroflow_plus v0.5.1 ([`1a48db5`](https://github.com/hydro-project/hydroflow/commit/1a48db5a1ba058a718ac777367bf6eba3a236b7c))
- Actually committing empty CHANGELOG.md is required ([`3b36020`](https://github.com/hydro-project/hydroflow/commit/3b36020d16792f26da4df3c5b09652a4ab47ec4f))