Skip to content

Releases: cardano-scaling/hydra

1.2.0

28 Nov 17:31
1.2.0
d967d64

Choose a tag to compare

Features and bugfixes

  • There is a new SafeClose client command which prevents closing the Head in case there are non-ADA assets in the confirmed snapshot UTxO #2330.
  • Add support for Blockfrost to the hydra-tui #2032.
  • hydra-node has a new endpoint GET /head-initialization which serves the timestamp of the last Head initialization.
  • Tested with cardano-node 10.5.3 and cardano-cli 10.11.0.0.

Build artifacts

Hydra Scripts

  • preview: 3c275192a7b5ff199f2f3182f508e10f7e1da74a50c4c673ce0588b8c621ed45,6f8a4b6404d4fdd0254507e95392fee6a983843eb168f9091192cbec2b99f83d,60d61b2f10897bf687de440a0a8b348a57b1fc3786b7b8b1379a65ace1de199a
  • preprod: ba97aaa648271c75604e66e3a4e00da49bdcaca9ba74d9031ab4c08f736e1c12,ff046eba10b9b0f90683bf5becbd6afa496059fc1cf610e798cfe778d85b70ba,4bb8c01290599cc9de195b586ee1eb73422b00198126f51f52b00a8e35da9ce3
  • mainnet: e2512f44bb43f9c44dc3db495ce6a8ba6db6d8afaad2e3494b32d591845fb259,a5e683efe3acd02b7a1d0c13d1517672b2c78a74abd08dd455c34290150ea4d7,d0f70c628778a7d2e71ab366ad6112890b5fa5596ef553bc18accf66875af203

See also networks.json

Compatible / tested with

  • cardano-node: 10.5.3
  • cardano-cli: 10.11.0.0
  • mithril: 2524.0

Changelog

Full Changelog: 1.1.0...1.2.0

1.1.0

28 Oct 13:29
1.1.0
e4d50a9

Choose a tag to compare

Important Changes

  • BREAKING Partial assets depositing works a bit differently now so you should consult our API reference.
    These changes also enable more complex scenarios when depositing and gives more flexibility to our users since hydra-node is capable of balancing the deposit tx outputs now. #2180

What's Changed

Full Changelog: 1.0.0...1.1.0

Hydra Scripts

  • preview: ee449c99464c5419954f39b98e513b17406e24c9883e6342e073006e54878524,d6e03afa86cf1d74011ba234ec32fbd102d4332c3891a49419dae318281bc96a,0b32f7cf144090b3a2d6787cb5b4cabbc0a72c1ae77bf72de8e3d9aa9476bfb7
  • preprod: 407bf714186db790f2624701b2e065850dd7b7cf998c931222d99a56d8ad256b,4cae9ad9c1cc4f82ce2fd51f9e1155a37ac88957f81128ba1c51bc7c6734ce6c,a3a27a3049be1fe931a0d99bf132a88b848b12dc50f50856cb86e12bb135f5d2
  • mainnet: f6ef3adbfdc6a6cbf63ec160cc9a61ca58ce63a0ba52f8f3fe6b5acb19e14ab8,a699520a621bcc73918cf52ad8dfb097481573a43b9fb704f2b91df4ee56502c,6a9562c2fce83951f90e72df8d7ecc9e2db48f3202ba15a55622474975c069b9

Build artifacts

1.0.0

08 Oct 19:08
1.0.0
b5e33b5

Choose a tag to compare

A big release of hydra-node!

It's official. We're at version 1.0.0 🥳 🎉 🎂 !

This release represents our intention to continue to support our Hydra Head protocol implementation into production environments. We believe we've built a strong product for others to build on, and we will continue to work on adding powerful new features, showcasing hydra's capability, and addressing user issues.

We are presently working on addressing the largest outstanding known problem, partial fanout, and of course the day to day work is never done; but we believe this release represents a solid foundation :)

Features and bugfixes

  • Allow partial deposit #2180
  • Fixed bug where the TUI would have outdated information
  • Hydra API server responds with correct content-type
  • Extra information Greetings for websocket clients to use as they see fit
  • Bugfixes for incremental commits/decommits
  • Add endpoint POST /transaction to submit transactions to the head
  • Improve HTTP API status codes
  • Renamed --script-info to --hydra-script-catalogue
  • Allow recovering a deposit in all head states Issue #1812 and PR #2217
  • Hotfix for statefile corruption by just ignoring invalid JSON lines #2253
  • Select next deposit for ReqSn using FIFO, based on deposit created #2263

