Skip to content

Commit 0bb00f3

Browse files
authored
Port 0.22.4 changes (#2181)
Resolves #2170 <!-- Describe your change here --> --- <!-- Consider each and tick it off one way or the other --> * [ ] CHANGELOG updated or not needed * [ ] Documentation updated or not needed * [ ] Haddocks updated or not needed * [ ] No new TODOs introduced or explained herafter
2 parents b4b6f97 + 582e3b4 commit 0bb00f3

File tree

26 files changed

+437
-200
lines changed

26 files changed

+437
-200
lines changed

CHANGELOG.md

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
As a minor extension, we also keep a semantic version for the `UNRELEASED`
99
changes.
1010

11-
## [0.23.0] - UNRELEASED
11+
## [0.22.4] - 2025-08-05
1212

1313
- Accept additional field `amount` when depositing to specify the amount of Lovelace that should be depositted to a Head returning any leftover to the user.
1414

15+
- Fix API not correctly handling event log rotation. This was evident in not
16+
being able to use `/commit` although the head is initializing or outdated
17+
information in the `Greetings` message.
18+
19+
- Ignore snapshot signatures of already confirmed snapshots. This was previously
20+
resulting in the node waiting for the accompanying snapshot request and
21+
occurred when running heads with mirror nodes.
22+
23+
- Fix an internal persistent queue blocking after restart when it reached
24+
capacity.
25+
26+
- Timeout and retry broadcast of network messages after 3 seconds in case the
27+
`etcd` grpc server is not responsive. This should avoid build-up on the
28+
outbound persistent queue.
29+
30+
- Handle failing lease keep alive in network component and avoid bursts in
31+
heartbeating.
32+
33+
- Fix for blocking bug when broadcasting messages via etcd. See:
34+
https://github.com/cardano-scaling/hydra/issues/2167. This is not a full fix
35+
but is enough to resolve the problem until we can identify the central cause
36+
of the issue.
37+
38+
## [0.22.3] - 2025-07-21
39+
40+
* Change behavior of `Hydra.Network.Etcd` to fallback to earliest possible
41+
revision if `last-known-revision` is missing or too old. This can happen if a
42+
node is down for a long time and the `etcd` cluster compacted the last known
43+
revision in the meantime
44+
[#2136](https://github.com/cardano-scaling/hydra/issues/2136).
45+
1546
- Don't keep around invalid transactions as they could lead to stuck Head.
1647

1748
- Hydra API server responds with the correct `Content-Type` header `application-json`.
@@ -33,15 +64,15 @@ when the number of persisted `StateChanged` events exceeds the configured `--per
3364
preserving sequential order and making it easier to identify which rotated log file was used to compute it.
3465

3566

36-
## [0.22.2] - 2025.06.30
67+
## [0.22.2] - 2025-06-30
3768

3869
* Fix wrong hydra-script-tx-ids in networks.json
3970

40-
## [0.22.1] - 2025.06.27
71+
## [0.22.1] - 2025-06-27
4172

4273
* Fix for bug where node got stalled at `ReplayingState` [#2089](https://github.com/cardano-scaling/hydra/issues/2089)
4374

44-
## [0.22.0] - 2025.06.17
75+
## [0.22.0] - 2025-06-17
4576

4677
- Tested with `cardano-node 10.1.4` and `cardano-cli 10.1.1.0`.
4778

demo/docker-compose.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ services:
2121

2222
hydra-node-1:
2323
# NOTE: Make sure to use the same image in ./seed-devnet.sh
24-
image: ghcr.io/cardano-scaling/hydra-node:0.22.2
24+
image: ghcr.io/cardano-scaling/hydra-node:0.22.4
2525
build:
2626
context: ../
2727
target: hydra-node
@@ -58,7 +58,7 @@ services:
5858

5959
hydra-node-2:
6060
# NOTE: Make sure to use the same image in ./seed-devnet.sh
61-
image: ghcr.io/cardano-scaling/hydra-node:0.22.2
61+
image: ghcr.io/cardano-scaling/hydra-node:0.22.4
6262
build:
6363
context: ../
6464
target: hydra-node
@@ -95,7 +95,7 @@ services:
9595

9696
hydra-node-3:
9797
# NOTE: Make sure to use the same image in ./seed-devnet.sh
98-
image: ghcr.io/cardano-scaling/hydra-node:0.22.2
98+
image: ghcr.io/cardano-scaling/hydra-node:0.22.4
9999
build:
100100
context: ../
101101
target: hydra-node
@@ -131,7 +131,7 @@ services:
131131
restart: always
132132

133133
hydra-tui-1:
134-
image: ghcr.io/cardano-scaling/hydra-tui:0.22.2
134+
image: ghcr.io/cardano-scaling/hydra-tui:0.22.4
135135
build:
136136
context: ../
137137
target: hydra-tui
@@ -148,7 +148,7 @@ services:
148148
ipv4_address: 172.16.238.11
149149

150150
hydra-tui-2:
151-
image: ghcr.io/cardano-scaling/hydra-tui:0.22.2
151+
image: ghcr.io/cardano-scaling/hydra-tui:0.22.4
152152
build:
153153
context: ../
154154
target: hydra-tui
@@ -165,7 +165,7 @@ services:
165165
ipv4_address: 172.16.238.21
166166

167167
hydra-tui-3:
168-
image: ghcr.io/cardano-scaling/hydra-tui:0.22.2
168+
image: ghcr.io/cardano-scaling/hydra-tui:0.22.4
169169
build:
170170
context: ../
171171
target: hydra-tui

demo/seed-devnet.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ function hnode() {
5555
docker run --rm -it \
5656
--pull always \
5757
-v ${SCRIPT_DIR}/devnet:/devnet \
58-
ghcr.io/cardano-scaling/hydra-node:0.22.2 -- ${@}
58+
ghcr.io/cardano-scaling/hydra-node:0.22.4 -- ${@}
5959
fi
6060
}
6161

docs/docs/tutorial/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ that you have a good version of jq with this command:
4545
```shell
4646
mkdir -p bin
4747

48-
hydra_version=0.22.2
48+
hydra_version=0.22.4
4949
curl -L -O https://github.com/cardano-scaling/hydra/releases/download/${hydra_version}/hydra-x86_64-linux-${hydra_version}.zip
5050
unzip -d bin hydra-x86_64-linux-${hydra_version}.zip
5151

@@ -71,7 +71,7 @@ Finally, verify your node installation by running `./bin/hydra-node --help`
7171
```shell
7272
mkdir -p bin
7373

74-
hydra_version=0.22.2
74+
hydra_version=0.22.4
7575
curl -L -O https://github.com/cardano-scaling/hydra/releases/download/${hydra_version}/hydra-aarch64-darwin-${hydra_version}.zip
7676
unzip -d bin hydra-aarch64-darwin-${hydra_version}.zip
7777

@@ -415,7 +415,7 @@ Start the `hydra-node` using these parameters:
415415
<TabItem value="alice" label="Alice">
416416

417417
```shell
418-
hydra_version=0.22.2
418+
hydra_version=0.22.4
419419
hydra-node \
420420
--node-id "alice-node" \
421421
--persistence-dir persistence-alice \
@@ -437,7 +437,7 @@ hydra-node \
437437
<TabItem value="bob" label="Bob">
438438

439439
```shell
440-
hydra_version=0.22.2
440+
hydra_version=0.22.4
441441
hydra-node \
442442
--node-id "bob-node" \
443443
--persistence-dir persistence-bob \

hydra-cardano-api/hydra-cardano-api.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: hydra-cardano-api
3-
version: 0.22.2
3+
version: 0.22.4
44
synopsis: A Haskell API for Cardano, tailored to the Hydra project.
55
author: IOG
66
copyright: 2022 IOG

hydra-chain-observer/hydra-chain-observer.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: hydra-chain-observer
3-
version: 0.22.2
3+
version: 0.22.4
44
synopsis: Hydra Chain Observer
55
author: IOG
66
copyright: 2023 IOG

hydra-cluster/hydra-cluster.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: hydra-cluster
3-
version: 0.22.2
3+
version: 0.22.4
44
synopsis:
55
Integration test suite using a local cluster of cardano and hydra nodes
66

hydra-node/hydra-node.cabal

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: hydra-node
3-
version: 0.22.2
3+
version: 0.22.4
44
synopsis: The Hydra node
55
author: IOG
66
copyright: 2022 IOG
@@ -87,6 +87,7 @@ library
8787
Hydra.Network
8888
Hydra.Network.Authenticate
8989
Hydra.Network.Etcd
90+
Hydra.Network.EtcdBinary
9091
Hydra.Network.Message
9192
Hydra.NetworkVersions
9293
Hydra.Node
@@ -354,6 +355,7 @@ test-suite tests
354355
Hydra.OptionsSpec
355356
Hydra.PartySpec
356357
Hydra.PersistenceSpec
358+
Hydra.PersistentQueueSpec
357359
Hydra.UtilsSpec
358360
Paths_hydra_node
359361
Spec
@@ -421,6 +423,7 @@ test-suite tests
421423
, text
422424
, time
423425
, tls
426+
, typed-process
424427
, websockets
425428

426429
build-tool-depends: hspec-discover:hspec-discover

hydra-node/json-schemas/api.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
asyncapi: '2.3.0'
22
info:
33
title: Hydra Node API
4-
version: '0.22.2'
4+
version: '0.22.4'
55
description: |
66
WebSocket/HTTP API for administrating & interacting with Hydra Heads: multi-party isomorphic state-channels for Cardano.
77

hydra-node/networks.json

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
"0.21.0": "b5d5fa4d367005bdd6449dcca049aa61aa8b59a907231b03bb006eda01e8e73a,696ec03023309d8e75f983d4285880dcfcfac58c06808e0191ef075f10034212,48e09f38b208f4f30b1fe29232f450cfea88ffc9393ac34b1069dddce2758e8d",
1313
"0.22.0": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851",
1414
"0.22.1": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851",
15-
"0.22.2": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851"
15+
"0.22.2": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851",
16+
"0.22.3": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851",
17+
"0.22.4": "0571111c9cdbc4880625fb70c88eb2de1e09752a7b5a984644f7be6a0037051f,e0f89d9d24096de8c654302f00d80895c9e28c16ed40a4b2a086ddbeb915cf11,62f2e60c2d2e31e7dee22eea0f6f55903ff862c5c8b3205f48a498920a03a851"
1618
},
1719
"preprod": {
1820
"0.13.0": "f917dcd1fa2653e33d6d0ca5a067468595b546120c3085fab60848c34f92c265",
@@ -27,7 +29,9 @@
2729
"0.21.0": "557b6a6eaf6177407757cb82980ebc5b759b150ccfd329e1d8f81bbd16fecb01,98e1a40224c5ed8eaff5fc1f865d89af47ae89fd4adc1c37fc80dfd901b0caf2,8fbdf7de4934ca4d22ed9cfac0f6e2566990751b6f4b944470dafabbd079b965",
2830
"0.22.0": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e",
2931
"0.22.1": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e",
30-
"0.22.2": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e"
32+
"0.22.2": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e",
33+
"0.22.3": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e",
34+
"0.22.4": "c9c4d820d5575173cfa81ba2d2d1096fc40f84d16d8c17284da410a4fb5e64eb,ae4443b46f550289337fc5c2c52b24f1288dab36d1a229167a6e04f056a966fe,48bd29e43dd01d12ab464f75fe40eed80e4051c8d3409e1cb20b8c01120b425e"
3135
},
3236
"preview": {
3337
"0.13.0": "1e00c627ec4b2ad0b4aa68068d3818ca0e41338c87e5504cda118c4050a98763",
@@ -42,9 +46,11 @@
4246
"0.21.0": "bdf8a262cd5e7c8f4961aed865c026d5b6314b22a4bc31e981363b5bb50d1da6,0dbb43e152647c729c365aa18fce20133a212c6b43252fa25dbb7c0cf65ae011,54aec058e43e5cfe5161e8f97cc43f4601da180dc8ac13f3f39eb2fa08148a01",
4347
"0.22.0": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03",
4448
"0.22.1": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03",
45-
"0.22.2": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03"
49+
"0.22.2": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03",
50+
"0.22.3": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03",
51+
"0.22.4": "f0836329dcc837ebc770de707a7490c90b5185d2f67a25b0ddbf19dc2b3efffb,f27acadbfe368032f812eec031ccf82b5f2cbeabc16846ae21758c518e44241e,39924b477411b6bd33258f63dd705e0712b513a21ea9bc422a23ec0be797ba03"
4652
},
4753
"sanchonet": {
4854
"0.16.0": "af37f4f6bf7459d2ae1d6b2a1a2e4049465b62a8ebc308f3d6d6af68240a4419"
4955
}
50-
}
56+
}

0 commit comments

Comments
 (0)