diff --git a/CHANGELOG.md b/CHANGELOG.md
index bfdc3e57b5f..3c219c2e69a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,10 +9,17 @@ As a minor extension, we also keep a semantic version for the `UNRELEASED`
 changes.
 
 
-## [0.16.0] - UNRELEASED
+## [0.16.0] - 2024-04-03
 
 - Tested with `cardano-node 8.9.0`, `cardano-cli 8.20.3.0` and `mithril 2412.0`.
 
+- **BREAKING** Change to the `hydra-node` logs, monitoring and removal of `log-filter` executable:
+  - Renamed the `Event` data types to `Input` and consequently log items like `BeginEvent` to `BeginInput`.
+  - Changed structure of `LogicOutcome` entries.
+  - Added node-level log entry when an input was `DroppedFromQueue`.
+  - In course of this, the `log-filter` executable was removed as nobody is actively using it and other off-the-shelf utilities to manipulate structured JSON logs (`jq` is already quite powerful) are recommended.
+  - Renamed prometheus metric `hydra_head_events -> hydra_head_inputs`.
+
 - **BREAKING** Hydra scripts changed due to updates in the `plutus` toolchain:
   - Overall slight increase in script size.
   - 50% less memory usage in `close` and `contest` transactions.
@@ -20,6 +27,11 @@ changes.
 
 - **BREAKING** Transaction serialization on hydra-node api and persisted data changed.
 