Build artifacts

Hydra Scripts

  • preview: 08fea9f21fec08d47dd56cd632ece001616b247f6e2e893f98dcf1e69ddb58d0,c6ba286b501c076ee494b4686e681c5aab8f903d930e8366dcbca1c3530264ee,ed6b3ff639fb99b18916dd14b9837d893b1a053af38a27f604a7cdf543b86f6c
  • preprod: e10437a6913ca5f708c3f15cc6f06792b85459f32883c9ed3fac5659f2ba383f,f217f72b3202ab0299e700e69094452ce177ecbc90daa461abceff7b32fb9898,05ba60bb792572428a0128f655c6ec67966000886132697ed02d884b69fce472
  • mainnet: 84cde037c71b6cb80755738459f63fb1c7cdea22beff1cb8e23cd7f9916f5696,2a725d14075e4ce325569bcf6d0b4c98d9f5495b4bfa2d32de70c5ea4611b7cf,d0e542221a0e1949b0d79e8ebdf987395dce097411a89e886bb897408c2cc878

See also networks.json

Compatible / tested with

  • cardano-node: 10.4.1
  • cardano-cli: 10.8.0.0
  • mithril: 2524.0

Changelog

Full Changelog: 0.22.4...1.0.0

Contributors

With thanks to everyone (especially those of you who have opened issues, or participated in our discord, or otherwise been part of our community) who has gotten us to this point!

We appreciate your efforts :) ❤️

0.22.4

06 Aug 02:10
0.22.4
d505ff1

Choose a tag to compare

0.22.4 Pre-release
Pre-release

A decently-sized path release making several stability improvements:

  • Web API updated to work correctly under the presence of event-log rotation #2152
  • Improvements to etcd #2148, #2171
  • Reduced messages in the presence of mirror nodes #2146

Among other small improvements.

Build artifacts

Hydra Scripts

Same as 0.22.3.

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.2
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

Full Changelog: 0.22.3...0.22.4

Contributors

With thanks to @jmagan, @solidsnakedev, @ch1bo, @ffakenz @v0d1ch and @vrom911 !

0.22.3

21 Jul 21:22
0.22.3
49d1f22

Choose a tag to compare

0.22.3 Pre-release
Pre-release

Small patch release to fix:

  • TxInvalid causing a stuck head #2133
  • Implementation of a workaround for etcd compaction causing failure when offline #2136; most useful for nodes you wish to recover with the side-load snapshot feature

Build artifacts

Hydra Scripts

Same as 0.22.2.

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.2
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

Full Changelog: 0.22.2...0.22.3

0.22.2

30 Jun 18:07
0.22.2
b984abc

Choose a tag to compare

0.22.2 Pre-release
Pre-release

A very small release to capture the fix for networks.json having the wrong scripts for 0.22.0 and 0.22.1.

Build artifacts

Hydra Scripts

Same as 0.22.1.

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.2
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

Full Changelog: 0.22.1...0.22.2

0.22.1

27 Jun 14:20
0.22.1
ebf719e

Choose a tag to compare

0.22.1 Pre-release
Pre-release

Deprecated due to minor bug; use 0.22.2.

A hotfix release for #2089.

Build artifacts

Hydra Scripts

Same as 0.22.0

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.2
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

Full Changelog: 0.22.0...0.22.1

Contributors

With big thanks to @jmagan @solidsnakedev @ffakenz @noonio and @ch1bo for helping to debug this issue!

0.22.0

17 Jun 11:29
0.22.0
65b4c12

Choose a tag to compare

0.22.0 Pre-release
Pre-release

New release of hydra-node!

Notable changes:

Build artifacts

Hydra Scripts

  • preview: f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03
  • preprod: c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e
  • mainnet: 0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.4
  • cardano-cli: 10.1.1.0
  • mithril: 2517.1

