Releases: Consensys-Incorporated/web3signer
Release list
26.7.0
Features Added
- Support for Hashicorp Vault Kubernetes authentication PR 1195
- The eth1 signing endpoint (
POST /api/v1/eth1/sign/{identifier}) accepts an optionalapplyHashfield. It defaults totrue, preserving the existing behaviour of applying Keccak-256 todatabefore signing. Setting it tofalsesigns the caller-supplieddataas a pre-computed digest, which must be exactly 32 bytes. Supported by file-based, AWS KMS and Azure Key Vault signers. PR 1213
Bugs Fixed
- Fix Key Manager API (
POST /eth/v1/keystores) accepting a keystore whose JSONpubkeyfield does not match the decrypted private key. A mismatched import now returnsstatus: "error"for that entry rather than poisoning the slashing-protection database under the claimed (unverified) pubkey. Thanks to Suhyeon for responsible disclosure.
Breaking Changes
- The Key Manager API (
DELETE /eth/v1/keystores) now only attempts to delete keystore files that follow the<pubkey>.yamlnaming convention. Files using a different naming scheme are left untouched. This replaces the previous approach of scanning all metadata files and matching on the EIP-2335pubkeyfield, which is optional and not guaranteed to be correct. - Java 25 is now required to build Web3Signer (previously Java 21).
- The
.tar.gzand.zipbinary distributions now require Java 25 on the host machine to run Web3Signer (previously Java 21). - Docker images are unchanged — they have shipped Java 25 since 25.12.0.
- Contributors no longer need to install JDK 25 manually. The build now uses a Gradle toolchain (
JavaLanguageVersion.of(25)) with the foojay resolver, so Gradle will auto-detect a locally installed JDK 25 and download Temurin 25 if none is found. The Gradle daemon itself can run on any JDK supported by Gradle 9 (17+).
Security
- Update base docker image to latest LTS Ubuntu 26.04.
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
Default image (Ubuntu + Eclipse Temurin JRE 25):
docker pull consensys/web3signer:26.7.0
Hardened image (Google Distroless, read-only-filesystem compatible):
docker pull consensys/web3signer:26.7.0-distroless
Full Changelog: 26.4.2...26.7.0
26.7.0-RC1
Features Added
- Support for Hashicorp Vault Kubernetes authentication PR 1195
- The eth1 signing endpoint (
POST /api/v1/eth1/sign/{identifier}) accepts an optionalapplyHashfield. It defaults totrue, preserving the existing behaviour of applying Keccak-256 todatabefore signing. Setting it tofalsesigns the caller-supplieddataas a pre-computed digest, which must be exactly 32 bytes. Supported by file-based, AWS KMS and Azure Key Vault signers. PR 1213
Bugs Fixed
- Fix Key Manager API (
POST /eth/v1/keystores) accepting a keystore whose JSONpubkeyfield does not match the decrypted private key. A mismatched import now returnsstatus: "error"for that entry rather than poisoning the slashing-protection database under the claimed (unverified) pubkey. Thanks to Suhyeon for responsible disclosure.
Breaking Changes
- The Key Manager API (
DELETE /eth/v1/keystores) now only attempts to delete keystore files that follow the<pubkey>.yamlnaming convention. Files using a different naming scheme are left untouched. This replaces the previous approach of scanning all metadata files and matching on the EIP-2335pubkeyfield, which is optional and not guaranteed to be correct. - Java 25 is now required to build Web3Signer (previously Java 21).
- The
.tar.gzand.zipbinary distributions now require Java 25 on the host machine to run Web3Signer (previously Java 21). - Docker images are unchanged — they have shipped Java 25 since 25.12.0.
- Contributors no longer need to install JDK 25 manually. The build now uses a Gradle toolchain (
JavaLanguageVersion.of(25)) with the foojay resolver, so Gradle will auto-detect a locally installed JDK 25 and download Temurin 25 if none is found. The Gradle daemon itself can run on any JDK supported by Gradle 9 (17+).
Security
- Update base docker image to latest LTS Ubuntu 26.04.
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
Default image (Ubuntu + Eclipse Temurin JRE 25):
docker pull consensys/web3signer:26.7.0-RC1
Hardened image (Google Distroless, read-only-filesystem compatible):
docker pull consensys/web3signer:26.7.0-RC1-distroless
Full Changelog: 26.4.2...26.7.0-RC1
26.4.2
Bugs Fixed
- Fix distroless image failing to load BLS native library under
docker run --read-only. Issue #1175, PR #1176.
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
Default image (Ubuntu + Eclipse Temurin JRE 25):
docker pull consensys/web3signer:26.4.2
Hardened image (Google Distroless, read-only-filesystem compatible):
docker pull consensys/web3signer:26.4.2-distroless
Full Changelog: 26.4.1...26.4.2
26.4.1
Important
The next Web3Signer release will require Java 25 to build and run. The Docker image is already on Java 25.
Features Added
- Update Teku to 26.4.0 [Fulu upgrade for Gnosis chain]
- Publish an additional hardened Docker image under the
-distrolesstag suffix (e.g.consensys/web3signer:26.4.1-distroless). Built fromgcr.io/distroless/java25-debian13:nonroot— no shell, runs as non-root by default, and is compatible withdocker run --read-only. See issue #1151. - Docker image labels migrated from the deprecated
org.label-schema.*schema to the OCI Image Specorg.opencontainers.image.*annotations, which are consumed by modern registries and image-scanning tooling.
Bugs Fixed
- Fix memory leak in the reload endpoint: removed validators were not being offloaded from the slashing-protection in-memory cache, and every reload unnecessarily re-registered all validators, causing old-gen heap pressure. Reload now processes only the delta of added/removed keys. PR #1167.
- Fix jdbi parsed-SQL cache growth in
ValidatorsDaoby replacing inlined values and bindList expansions with parameterized array bindings. PR #1170.
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
Default image (Ubuntu + Eclipse Temurin JRE 25):
docker pull consensys/web3signer:26.4.1
Hardened image (Google Distroless, read-only-filesystem compatible):
docker pull consensys/web3signer:26.4.1-distroless
Full Changelog: 26.3.0...26.4.1
26.4.1-RC2
Features Added
- Update Teku to 26.4.0 [Fulu upgrade for Gnosis chain]
- Publish an additional hardened Docker image under the
-distrolesstag suffix (e.g.consensys/web3signer:26.4.1-distroless). Built fromgcr.io/distroless/java25-debian13:nonroot— no shell, runs as non-root by default, and is compatible withdocker run --read-only. See issue #1151. - Docker image labels migrated from the deprecated
org.label-schema.*schema to the OCI Image Specorg.opencontainers.image.*annotations, which are consumed by modern registries and image-scanning tooling.
Bugs Fixed
- Fix memory leak in the reload endpoint: removed validators were not being offloaded from the slashing-protection in-memory cache, and every reload unnecessarily re-registered all validators, causing old-gen heap pressure. Reload now processes only the delta of added/removed keys. PR #1167.
- Fix jdbi parsed-SQL cache growth in
ValidatorsDaoby replacing inlined values and bindList expansions with parameterized array bindings. PR #1170.
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
Default image (Ubuntu + Eclipse Temurin JRE 25):
docker pull consensys/web3signer:26.4.1-RC2
Hardened image (Google Distroless, read-only-filesystem compatible):
docker pull consensys/web3signer:26.4.1-RC2-distroless
Full Changelog: 26.4.0...26.4.1-RC2
26.4.1-RC1
Bugs Fixed
- Fix memory leak in the reload endpoint: removed validators were not being offloaded from the slashing-protection in-memory cache, and every reload unnecessarily re-registered all validators, causing old-gen heap pressure. Reload now processes only the delta of added/removed keys. PR #1167.
- Fix jdbi parsed-SQL cache growth in
ValidatorsDaoby replacing inlined values and bindList expansions with parameterized array bindings. PR #1170.
Features Added
- Update Teku to 26.4.0 [Fulu upgrade for Gnosis chain]
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
docker pull consensys/web3signer:26.4.1-RC1
Full Changelog: 26.4.0...26.4.1-RC1
26.4.0
Features Added
- Update Teku to 26.4.0 [Fulu upgrade for Gnosis chain]
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
docker pull consensys/web3signer:26.4.0
Full Changelog: 26.3.0...26.4.0
26.4.0-RC1
Features Added
- Update Teku to 26.4.0 [Fulu upgrade for Gnosis chain]
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
docker pull consensys/web3signer:26.4.0-RC1
Full Changelog: 26.3.0...26.4.0-RC1
26.3.0
Security
- Updated base Docker image packages to address CVE-2025-68973 (HIGH severity) in gpgv package
- Docker images now apply all available security updates during build
- Updated jackson dependencies to 2.21.1
Features Added
- Update Netty to 4.2.9.Final
- New
--logging-formatCLI option to select structured logging formats (PLAIN, ECS, GCP, LOGSTASH, GELF) without requiring custom Log4j2 configuration files. Issue #1144 via PR #1146.
Bugs Fixed
- Fix unregistered validator IllegalStateException due to race condition in keymanager API
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
docker pull consensys/web3signer:26.3.0
Full Changelog: 25.12.0...26.3.0
26.3.0-RC1
Security
- Updated base Docker image packages to address CVE-2025-68973 (HIGH severity) in gpgv package
- Docker images now apply all available security updates during build
Features Added
- Update Netty to 4.2.9.Final
- New
--logging-formatCLI option to select structured logging formats (PLAIN, ECS, GCP, LOGSTASH, GELF) without requiring custom Log4j2 configuration files. Issue #1144 via PR #1146.
Bugs Fixed
- Fix unregistered validator IllegalStateException due to race condition in keymanager API
Downloads
Binaries
| Binary | Checksum |
|---|---|
| web3signer.tar.gz | Checksum |
| web3signer.zip | Checksum |
Docker
docker pull consensys/web3signer:26.3.0-RC1
Full Changelog: 25.12.0...26.3.0-RC1