+- Introduce `EventSource` and `EventSink` interfaces in `hydra-node`:
+  - These handles can now be used as "extension points" to make the `hydra-node` store and load its state differently or expose `StateEvent`s to other, external services.
+  - Internal refactoring of persistence mechanism as event source and sink in a backward-compatible way.
+  - More details can be found in [ADR21](https://hydra.family/head-protocol/adr/21/)
+
 - Add metadata to identify Hydra protocol transactions created by `hydra-node`.
 
 - Provide more details about why a command failed. Added the state of the head logic at the point of failure.
@@ -40,17 +52,6 @@ changes.
   input instead of the output datum.
   [#1266](https://github.com/input-output-hk/hydra/pull/1266)
 
-- **BREAKING** Change to the `hydra-node` logs, monitoring and removal of `log-filter` executable:
-  - Renamed the `Event` data types to `Input` and consequently log items like `BeginEvent` to `BeginInput`.
-  - Changed structure of `LogicOutcome` entries.
-  - Added node-level log entry when an input was `DroppedFromQueue`.
-  - In course of this, the `log-filter` executable was removed as nobody is actively using it and other off-the-shelf utilities to manipulate structured JSON logs (`jq` is already quite powerful) are recommended.
-  - Renamed prometheus metric `hydra_head_events -> hydra_head_inputs`.
-
-- Introduce `EventSource` and `EventSink` interfaces in `hydra-node`:
-  - These handles can now be used as "extension points" to make the `hydra-node` store and load its state differently or expose `StateEvent`s to other, external services.
-  - Internal refactoring of persistence mechanism as event source and sink in a backward-compatible way.
-  - More details can be found in [ADR21](https://hydra.family/head-protocol/adr/21/)
 
 ## [0.15.0] - 2024-01-18
 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7e7166c2842..65e3dbacac6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -197,16 +197,17 @@ During development
 
 To perform a release of next `<version>`:
 
-1. Publish hydra scripts onto `preview`, `preprod`, and `mainnet` using the
+1. Make sure all tests are passing.
+2. Publish hydra scripts onto `preview`, `preprod`, and `mainnet` using the
    [smoke test][smoke-test] and put the transaction ids as new `<version>`
    entries into [networks.json](./networks.json).
-2. Update CHANGELOG.md by replacing `UNRELEASED` with a date in
+3. Update CHANGELOG.md by replacing `UNRELEASED` with a date in
    [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) and prepare contents.
-3. Run `./release.sh <version>`
-4. Check if all the bumped versions are correct. In particular, whether the demo
+4. Run `./release.sh <version>`
+5. Check if all the bumped versions are correct. In particular, whether the demo
    and tutorial would still work given the changelog. If everything is fine,
    push the branches `master`, `release` and the `<version>` tag.
-5. Create a github release page containing
+6. Create a github release page containing
    * The released changes (formatted) and giving credit where credit is due
    * Built hydra (and cardano-node) binaries to the release using naming scheme:
      `hydra-<platform>-<version>.zip` where `platform` is `x86_64-linux` or
@@ -281,7 +282,7 @@ To conduct this meeting and write this report:
     - Do not forget to record the meeting!
     - Ask for sharing rights after the meeting, by requesting sharing in Google Drive with yourself, and/or ask for making it publicly available.
 
-3. Write the report in [this repository](https://github.com/cardano-scaling/website) 
+3. Write the report in [this repository](https://github.com/cardano-scaling/website)
   - Copy monthly report from last month, update dates, links to slides and closed issues
   - Use slides as starting point, to provide a short and sweet written account of what happened
     + The previous reports should serve as a guideline
diff --git a/demo/docker-compose.yaml b/demo/docker-compose.yaml
index 1945058adea..3edc1f36507 100644
--- a/demo/docker-compose.yaml
+++ b/demo/docker-compose.yaml
@@ -23,7 +23,7 @@ services:
 
   hydra-node-1:
    # NOTE: Make sure to use the same image in ./seed-devnet.sh
-    image: ghcr.io/input-output-hk/hydra-node:0.15.0
+    image: ghcr.io/input-output-hk/hydra-node:0.16.0
     build:
       context: ../
       target: hydra-node
@@ -60,7 +60,7 @@ services:
 
   hydra-node-2:
     # NOTE: Make sure to use the same image in ./seed-devnet.sh
-    image: ghcr.io/input-output-hk/hydra-node:0.15.0
+    image: ghcr.io/input-output-hk/hydra-node:0.16.0
     build:
       context: ../
       target: hydra-node
@@ -97,7 +97,7 @@ services:
 
   hydra-node-3:
     # NOTE: Make sure to use the same image in ./seed-devnet.sh
-    image: ghcr.io/input-output-hk/hydra-node:0.15.0
+    image: ghcr.io/input-output-hk/hydra-node:0.16.0
     build:
       context: ../
       target: hydra-node
@@ -133,7 +133,7 @@ services:
     restart: always
 
   hydra-tui-1:
-    image: ghcr.io/input-output-hk/hydra-tui:0.15.0
+    image: ghcr.io/input-output-hk/hydra-tui:0.16.0
     build:
        context: ../
        target: hydra-tui
@@ -152,7 +152,7 @@ services:
         ipv4_address: 172.16.238.11
 
   hydra-tui-2:
-    image: ghcr.io/input-output-hk/hydra-tui:0.15.0
+    image: ghcr.io/input-output-hk/hydra-tui:0.16.0
     build:
        context: ../
        target: hydra-tui
@@ -171,7 +171,7 @@ services:
         ipv4_address: 172.16.238.21
 
   hydra-tui-3:
-    image: ghcr.io/input-output-hk/hydra-tui:0.15.0
+    image: ghcr.io/input-output-hk/hydra-tui:0.16.0
     build:
        context: ../
        target: hydra-tui
diff --git a/demo/seed-devnet.sh b/demo/seed-devnet.sh
index 9f1a9cfcb83..81866308a76 100755
--- a/demo/seed-devnet.sh
+++ b/demo/seed-devnet.sh
@@ -49,7 +49,7 @@ function hnode() {
       docker run --rm -it \
         --pull always \
         -v ${SCRIPT_DIR}/devnet:/devnet \
-        ghcr.io/input-output-hk/hydra-node:0.15.0 -- ${@}
+        ghcr.io/input-output-hk/hydra-node:0.16.0 -- ${@}
   fi
 }
 
diff --git a/docs/docs/tutorial/index.md b/docs/docs/tutorial/index.md
index 44255d055b8..603d10ac255 100644
--- a/docs/docs/tutorial/index.md
+++ b/docs/docs/tutorial/index.md
@@ -41,7 +41,7 @@ components of the Cardano ecosystem, putting them in a `bin/` directory:
 
 ```shell
 mkdir -p bin
-version=0.15.0
+version=0.16.0
 curl -L -O https://github.com/input-output-hk/hydra/releases/download/${version}/hydra-x86_64-linux-${version}.zip
 unzip -d bin hydra-x86_64-linux-${version}.zip
 curl -L -o - https://github.com/input-output-hk/cardano-node/releases/download/8.9.0/cardano-node-8.9.0-linux.tar.gz \
@@ -56,7 +56,7 @@ chmod +x bin/*
 
 ```shell
 mkdir -p bin
-version=0.15.0
+version=0.16.0
 curl -L -O https://github.com/input-output-hk/hydra/releases/download/${version}/hydra-aarch64-darwin-${version}.zip
 unzip -d bin hydra-aarch64-darwin-${version}.zip
 curl -L -o - https://github.com/input-output-hk/cardano-node/releases/download/8.9.0/cardano-node-8.9.0-macos.tar.gz \
@@ -396,7 +396,7 @@ Let's start the `hydra-node` with all these parameters now:
 <TabItem value="alice" label="Alice">
 
 ```shell
-version=0.15.0
+version=0.16.0
 hydra-node \
   --node-id "alice-node" \
   --persistence-dir persistence-alice \
@@ -419,7 +419,7 @@ hydra-node \
 <TabItem value="bob" label="Bob">
 
 ```shell
-version=0.15.0
+version=0.16.0
 hydra-node \
   --node-id "bob-node" \
   --persistence-dir persistence-bob \
diff --git a/hydra-cardano-api/hydra-cardano-api.cabal b/hydra-cardano-api/hydra-cardano-api.cabal
index e38678a09e8..12e77498587 100644
--- a/hydra-cardano-api/hydra-cardano-api.cabal
+++ b/hydra-cardano-api/hydra-cardano-api.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          hydra-cardano-api
-version:       0.15.0
+version:       0.16.0
 synopsis:      A Haskell API for Cardano, tailored to the Hydra project.
 author:        IOG
 copyright:     2022 IOG
diff --git a/hydra-chain-observer/hydra-chain-observer.cabal b/hydra-chain-observer/hydra-chain-observer.cabal
index 52d03ce4ede..6502f857024 100644
--- a/hydra-chain-observer/hydra-chain-observer.cabal
+++ b/hydra-chain-observer/hydra-chain-observer.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          hydra-chain-observer
-version:       0.15.0
+version:       0.16.0
 synopsis:      Hydra Chain Observer
 author:        IOG
 copyright:     2023 IOG
diff --git a/hydra-cluster/hydra-cluster.cabal b/hydra-cluster/hydra-cluster.cabal
index bad73a9b9ba..2d4f3f7cdc1 100644
--- a/hydra-cluster/hydra-cluster.cabal
+++ b/hydra-cluster/hydra-cluster.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               hydra-cluster
-version:            0.15.0
+version:            0.16.0
 synopsis:
   Integration test suite using a local cluster of cardano and hydra nodes
 
diff --git a/hydra-explorer/hydra-explorer.cabal b/hydra-explorer/hydra-explorer.cabal
index 3a04be7c6ab..ab3fe07b7c7 100644
--- a/hydra-explorer/hydra-explorer.cabal
+++ b/hydra-explorer/hydra-explorer.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          hydra-explorer
-version:       0.15.0
+version:       0.16.0
 synopsis:      Hydra Explorer
 author:        IOG
 copyright:     2023 IOG
diff --git a/hydra-node/hydra-node.cabal b/hydra-node/hydra-node.cabal
index 4a2fbbaaaf7..878c90c7f67 100644
--- a/hydra-node/hydra-node.cabal
+++ b/hydra-node/hydra-node.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          hydra-node
-version:       0.15.0
+version:       0.16.0
 synopsis:      The Hydra node
 author:        IOG
 copyright:     2022 IOG
diff --git a/hydra-node/json-schemas/api.yaml b/hydra-node/json-schemas/api.yaml
index efd9fb407b5..16e4788dd6c 100644
--- a/hydra-node/json-schemas/api.yaml
+++ b/hydra-node/json-schemas/api.yaml
@@ -1,7 +1,7 @@
 asyncapi: '2.3.0'
 info:
   title: Hydra Node API
-  version: '0.15.0'
+  version: '0.16.0'
   description: |
     WebSocket/HTTP API for administrating & interacting with Hydra Heads: multi-party isomorphic state-channels for Cardano.
 
diff --git a/hydra-plutus-extras/hydra-plutus-extras.cabal b/hydra-plutus-extras/hydra-plutus-extras.cabal
index 7372883b97e..73f377b6141 100644
--- a/hydra-plutus-extras/hydra-plutus-extras.cabal
+++ b/hydra-plutus-extras/hydra-plutus-extras.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          hydra-plutus-extras
-version:       0.15.0
+version:       0.16.0
 synopsis:
   Several extras and extensions of plutus-tx and plutus-ledger-api
 
diff --git a/hydra-plutus/hydra-plutus.cabal b/hydra-plutus/hydra-plutus.cabal
index 3b1291b0aec..3396c70584f 100644
--- a/hydra-plutus/hydra-plutus.cabal
+++ b/hydra-plutus/hydra-plutus.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          hydra-plutus
-version:       0.15.0
+version:       0.16.0
 synopsis:      Hydra Plutus Contracts
 author:        IOG
 copyright:     2022 IOG
diff --git a/hydra-prelude/hydra-prelude.cabal b/hydra-prelude/hydra-prelude.cabal
index 4510ae9238f..c950c746cc8 100644
--- a/hydra-prelude/hydra-prelude.cabal
+++ b/hydra-prelude/hydra-prelude.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          hydra-prelude
-version:       0.15.0
+version:       0.16.0
 synopsis:      Custom Hydra Prelude used across other Hydra packages.
 author:        IOG
 copyright:     2022 IOG
diff --git a/hydra-test-utils/hydra-test-utils.cabal b/hydra-test-utils/hydra-test-utils.cabal
index 64b7b16e689..ab6953a2110 100644
--- a/hydra-test-utils/hydra-test-utils.cabal
+++ b/hydra-test-utils/hydra-test-utils.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          hydra-test-utils
-version:       0.15.0
+version:       0.16.0
 synopsis:      Hydra utilities for testing, aka. "Test Prelude"
 author:        IOG
 copyright:     2022 IOG
diff --git a/hydra-tui/hydra-tui.cabal b/hydra-tui/hydra-tui.cabal
index ac7b58bfef2..843ed209906 100644
--- a/hydra-tui/hydra-tui.cabal
+++ b/hydra-tui/hydra-tui.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          hydra-tui
-version:       0.15.0
+version:       0.16.0
 synopsis:      TUI for managing a Hydra node
 description:   TUI for managing a Hydra node
 author:        IOG
diff --git a/networks.json b/networks.json
index f5231702c63..4552706d6fa 100644
--- a/networks.json
+++ b/networks.json
@@ -2,16 +2,22 @@
     "mainnet": {
         "0.13.0": "989e3ab136a2cdd3132a99975e76e02f62bcb03ba64ddbb5d2dfddffca8d390d",
         "0.14.0": "3ac58d3f9f35d8f2cb38d39639232c10cfe0b986728f672d26ffced944d74560",
-        "0.15.0": "7d998b617526d827dd69a495f5d5dc2c5e293b86a62ad61cb2fb5f2503cd87f0"
+        "0.15.0": "7d998b617526d827dd69a495f5d5dc2c5e293b86a62ad61cb2fb5f2503cd87f0",
+        "0.16.0": "2d52e5787b198daeb280f9de63e5dec126b1843b050e85b1642ff8e47cb6de73"
     },
     "preprod": {
         "0.13.0": "f917dcd1fa2653e33d6d0ca5a067468595b546120c3085fab60848c34f92c265",
         "0.14.0": "d8ba8c488f52228b200df48fe28305bc311d0507da2c2420b10835bf00d21948",
-        "0.15.0": "8ce483e2d4b81f9254392afda1f85d1e123165665593228c39064691903f431a"
+        "0.15.0": "8ce483e2d4b81f9254392afda1f85d1e123165665593228c39064691903f431a",
+        "0.16.0": "6264cee4d5eab3fb58ab67f3899ecbcc0d7e72732a2d9c1c5d638115db6ca711"
     },
     "preview": {
         "0.13.0": "1e00c627ec4b2ad0b4aa68068d3818ca0e41338c87e5504cda118c4050a98763",
         "0.14.0": "64deee72cd424d957ea0fddf71508429ecb65fea83a041fe9b708fc2ca973a8e",
-        "0.15.0": "c21b70a719112f76d318abcfee95499a27556ef4a18b1c62bc38e4b9c07ae3a6"
+        "0.15.0": "c21b70a719112f76d318abcfee95499a27556ef4a18b1c62bc38e4b9c07ae3a6",
+        "0.16.0": "1f34e4ee2404a5e4fc8ef970b7b8717af34c1a5a22107b82cde79c5d11da93b9"
+    },
+    "sanchonet": {
+        "0.16.0": "af37f4f6bf7459d2ae1d6b2a1a2e4049465b62a8ebc308f3d6d6af68240a4419"
     }
 }