Releases: rsksmart/rskj
RSK Reed Release 8.1.0
⚠️ Important Notice
As approved by the Rootstock community as part of the Reed upgrade, this version introduces a set of consensus changes that will activate only on Testnet, along with node optimizations for performance, stability, and improved developer experience for both Mainnet and Testnet.
If you are running earlier versions of the Rootstock client node on Testnet and adhere to these changes, you must update to this new version. The upgrade will activate on Rootstock Testnet at block number 7,139,600.
✨ Release Summary
Reed 8.1.0 introduces a set of consensus changes that will activate only on Testnet, along with RSKj node optimizations for performance, stability, and improved developer experience for both Mainnet and Testnet.
It delivers scalability enhancements through the Parallel Transaction Execution feature and additional protocol improvements that lay the groundwork for the upcoming Union Bridge release on Testnet soon.
🆕 What's New in RSK Reed 8.1.0
The Testnet-only consensus changes included in this version are:
- Parallel Transaction Execution for the Unitrie (RSKIP-144)
- Miniheader - block header compression (RSKIP-351)
- Union Bridge Integration: New Methods Added to PowPeg Bridge Contract (RSKIP-502)
- New storage cells in Bridge native contract for base and super events info (RSKIP-529)
- Additional methods for the BlockHeader precompiled contract (RSKIP-536)
Most notable non-consensus changes are:
- Refactor
traceFiltermethod for improved performance and reliability by @dlealmac in #3325 - Make
filteridless predictable by using random UUID generation by @rmoreliovlabs in #3312
For a detailed description of each consensus change introduced in this network upgrade, please refer to RSKIP 518 Network Upgrade: Reed. You can also find a complete list of the changes introduced in the corresponding GitHub milestone.
Full Changelog: REED-8.0.0...REED-8.1.0
🛠️ Reproducible Build
SHA256 (see Reproducible Build guide for further details):
f8535514f7a02181da768543782ec9b811128b6af20f44d1d5c0c5510ecdaaf1 rskj-core-8.1.0-REED-all.jar
RSK Reed Release 8.0.0
⚠️ Important Notice
Since consensus rules have changed, this release is incompatible with previous versions. If you are running earlier versions of the Rootstock client node and adhere to these changes, you must update to this new version. The Mainnet network upgrade will happen at block number 8,052,200. The Testnet network upgrade will happen at block number 6,835,700.
✨ Release Summary
Reed enhances the PowPeg by expanding the signatory set to support up to 20 pegnatories and lowering peg-out costs. It also introduces new precompiled contracts for addition and scalar multiplication on the Secp256k1 curve.
🆕 What's New in RSK Reed 8.0.0
The consensus changes included in this version are:
- Peg-out efficiency improvement (Segwit) (RSKIP-305)
- Precompiled contracts for +/* on Secp256k1 (RSKIP-516)
Network Upgrade: Reed: RSKIP 518
Full Changelog: LOVELL-7.2.0...REED-8.0.0
Reed 8.0.0 Milestone: https://github.com/rsksmart/rskj/milestone/51
🛠️ Reproducible Build
SHA256 (see Reproducible Build guide for further details):
c16adff53b5b1714f184babf241aa053761510b44adb47f8aea49fc1525d4718 rskj-core-8.0.0-REED-all.jar
RSK Lovell Release 7.2.0
✨ Release Summary
This update includes improvements to Ethereum compatibility — specifically in how the RSKj node handles the logIndex field, which indicates the position of a log entry within a transaction receipt’s list of logs.
It also introduces the state override feature, enabling developers to simulate transactions with custom account code, storage, or balances during an eth_call, without altering the actual blockchain state.
Although this upgrade is optional, we strongly recommend updating your node to take advantage of the latest improvements.
🆕 What's New in RSKj 7.2.0
Here’s a summary of the most notable changes in this version:
- LogIndex compatibility enhancement — aligned logIndex handling with Ethereum clients by making it block-relative.
By @asoto-iov in #3111. - State override feature — introduced the state override feature, enabling developers to simulate transactions with custom account code, storage, or balances during an eth_call, without altering the actual blockchain state.
By @asoto-iov in #3079, #3137, and #3104.
🔗 Full Changelog: LOVELL-7.1.0...LOVELL-7.2.0
📌 Lovell 7.2.0 Milestone: https://github.com/rsksmart/rskj/milestone/50
🛠️ Reproducible Build
SHA256 checksum (see Reproducible Build guide for further details):
1d27057a287d49e88a8d0bf981a2d091fd34317f7fc4e6abbdde2c89f0891e47 rskj-core-7.2.0-LOVELL-all.jar
RSK Lovell Release 7.1.0
✨ Release Summary
This version introduces several enhancements, including the experimental Snap Synchronization mode, updates to the Fiat Stable MinGasPrice feature, and improvements to JSON-RPC API compatibility.
Although this upgrade is optional, we strongly recommend updating your node to take advantage of the latest performance and security improvements.
🆕 What's New in RSKj 7.1.0
Here’s a summary of the most notable changes in this version:
- Introduced SnapSync, a new fast synchronization mode designed to accelerate node bootstrapping [Experimental].
By @julianlen, @Vovchyk, @asoto-iov, and others in #2233 - Enhanced Fiat Stable MinGasPrice — added support for defining a valid minimum and maximum gas price range.
By @asoto-iov in #2922 - Improved upgrade awareness — added a warning message when a disabled network upgrade is detected.
By @rmoreliovlabs in #3038 - JSON-RPC compatibility — added the
mixHashandnoncefields to the block DTO, defaulting to zero for compatibility with Ethereum-based tools.
By @Vovchyk in #2909 and #3135 - RLP validation enhancement —
RLP.getNextElementIndexnow throws an exception if an invalid pos value is provided.
By @rmoreliovlabs in #3052
🔬 Note: Features marked as [Experimental] are disabled by default. These features require further validation or security reviews and may be changed or removed in future releases. If you’re unsure about their implications, we recommend leaving them disabled.
🔗 Full Changelog: LOVELL-7.0.0...LOVELL-7.1.0
📌 Lovell 7.1.0 Milestone: https://github.com/rsksmart/rskj/milestone/49
⚡ Introducing the SnapSync protocol
SnapSync is a new experimental feature that allows RSKj nodes to synchronize using a snapshot of the blockchain state, rather than downloading the full history of blocks from genesis. This can significantly reduce the time required to bring a node online, especially as the blockchain continues to grow.
The feature is currently available in experimental mode and is disabled by default. As it is still undergoing validation and security review, its behavior may change or be removed entirely in future releases. We recommend not using this feature if you’re unsure about the implications.
For those interested in testing SnapSync, setup instructions and usage guidelines are available on the Rootstock Developer Portal.
🛠️ Reproducible Build
SHA256 checksum (see Reproducible Build guide for further details):
1a6168d4f35059b875904b1d50292d0c13c7cce6497c568a15b3c83e00ace701 rskj-core-7.1.0-LOVELL-all.jar
RSK Lovell Release 7.0.0
⚠️ Important Notice For All Users
Since consensus rules have changed, this release is incompatible with previous versions. If you are running earlier versions of the Rootstock client node and adhering to these changes, you must update to this new version. The Mainnet network upgrade will happen at block number 7,338,024. The Testnet network upgrade will happen at block number 6,110,487.
⚠️ Important Notice For Users Running a Docker Image
If you are already running an RSKj node using a Docker image, please follow the instructions at the bottom.
Release Summary
Lovell introduces significant security and robustness enhancements to the PowPeg, ensuring a more secure and reliable composition change process. It also introduces new opcodes, further strengthening compatibility with the Ethereum Virtual Machine.
What's New in RSKj 7.0.0
The consensus changes included in this version are:
- PowPeg Spendability Validation Protocol (RSKIP-419)
- Express the amount value in wei for peg-out related events (RSKIP-427)
- New pegout creation event including UTXO outpoint values (RSKIP-428)
- Limit the maximum size of initcode and apply extra gas cost for every 32-byte chunk of initcode (RSKIP-438)
- MCOPY instruction (RSKIP-445)
- Transient storage opcodes (RSKIP-446)
- Prevent address creation on failed CREATE/CREATE2 operations (RSKIP-453)
- Support bitcoin blocks with chain work up to 32 unsigned bytes (RSKIP-454)
- Mark rejected peg-ins as processed (RSKIP-459)
- Ignore non-standard outputs when searching for the witness commitment hash (RSKIP-460)
Network Upgrade: Lovell: RSKIP-435
Full Changelog: ARROWHEAD-6.5.1...LOVELL-7.0.0
Lovell 7.0.0 Milestone: https://github.com/rsksmart/rskj/milestone/48
Reproducible Build
SHA256 (see Reproducible Build guide for further details):
604b75665d9750da216ddc9849cb2276a06192321b3c6829685600e1f2d534fb rskj-core-7.0.0-LOVELL-all.jar
🛠️ Instructions for Users Already Running a Docker Image
In a previous release, we transitioned from using the OpenJDK image to Temurin, which changed the user UID from 1000 to 1001. This change conflicts with file ownership and access, so it requires manual permission updates before starting the new version, as described below:
1️⃣ Update Your docker-compose.yml
Replace the following line (or similar line depending on the version you are currently running):
image: rsksmart/rskj:ARROWHEAD-6.3.1With:
image: rsksmart/rskj:LOVELL-7.0.02️⃣ Fix Database and Log Directory Permissions
Ensure that the correct permissions are applied to the database and log folders to accommodate the new UID (1001).
By default, the paths are:
sudo chown 1001:1001 /var/lib/rsk/database/* -R
sudo chown 1001:1001 /var/log/rsk/* -RNote: If you have customized these paths, adjust them accordingly.
3️⃣ Restart the Service
Once the permissions are updated, restart the service as follows:
docker compose up -d4️⃣ Verify Logs and Running Version
You can verify the logs by running the following command:
tail -f /var/log/rsk/rsk.logYou can verify the correct version of the node by running the following command:
curl -Ss -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":123,"method":"web3_clientVersion"}' http://127.0.0.1:4444/The expected output is:
RskJ/7.0.0/Linux/Java17/LOVELL-
✏️ Example: docker-compose.yml
version: '3'
rskj:
image: rsksmart/rskj:LOVELL-7.0.0
ports:
- "4444:4444"
volumes:
- /var/lib/rsk/database:/var/lib/rsk/database
- /var/log/rsk:/var/lib/rsk/logs
- /etc/rsk:/etc/rsk/RSK Arrowhead Release 6.5.1
Summary
This patch release reverts the JDK and JRE versions used in the Docker container from Java 21 to Java 17 due to synchronization issues encountered with the latest update. No additional changes or new features are included in this release.
While this upgrade is optional, users of the previous Docker container version are strongly encouraged to update to the latest version.
What's New in RSKj 6.5.1
A non-comprehensive list of changes in this version includes:
- Downgrading docker image to eclipse java temurin 17 by @fmacleal in #2940
- Adding github action to run and check docker container built by @fmacleal in #2955
Full Changelog: ARROWHEAD-6.5.0...ARROWHEAD-6.5.1
Arrowhead 6.5.1 Milestone: https://github.com/rsksmart/rskj/milestone/47
Reproducible Build
SHA256 (see Reproducible Build guide for further details): f4a3407f30f90a1b16b0b5731b98c086548d929a64f36e5f93fdb814ebc2462b rskj-core-6.5.1-ARROWHEAD-all.jar
RSK Arrowhead Release 6.5.0
Important
Starting with v6.4.0, the minimum supported Java LTS version is Java 17. Previous Java versions will no longer be supported.
Summary
This update features new debugging methods and other improvements to the JSON-RPC interface, designed to optimize the developer experience.
Although this upgrade is optional, we strongly recommend users update their nodes to the latest version to benefit from enhanced performance and security.
What's New in RSKj 6.5.0
A non-comprehensive list of changes in this version includes:
- Added the
debug_traceBlockByNumberRPC method, by @Vovchyk in #2809. - Added support for the
callTracertrace in thedebug_traceTransaction,debug_traceBlockByHash, anddebug_traceBlockByNumberRPC methods, by @asoto-iov in #2839. - Added support for null values in the
toandfrominput parameters of RPC methods, by @Vovchyk in #2868. - Handle reverted transactions in the
eth_estimateGasmethod to align with Ethereum client behavior, by @rmoreliovlabs in #2846.
Full Changelog: ARROWHEAD-6.4.0...ARROWHEAD-6.5.0
Arrowhead 6.5.0 Milestone: https://github.com/rsksmart/rskj/milestone/46
Reproducible Build
SHA256 (see Reproducible Build guide for further details): 294f99ec76befa7d9ef18eca28d0c884ceb463ce855ef23ddb7a476e551ba191 rskj-core-6.5.0-ARROWHEAD-all.jar
RSK Arrowhead Release 6.4.0
Important
Starting with v6.4.0, the minimum supported Java LTS version is Java 17. Previous Java versions will no longer be supported.
Summary
This update introduces the fiat-stable minimum gas price feature (disabled by default), enabling mining pools to automatically adjust their minimum gas price configuration based on the price of Bitcoin. Additionally, it includes JSON-RPC interface improvements and dependency upgrades, now supporting Java 21 LTS.
Although this upgrade is optional, we strongly recommend users update their nodes to the latest version to benefit from enhanced performance and security.
What's New in RSKj 6.4.0
A non-comprehensive list of changes in this version includes:
- Fiat-stable minimum gas price configuration for mining pools (disabled by default), introduced by @Vovchyk and @asoto-iov in #2310 and #2807.
- Added the
effectiveGasPricefield in transaction receipts, by @fmacleal in #2556. - Updated the minimum supported Java LTS version to Java 17, with added support for Java 21, by @Vovchyk in #2624 and #2640.
- Modified the
web3_clientVersionresponse to include the node’s Java version, by @rmoreliovlabs in #2679. - Upgraded the Jackson dependency to version 2.15.4, by @Vovchyk in #2715.
- Refactored bridge classes by @wilmerrootstock, @marcos-iov, and @julia-zack in #2309, #2423, #2433, #2545, #2603, #2672, and #2681.
Full Changelog: ARROWHEAD-6.3.1...ARROWHEAD-6.4.0
Arrowhead 6.4.0 Milestone: https://github.com/rsksmart/rskj/milestone/45
Reproducible Build
SHA256 (see Reproducible Build guide for further details): 269c6416759ff8979e6bc6a6b1ae96ab95705f1c397df06b160a9f2070a373ce rskj-core-6.4.0-ARROWHEAD-all.jar
RSK Arrowhead Release 6.3.1
Summary
This release introduces remediation to the PowPeg service issue in Rootstock Mainnet, as described here.
Since consensus rules have changed, this version is incompatible with earlier versions. Consequently, if you adhere to these changes, you must upgrade to the new client version before the network upgrade is activated. Otherwise, the non-updated nodes will remain on an incompatible chain. The Mainnet network upgrade will happen at block number 6,549,300.
When RSK Arrowhead 6.3.1 successfully activates at Rootstock Mainnet block 6,549,300, the PowPeg service will resume its regular operation and any outstanding peg-in and peg-out operations will be processed.
What's New in RSKj 6.3.1
The consensus change included in this version is:
- Bridge Bitcoin block chainwork up to 12 Bytes (RSKIP-434)
Please refer to RSKIP 436 - Network Upgrade (patch): Arrowhead 6.3.1 for further information.
Full Changelog: ARROWHEAD-6.3.0...ARROWHEAD-6.3.1
Arrowhead 6.3.1 Milestone: https://github.com/rsksmart/rskj/milestone/44
Reproducible Build
SHA256 (see Reproducible Build guide for further details):
27f088e5c7535974203bc77711a1e9bbaa258cd7e5d69cd368d8ca5529b38115 rskj-core-6.3.1-ARROWHEAD-all.jar
RSK Arrowhead Release 6.3.0
Summary
This update mainly focuses on improving Ethereum compatibility at the JSON-RPC interface and enhancing the node's performance.
Although this upgrade is not mandatory, we always recommend that users upgrade their nodes to the latest version available.
IMPORTANT: this release does not solve the PowPeg issue described in the June 24th Outage Incident Report. The Core Development team is working on a fix that will soon be released.
What's New in RSKj 6.3.0
A non-comprehensive list of changes included in this version is:
- Added the
tofield in JSON-RPC trace method responses by @rmoreliovlabs in #2431 - Updated the
getCodemethod so it does not make a copy of the underlying array by @rmoreliovlabs in #2365 - Introduced logback level enhancements by @Vovchyk in #2415
Full Changelog: ARROWHEAD-6.2.0...ARROWHEAD-6.3.0
Arrowhead 6.3.0 Milestone: https://github.com/rsksmart/rskj/milestone/43
Reproducible Build
SHA256 (see Reproducible Build guide for further details):
136ce6e5f55da6346ce716484ff0a49c8f5ef5c00142e124f811bc49e9b25217 rskj-core-6.3.0-ARROWHEAD-all.jar