Releases: hydro-project/hydro
dfir_macro v0.14.0
Chore
- update
proc-macro-crate - update pinned nightly to 2025-04-27, update span API usage
Commit Statistics
- 2 commits contributed to the release over the course of 92 calendar days.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #1843, #1944
Commit Details
dfir_lang v0.14.0
Chore
- update pinned nightly to 2025-04-27, update span API usage
New Features
- add
scanoperator
Bug Fixes
- Revert anti join allocation
Added unit test for Paxos compilation and non-negative throughtput - add type arguments to
anti_join_multiset,difference_multisetto mitigate #1857
New Features (BREAKING)
-
re-add loop lifetimes for anti_join_multiset, tests, remove MonotonicMap, fix #1830, fix #1823
Redo of #1835Also updates path of trybuild errors to allow them to be clicked in the
IDE
Previous commit:
Also implements loop lifetimes for
difference_multisetwhich uses the
anti_join_multisetcodegen.Updates tests for
difference,difference_multiset,anti_join, and
anti_join_multiset -
display loops in graph visualizations, refactor, fix #1699
Adds loops to display, newGraphWrite.no_loopsoption.Refactors how the heirarchy of
GraphWriteitems is handled to be
simpler.
Commit Statistics
- 6 commits contributed to the release over the course of 92 calendar days.
- 6 commits were understood as conventional.
- 6 unique issues were worked on: #1843, #1851, #1858, #1860, #1911, #1929
Commit Details
hydro_lang v0.13.2
Chore
- update pinned nightly to 2025-04-05, clippy fixes
Not going past 2024-04-05 due to rustc linker regression on windows:
rust-lang/rust#139821
Style
-
use where clauses to increase readability
A minor issue in the grand scheme of things, but I caught myself
squinting when trying to tease apart different trait implementations
specially when following the "implementations" popup navigation. In
addition, some of the generic variable naming was not consistent and a
bit confusing to the uninitiated. For example,Orderwas a generic
variable, butTotalOrderandNoOrderwere a type. Not a big deal
when you already know the API, but just adds friction someone new to the
project.Here are some of the items that guided the PR:
- Single capital letter for generic variables following a loose
standard: T for types, O for ordering, B for boundedness, L for
location, P for process or external process, C for cluster, etc. - Use
whereclauses to keep the head of traits and functions lean and
more easily comparable.
- Single capital letter for generic variables following a loose
Commit Statistics
- 2 commits contributed to the release over the course of 1 calendar day.
- 2 commits were understood as conventional.
- 2 unique issues were worked on: #1827, #1840
Commit Details
hydro_lang v0.13.1
Bug Fixes
-
Enable file_lock feature in nightly builds
This appears to be a regression from the commit that uses fs2 on stable
builds.@MingweiSamuel based on the CI error here it's because the feature was previously stabilized and has since been un-stabilized
Commit Statistics
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #1839
Commit Details
hydro_std v0.13.0
New Features
- update Stageleft and reduce reliance on DFIR re-exports
- update Stageleft to reduce viral dependencies
Now that Stageleft handles quoted snippets that refer to local
dependencies, we do not need to duplicate deps into downstream crates.
New Features (BREAKING)
- don't pull in dfir_rs during the compilation stage
Becausehydro_langis responsible for generating DFIR code, it
doesn't actually need to depend on the runtime (dfir_rs), other than
when it is used in the (legacy) macro mode or when we want to include
utilities for runtime logic (resource_measurement). This sticks those
pieces under feature flags and makesdfir_rsan optional dependency,
which reduces the compile tree for crates likehydro_test.
Commit Statistics
- 3 commits contributed to the release over the course of 23 calendar days.
- 3 commits were understood as conventional.
- 3 unique issues were worked on: #1791, #1796, #1797
Commit Details
hydro_lang v0.13.0
New Features
- implement profiling for macOS and Windows using samply
- only serialize once in broadcast
- update Stageleft and reduce reliance on DFIR re-exports
- update Stageleft to reduce viral dependencies
Now that Stageleft handles quoted snippets that refer to local
dependencies, we do not need to duplicate deps into downstream crates. - add resolve_futures and resolve_futures_ordered APIs
Bug Fixes
-
correctly resolve
__stagedpaths for the crate being launched -
handle
-1addresses from samply, fix_counter()rollover
This fixes samply profiling on my "ancient" 2019 x86-64 macbook pro
15.3.2 (24D81)This pull request aims to fix the handling of –1 address values from
samply by updating tracing filenames and refactoring related error and
type handling. Key changes include:- Better error messages when
dtraceorsamplyare not instaled. - Fix integer rollover in
_counter()by usingu64instead of
inferredi32. - Refactor samply profile conversion for asynchronous frame lookup.
Show a summary per file
File Description hydro_lang/src/rewrites/analyze_counter.rs Adds custom panic with measurement details if regex matching fails. (Used to diagnose _counter()i32rollover)hydro_deploy/core/src/localhost/samply.rs Updates type for addresses/resources, refactors frame lookup to use asynchronous join_all, and adjusts string output for missing symbols. hydro_deploy/core/src/localhost/mod.rs Improves error handling during command spawning with conditional context messages for when samplyordtraceexecutables are not found.hydro_deploy/core/src/localhost/launched_binary.rs Uses serde_path_to_error for improved deserialization error context. dfir_lang/src/graph/ops/dest_sink.rs Standardizes error messages by removing extraneous punctuation. dfir_lang/src/graph/ops/_counter.rs Adds explicit type annotation for a cell initialization to prevent i32rollover. - Better error messages when
-
decrease size of IR enums to prevent stack overflow on windows, fix #1801
-
fix doctests without feature unification and improve atomic trybuild logic
-
avoid Cargo.toml corruption when concurrently opened in a single process
Refactor
- use
fs2file locking to fix stable build testing #1780
New Features (BREAKING)
- don't pull in dfir_rs during the compilation stage
Becausehydro_langis responsible for generating DFIR code, it
doesn't actually need to depend on the runtime (dfir_rs), other than
when it is used in the (legacy) macro mode or when we want to include
utilities for runtime logic (resource_measurement). This sticks those
pieces under feature flags and makesdfir_rsan optional dependency,
which reduces the compile tree for crates likehydro_test.
Commit Statistics
- 12 commits contributed to the release over the course of 24 calendar days.
- 12 commits were understood as conventional.
- 12 unique issues were worked on: #1741, #1791, #1796, #1797, #1798, #1799, #1802, #1806, #1812, #1814, #1816, #1817
Commit Details
view details
- #1741
- Add resolve_futures and resolve_futures_ordered APIs (127df13)
- #1791
- Update Stageleft to reduce viral dependencies (e0c4abb)
- #1796
- Update Stageleft and reduce reliance on DFIR re-exports (5ac247c)
- #1797
- Don't pull in dfir_rs during the compilation stage (dfb7a1b)
- #1798
- Avoid Cargo.toml corruption when concurrently opened in a single process (53d2913)
- #1799
- Fix doctests without feature unification and improve atomic trybuild logic (f783e67)
- #1802
- #1806
- Only serialize once in broadcast (bfac9f1)
- #1812
- Implement profiling for macOS and Windows using samply (6d24901)
- #1814
- Handle
-1addresses from samply, fix_counter()rollover (fbb5fab)
- Handle
- #1816
- #1817
- Correctly resolve
__stagedpaths for the crate being launched (2219e6b)
- Correctly resolve
hydro_deploy_integration v0.13.0
New Features (BREAKING)
- don't pull in dfir_rs during the compilation stage
Becausehydro_langis responsible for generating DFIR code, it
doesn't actually need to depend on the runtime (dfir_rs), other than
when it is used in the (legacy) macro mode or when we want to include
utilities for runtime logic (resource_measurement). This sticks those
pieces under feature flags and makesdfir_rsan optional dependency,
which reduces the compile tree for crates likehydro_test.
Commit Statistics
- 1 commit contributed to the release over the course of 23 calendar days.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #1797
Commit Details
hydro_deploy v0.13.0
New Features
- implement profiling for macOS and Windows using samply
Bug Fixes
-
handle
-1addresses from samply, fix_counter()rollover
This fixes samply profiling on my "ancient" 2019 x86-64 macbook pro
15.3.2 (24D81)This pull request aims to fix the handling of –1 address values from
samply by updating tracing filenames and refactoring related error and
type handling. Key changes include:- Better error messages when
dtraceorsamplyare not instaled. - Fix integer rollover in
_counter()by usingu64instead of
inferredi32. - Refactor samply profile conversion for asynchronous frame lookup.
Show a summary per file
File Description hydro_lang/src/rewrites/analyze_counter.rs Adds custom panic with measurement details if regex matching fails. (Used to diagnose _counter()i32rollover)hydro_deploy/core/src/localhost/samply.rs Updates type for addresses/resources, refactors frame lookup to use asynchronous join_all, and adjusts string output for missing symbols. hydro_deploy/core/src/localhost/mod.rs Improves error handling during command spawning with conditional context messages for when samplyordtraceexecutables are not found.hydro_deploy/core/src/localhost/launched_binary.rs Uses serde_path_to_error for improved deserialization error context. dfir_lang/src/graph/ops/dest_sink.rs Standardizes error messages by removing extraneous punctuation. dfir_lang/src/graph/ops/_counter.rs Adds explicit type annotation for a cell initialization to prevent i32rollover. - Better error messages when
Bug Fixes (BREAKING)
- fix perf setup, remove GCP
startup_script, useTracingOptions::setup_commandinstead
Commit Statistics
- 3 commits contributed to the release over the course of 19 calendar days.
- 3 commits were understood as conventional.
- 3 unique issues were worked on: #1800, #1812, #1814
Commit Details
hydro_cli v0.13.0
Bug Fixes (BREAKING)
- fix perf setup, remove GCP
startup_script, useTracingOptions::setup_commandinstead
Commit Statistics
- 1 commit contributed to the release over the course of 19 calendar days.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #1800
Commit Details
dfir_rs v0.13.0
New Features
- add resolve_futures and resolve_futures_ordered APIs
Bug Fixes
- fix loop hooks triggered too often, implement lifetimes for
zip
Other
- adjust env vars, make DFIR printed span paths relative & re-enable most trybuild tests
- Add
PYO3_USE_ABI3_FORWARD_COMPATIBILITY, move
RUST_LOG/RUST_BACKTRACEenv vars to.cargo/config.toml(removed
from.vscode/settings.json). Will now apply in general, so no need to
specify everywhere. - Makes display of compiler spans'
source_file()indfir_lang
relative toDFIR_BASE_DIR(new) orCARGO_MANIFEST_DIR, if possible. - Include
rust-srcrustupcomponent to make trybuild error output
more consistent:
https://github.com/dtolnay/trybuild?tab=readme-ov-file#troubleshooting - Almost all
dfir_rstrybuild test are re-enabled (except a couple
obsolete ones are deleted, and two have inconsistent printing) - Updates docs build to remove old operators
- Add
Refactor
- update examples to use template, fix #1123
New Features (BREAKING)
-
loop lifetimes for
anti_join_multiset, tests, removeMonotonicMap, fix #1830, fix #1823
Also implements loop lifetimes fordifference_multisetwhich uses the
anti_join_multisetcodegen.Updates tests for
difference,difference_multiset,anti_join, and
anti_join_multiset -
don't pull in dfir_rs during the compilation stage
Becausehydro_langis responsible for generating DFIR code, it
doesn't actually need to depend on the runtime (dfir_rs), other than
when it is used in the (legacy) macro mode or when we want to include
utilities for runtime logic (resource_measurement). This sticks those
pieces under feature flags and makesdfir_rsan optional dependency,
which reduces the compile tree for crates likehydro_test.
Refactor (BREAKING)
-
loop machinery, add
'looplifetimes, fix #1745 -
use slotvec for state, disallow state removal #1745
Refactor in prep for #1745Instead of each state having an optional end-of-tick reset hook, instead
each state will be tied to a particular lifespan (loop iteration, loop
execution, tick, static) for its reset hook. The scheduler will maintain
various lists of state for each lifespan, and removing state makes
maintaining those lists just a tiny bit harder. Since we have never
removed state (and its against the spirit of monotonicity), its easier
to just remove that unused functionality
Commit Statistics
- 8 commits contributed to the release over the course of 24 calendar days.
- 8 commits were understood as conventional.
- 8 unique issues were worked on: #1741, #1795, #1797, #1808, #1815, #1822, #1833, #1835
Commit Details
view details
- #1741
- Add resolve_futures and resolve_futures_ordered APIs (127df13)
- #1795
- Adjust env vars, make DFIR printed span paths relative & re-enable most trybuild tests (3aec2f7)
- #1797
- Don't pull in dfir_rs during the compilation stage (dfb7a1b)
- #1808
- #1815
- #1822
- #1833
- Fix loop hooks triggered too often, implement lifetimes for
zip(40075b1)
- Fix loop hooks triggered too often, implement lifetimes for
- #1835