Changelog

  • Tested with cardano-node 10.1.4 and cardano-cli 10.1.1.0.

  • Fix tutorial usage of cardano-cli and include download of etcd.

  • Remove runtime dependency to etcd by embedding and shipping it with hydra-node.

    • New option --use-system-etcd to prefer the system etcd instead of the embedded one.
  • Add file-based event log rotation support via optional --persistence-rotate-after command line option.

  • BREAKING Update scripts to plutus 1.45.0.0.

  • Hydra will now store etcd cluster information on the filesystem in directories content-addressed
    by the cluster configuration.

  • BREAKING Fixed observation of deposit transactions:

    • Correctly ignore deposits with deadlines in the past or too soon in the future.
    • Replaced --deposit-deadline with --deposit-period.
    • To make sure a deposit is picked up ensure that --deposit-period is longer than --contestation-period.
    • Change persisted events of hydra-node.
    • Change to the ReqSn message in the Hydra network protocol
    • Added DepositExpired for when a deposit was deemed expired.
  • Enable blockfrost integration for hydra-node.

  • Fix head status in post abort greetings output.

  • Add UDP and S3 examples for EventSource and EventSink implementations to hydra-node:examples.

  • Switch hydra-chain-observer to use HeadObservation when reporting observations to hydra-explorer.

    • Most observation types got changed quite a lot to match the previously used OnChainTx.
    • This introduces ToJSON and FromJSON instances on all observation types.
    • CollectComObservation and ContestObservation are made compatible with their OnChainTx counterparts.
  • Enhanced the error message for etcd cluster ID mismatches by including detailed information about
    the expected peers versus peers loaded from the hydra-node arguments.

  • Add API query (GET /head) to fetch the latest head state by a node and help introspecting the whole internal state.

  • Provide --network option to hydra-node in order to use pre-published hydra scripts.

Full Changelog: 0.21.0...0.22.0

With thanks to @v0d1ch @ch1bo @ffakenz @locallycompact @noonio

0.21.0

28 Apr 11:17
0.21.0
de71074

Choose a tag to compare

0.21.0 Pre-release
Pre-release

This release introduces etcd as the new networking layer for Hydra 🎉​
Additionally, it includes various bug fixes, API enhancements, and enables multi-party support in offline-mode.

Build artifacts

