Skip to content

hydro_deploy v0.15.0

Choose a tag to compare

@hydro-project-bot hydro-project-bot released this 25 Nov 23:03
· 219 commits to main since this release

Chore

  • only depend on samply on supported systems, remove leftover DTrace code
    Minimizes dependencies we pull in on Unix.
  • update pinned nightly to 2025-08-20, fix lints

New Features

  • make glibc vs musl configurable for cloud deployments

  • use dynamically linked libraries in test mode

  • share __staged across trybuild targets
    Previously, each trybuild target (in test-mode) would have its own copy
    of the __staged module containing the entire sources of the original
    crate. This creates a huge compilation burden that is repeated on every
    deployment.

    With an accompanying change in Stageleft, we are now able to share the
    __staged module in the common lib.rs. This also moves the simulation
    dylibs to be compiled as an example so that they do not conflict with
    the caching of the shared lib.rs.

    Also reduces thrashing due to the lockfile having to be updated after
    each time it is written (because packages have to be removed which were
    needed in the workspace but not the trybuild).

  • add support for aws via terraform

Bug Fixes

  • fix full path replacement for staged code errors
  • make cargo sim fuzzing command work again [ci-full]
    Accidentally broken when we moved to sharing the trybuild-lib as a
    dylib.
  • simulator on Windows and test macOS in CI [ci-full]
    Now that we have a bunch of platform-specific bits for dynamic
    libraries, we should test all our supported dev platforms.
  • don't emit duplicate leafs for building Rust service
    Because the .build() API creates a leaf itself, there is no need to
    wrap it in another leaf (which results in two rows in the progress
    display).

New Features (BREAKING)

  • introduce support for dynamic external clients
    So far, Hydro has only supported deployments where there is a statically
    known number of single-connection external clients for sending /
    receiving data. This is not practical in production applications where
    external users will dynamically connect to the Hydro service.

    This takes the first step towards addressing this, by setting up the
    networking mechanism for handling dynamically connected clients and
    adding an API for sending/receiving data.

    This also changes the source_external_bytes APIs to return the raw
    BytesMut sent over the network, rather than adding a freezing step.

    Finally, we show an end-to-end example using this interface to write a
    simple HTTP server.

Refactor (BREAKING)

  • remove deprecated add_connection API
    Has not been used for a long while...

Commit Statistics

Commit Details

view details
  • #1966
    • Introduce support for dynamic external clients (5d40134)
  • #1967
    • Remove deprecated add_connection API (9e07af1)
  • #2024
    • Update pinned nightly to 2025-08-20, fix lints (97426b8)
  • #2083
    • Add support for aws via terraform (1dd2606)
  • #2177
    • Only depend on samply on supported systems, remove leftover DTrace code (83b77a1)
  • #2187
    • Share __staged across trybuild targets (a65893a)
  • #2191
    • Don't emit duplicate leafs for building Rust service (dad4abe)
  • #2192
    • Use dynamically linked libraries in test mode (891a25d)
  • #2194
    • Simulator on Windows and test macOS in CI [ci-full] (6d2e7d0)
  • #2205
    • Make cargo sim fuzzing command work again [ci-full] (807eb0a)
  • #2269
    • Make glibc vs musl configurable for cloud deployments (fc3bf5b)
  • #2288
    • Fix full path replacement for staged code errors (f0acd7c)
  • Uncategorized
    • Release sinktools v0.0.1, hydro_deploy_integration v0.15.0, lattices_macro v0.5.11, variadics_macro v0.6.2, lattices v0.6.2, multiplatform_test v0.6.0, dfir_rs v0.15.0, copy_span v0.1.0, hydro_deploy v0.15.0, hydro_lang v0.15.0, hydro_std v0.15.0 (ac88df1)
    • Release hydro_build_utils v0.0.1, dfir_lang v0.15.0, dfir_macro v0.15.0, variadics v0.0.10, sinktools v0.0.1, hydro_deploy_integration v0.15.0, lattices_macro v0.5.11, variadics_macro v0.6.2, lattices v0.6.2, multiplatform_test v0.6.0, dfir_rs v0.15.0, copy_span v0.1.0, hydro_deploy v0.15.0, hydro_lang v0.15.0, hydro_std v0.15.0, safety bump 5 crates (092de25)