# 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.10.0 (2024-11-08)
### Chore
- update pinned rust version, clippy lints, remove some dead code
### Commit Statistics
- 1 commit contributed to the release.
- 69 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on: [#1444](https://github.com/hydro-project/hydroflow/issues/1444)
### 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))
## 0.9.0 (2024-08-30)
### Chore
- manually set versions for crates renamed in #1413
- lower min dependency versions where possible, update `Cargo.lock`
Moved from #1418
---------
### New Features
- use trybuild to compile subgraph binaries
### Bug Fixes
- only instantiate `Localhost` once
### New Features (BREAKING)
- Perf works over SSH
See documentation on how to use in
[Notion](https://www.notion.so/hydro-project/perf-Measuring-CPU-usage-6135b6ce56a94af38eeeba0a55deef9c).
### Refactor (BREAKING)
- rename integration crates to drop CLI references
- `Deployment.stop()` for graceful shutdown including updated `perf` profile downloading
* `perf` profile downloading moved from the `drop()` impl to `async fn
stop()`
* download perf data via stdout
* update async-ssh2-lite to 0.5 to cleanup tokio compat issues
WIP for #1365
- use `buildstructor` to handle excessive `Deployment` method arguments, fix #1364
Adds new method `Deployment::AzureHost`
### Commit Statistics
- 9 commits contributed to the release.
- 38 days passed between releases.
- 8 commits were understood as [conventional](https://www.conventionalcommits.org).
- 7 unique issues were worked on: [#1313](https://github.com/hydro-project/hydroflow/issues/1313), [#1366](https://github.com/hydro-project/hydroflow/issues/1366), [#1370](https://github.com/hydro-project/hydroflow/issues/1370), [#1398](https://github.com/hydro-project/hydroflow/issues/1398), [#1403](https://github.com/hydro-project/hydroflow/issues/1403), [#1413](https://github.com/hydro-project/hydroflow/issues/1413), [#1423](https://github.com/hydro-project/hydroflow/issues/1423)
### Commit Details
view details
* **[#1313](https://github.com/hydro-project/hydroflow/issues/1313)**
- Perf works over SSH ([`749a103`](https://github.com/hydro-project/hydroflow/commit/749a10307f4eff2a46a1056735e84ed94d44b39e))
* **[#1366](https://github.com/hydro-project/hydroflow/issues/1366)**
- Use `buildstructor` to handle excessive `Deployment` method arguments, fix #1364 ([`8856c85`](https://github.com/hydro-project/hydroflow/commit/8856c8596d5ad9d5f24a46467690bfac1549fae2))
* **[#1370](https://github.com/hydro-project/hydroflow/issues/1370)**
- `Deployment.stop()` for graceful shutdown including updated `perf` profile downloading ([`a214786`](https://github.com/hydro-project/hydroflow/commit/a2147864b24110c9ae2c1553e9e8b55bd5065f15))
* **[#1398](https://github.com/hydro-project/hydroflow/issues/1398)**
- Use trybuild to compile subgraph binaries ([`46a8a2c`](https://github.com/hydro-project/hydroflow/commit/46a8a2cb08732bb21096e824bc4542d208c68fb2))
* **[#1403](https://github.com/hydro-project/hydroflow/issues/1403)**
- Only instantiate `Localhost` once ([`63b528f`](https://github.com/hydro-project/hydroflow/commit/63b528feeb2e6dac2ed12c02b2e39e0d42133a74))
* **[#1413](https://github.com/hydro-project/hydroflow/issues/1413)**
- Rename integration crates to drop CLI references ([`0a465e5`](https://github.com/hydro-project/hydroflow/commit/0a465e55dd39c76bc1aefb020460a639d792fe87))
* **[#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))
- Manually set versions for crates renamed in #1413 ([`a2ec110`](https://github.com/hydro-project/hydroflow/commit/a2ec110ccadb97e293b19d83a155d98d94224bba))
## 0.8.0 (2024-07-23)
### Chore
- update pinned rust version to 2024-06-17
### Refactor
- build cache cleanup
* Replace mystery tuple with new `struct BuildOutput`
* Replace `Mutex` and `Arc`-infested `HashMap` with `memo-map` crate,
greatly simplifying build cache typing
* Remove redundant build caching in `HydroflowCrateService`, expose and
use cache parameters as `BuildParams`
* Remove `once_cell` and `async-once-cell` dependencies, use `std`'s
`OnceLock`
* Add `Failed to execute command: {}` context to `perf` error message
* Cleanup some repeated `format!` expressions
### Style
- rename `SSH` -> `Ssh`
### Refactor (BREAKING)
- make `Host` trait use `&self` interior mutability to remove `RwLock` wrappings #430
Depends on #1346
- make `HydroflowSource`, `HydroflowSink` traits use `&self` interior mutability to remove `RwLock` wrappings #430
Depends on #1339
- replace `async-channel` with `tokio::sync::mpsc::unbounded_channel`
Depends on #1339
We could make the publicly facing `stdout`, `stderr` APIs return `impl Stream