Hydra Scripts

  • preview: bdf8a262cd5e7c8f4961aed865c026d5b6314b22a4bc31e981363b5bb50d1da6,0dbb43e152647c729c365aa18fce20133a212c6b43252fa25dbb7c0cf65ae011,54aec058e43e5cfe5161e8f97cc43f4601da180dc8ac13f3f39eb2fa08148a01
  • preprod: 557b6a6eaf6177407757cb82980ebc5b759b150ccfd329e1d8f81bbd16fecb01,98e1a40224c5ed8eaff5fc1f865d89af47ae89fd4adc1c37fc80dfd901b0caf2,8fbdf7de4934ca4d22ed9cfac0f6e2566990751b6f4b944470dafabbd079b965
  • mainnet: b5d5fa4d367005bdd6449dcca049aa61aa8b59a907231b03bb006eda01e8e73a,696ec03023309d8e75f983d4285880dcfcfac58c06808e0191ef075f10034212,48e09f38b208f4f30b1fe29232f450cfea88ffc9393ac34b1069dddce2758e8d

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.4
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

  • BREAKING Switch to using etcd internally to establish a reliable L2 network

    • New run-time dependency onto etcd binary
    • The peer network options to hydra-node (--peer) need to match across the Hydra network.
    • --host and --port have been removed and we now have --listen and --advertise.
    • --listen can be the same as the old --host/--port combined, but you may require --advertise to set your public IP address and port combination, if you cannot bind to that on the local machine.
    • Adds NetworkConnected and NetworkDisconnected outputs which are most indicative of whether the L2 network is up or not.
    • Change PeerConnected and PeerDisconnected to indicate connectivity to --peer items and not the remote node-id.
    • Change PeerHandshakeFailure to a network-level NetworkVersionMismatch
    • Log outputs related to the network components changed significantly.
    • Persisted state (write ahead logs) of the network components changed significantly. The <persistence-dir>/etcd directory must not be lost or manual action to recover the L2 network (etcd cluster) with counter-parties needs to be taken.
    • To configure the etcd instance used internally, you may use ETCD_ environment variables. For example, to switch auto-compaction to periodic retention of 7 days:
      ETCD_AUTO_COMPACTION_MODE=periodic
      ETCD_AUTO_COMPACTION_RETENTION=168h
      
  • BREAKING Enable multi-party, networked "offline" heads by providing an --offline-head-seed option to hydra-node.

    • Drop hydra-node offline as a sub-command. Use --offline-head-seed and --initial-utxo options to switch to offline mode.
  • BREAKING API changes

    • API Server does NOT serve the event history by default any more. Clients need to add a query parameter ?history=yes in order to obtain the history.
    • Remove GetUTxO client input and corresponding GetUTxOResponse. There is already a way to query the UTxO in the Head with GET /snapshot/utxo query.
    • Renamed 'CommitFinalized' field 'theDeposit' to 'depositTxId'.
    • We now store the time in StateEvent which is a breaking change to our persistence loading
    • Query parameter ?address=.. does NOT filter TxValid and TxInvalid server outputs anymore.
    • Removed the transaction from TxValid server outputs. Use SnapshotConfirmed to determine what transactions got confirmed intead!
  • Fix a bug in increment observation where wrong deposited UTxO was picked up.

  • Fix a bug where incremental commits / decommits were not correctly observed after restart of hydra-node. This was due to incorrect handling of internal chain state #1894

  • Fix a bug where decoding Party information from chain would crash the node or chain observer.

    • A problematic transaction will now be ignored and not deemed a valid head protocol transaction.
    • An example was if the datum would contain CBOR instead of just hex encoded bytes.
  • Fix a bug on HeadFannedOut as it should always display the observed fanned-out UTxO instead of local confirmed snapshot.

  • API Additions

    • Add query (GET /snapshot/last-seen) to fetch the latest seen snapshot by a node and help identify non-cooperating peers.
    • Add command (POST /snapshot) to adopt the given snapshot as the latest confirmed.
      • add new SideLoadSnapshot client input.
      • add new LocalStateCleared state changed event.
      • add new SnapshotSideLoaded server output.
      • add new SideLoadSnapshotFailed logic error.
  • Changed default contestation period to 600 seconds and deposit deadline to 3600 seconds.

  • Add support for "withdraw zero trick" transactions:

    • Any transaction with a Rewarding redeemer for a Withdrawal of 0 lovelace, will be validated as if there would be a corresponding stake RewardAccount already registered.
    • No need to register the script's stake address before.
  • Remove checks that rely on hydra-node's local state and trust on-chain data when we observe decrement/recover transactions.

  • Publish scripts using blockfrost via new hydra-node publish-scripts --blockfrost option.

  • New metric for counting the number of active peers: hydra_head_peers_connected

  • Record used and free memory when running bench-e2e benchmark.

  • Submit observations to a hydra-explorer via optional --explorer option.

  • Add a list of clients to the docs

  • Stream historical data from disk in the hydra-node API server.

Full Changelog: 0.20.0...0.21.0

0.20.1

16 Apr 20:30
0.20.1
134bb75

Choose a tag to compare

0.20.1 Pre-release
Pre-release

A small maintenance release off the 0.20 feature set to make Hydra heads of that version visible in http://explorer.hydra.family/

Build artifacts

Hydra Scripts

  • preview: b7b88533de303beefae2d8bb93fe1a1cd5e4fa3c4439c8198c83addfe79ecbdc,da1cc0eef366031e96323b6620f57bc166cf743c74ce76b6c3a02c8f634a7d20,6665f1dfdf9b9eb72a0dd6bb73e9e15567e188132b011e7cf6914c39907ac484
  • preprod: 5237b67923bf67e6691a09117c45fdc26c27911a8e2469d6a063a78da1c7c60a,5ed4032823e295b542d0cde0c5e531ca17c9834947400c05a50549607dbc3fa5,128af7ef4fd3fa8d1eda5cb1628aa2a1e8846d7685d91e0c6dae50b7d5f263b2
  • mainnet: 4f6db33d2e6940672e4a8061efd4dc999ac3e76c9d203961fabe1e15ed1aaf73,543d03edfbc54208338abc06c6f5b1bbd840b0169dffd010df8f2f54600ba1f9,8d833996cfe92b3bee45eb5fbef4eb7f8ed2e71772c396a3d0db5c21b3429476

See also networks.json

Compatible / tested with

  • cardano-node: 10.1.2
  • cardano-cli: 10.1.1.0
  • mithril: 2450.0

Changelog

  • Submit observations of hydra-chain-observer to a hydra-explorer via optional --explorer option.

  • Stream historical data from disk in the hydra-node API server.

  • Record used and free memory when running bench-e2e benchmark.

Full Changelog: 0.20.0...0.20.1