Version History

The following version history documents the Sonic client (the node software that powers the Sonic mainnet) including its virtual machine, database storage, and consensus mechanism.

Version
End of Development
Release Date
Change Logs
Commits

v2.1.6

Mar 12, 2026

Mar 12, 2026

  • Geth dependency updated to v1.16.9. Integrated security patches for CVE-2026-26314 and CVE-2026-26315.

  • Important: Recommend recreating p2p node key after install by removing <datadir>/p2p/nodekey before restarting.

    • Note: this changes the p2p node ID, which may break static peering setups.

  • 26dd110c – Update version to v2.1.6 (#714)

  • 56146a6a – Geth dependency upgrade release 2.1.6 (#666)

  • 8a0a07c4 – Update license (#651)

  • 6897a5f6 – Update version to v2.1.6-rc.1 (#641)

v2.1.5

Feb 5, 2026

Feb 5, 2026

  • Added optional event throttling for validator nodes with low stake to reduce network resource usage.

  • Extended eth_subscribe RPC to optionally return full transaction details.

  • 65a5ef18 – Update version to v2.1.5 (#640)

  • 4c1ac99a – Rename event throttler flag (#633)

  • 5b8f9d08 – Add metrics to monitor skipping event emission (#629)

  • 65a11bbd – Integrate event throttler (#626)

  • c5f7b2ca – Add event throttler simulation (#623)

  • 69402690 – Add event throttling object (#622)

  • 58d24883 – Extend event throttler attendance testing (#621)

  • 113be16f – Event emission throttling: Introduce attendance list (#620)

  • fce3382a – Add dominant set computation for event throttling (#617)

  • c3f8ce88 – Update event throttler config (#618)

  • 4dba6a77 – Move emitter config to its own package (#615)

  • 63ae97b1 – Event throttling config (#610)

  • 41764525 – Add integration test for network progress with validator stake changes (#587)

  • cdc44bef – Add option to define validator stakes in integration testing (#568)

  • c33999e4 – eth_subscribe: Add option to return full transactions (#589) (#613)

  • 0b0ed7d8 – Update version to v2.1.5-rc.1 development ready (#606)

v2.1.4

Nov 25, 2025

Nov 25, 2025

  • Fix log timestamps serialization (RPC).

  • Fix consistency of log transaction indices when querying logs using block hash (RPC).

  • Transaction Pool rejects transactions from non-EOA accounts.

  • d71420e9 – Update version to v2.1.4 (#602)

  • 7b0077b2 – Add missing transaction indexing in log retrieval by hash (#578)

  • 413c9133 – Add checks to txpool (#581)

  • b4f7090f – Fix logs blocktimestamp JSON encoding (#573)

  • f4ae9adf – Update version to v2.1.4-rc.1 development ready (#580)

v2.1.3

Nov 5, 2025

Nov 5, 2025

  • Reduce overhead from handling sponsored transactions in the transaction pool under heavy load.

  • Reuse transaction sender to reduce signature overheads.

  • Mitigation for P2P events broadcasting lag stalling block processing.

  • da095a25 – Update version to v2.1.3 (#579)

  • 50ae700b – Dockerize Jenkins pipeline (#459) (#575)

  • 2d8a2f1b – Increase default EventsBufferLimit to avoid sync lags (#555)

  • 6a50a595 – Signers cleanup (#550)

  • ce5321bc – Cache results of isSubsidised (#543)

  • 657d0441 – Update version to v2.1.3-rc.1 development ready (#548)

v2.1.2

Oct 8, 2025

Oct 8, 2025

  • Added Gas Subsidy support.

  • Fixed backward compatibility of gas limit updates.

  • 7f4da1db – Update version to v2.1.2 (#547)

  • 3b848aa5 – Fix backward compatibility of gas limit updates (#522)

  • 163cacd0 – Add integration test: Subsidies funds deducted after sponsored tx (#535)

  • 06162836 – Filter transactions with lost sponsorship in reorg (#534)

  • 308646cb – Integrate getGasConfig call into Subsidies Registry contract (#523)

  • 471fd56c – Validate sponsored transactions when added to transaction pool (#524)

  • 0118bafe – Enforce inclusion of sponsored transactions into Pending set (#518)

  • f55eb775 – Deploy gas subsidies registry contract when upgrades enabled (#517)

  • 6b3ce61c – Fix TransactionIndices in receipts if transactions introduced by state processor (#516)

  • a96cc9f7 – Add support for sponsored transactions (#514)

  • 7d314e26 – Add GasSubsidies flag to tx_pool transaction validation (#515)

  • 56fd50c5 – Introduce transaction processing context (#513)

  • 66391d4d – Add fee overflow check to IsCovered utility (#512)

  • 3e437b31 – Update subsidies registry interface (#507)

  • f8a26e11 – Factor out transaction processing from StateProcessor (#497)

  • 6c28c32d – Introduce feature flag for gas subsidies (#481)

  • 77d5e2be – Upgrade SFC version used in fake nets (#482)

v2.1.1

Sep 23, 2025

Sep 23, 2025

  • Fix empty logs bloom (RPC). Add CreateTransaction helper function.

  • Set chain ID for internal transactions in RPC.

  • Remove deprecated default command arguments.

  • Improve unit and integration tests.

  • 4f798e29 – Update version to v2.1.1

  • 0610ae03 – Increment release candidate version (#471)

  • 98616c44 – RPC api: Fix empty logs bloom (#464)

  • 3b8ea018 – Wait for processed transaction to leave tx pool (#463)

  • b9bc7173 – Add CreateTransaction helper function (#461)

  • 9a6fb277 – Set chain ID for internal transaction in RPC (#454)

  • ec813b69 – Remove deprecated default command arguments (#442)

  • b2734b74 – Migrate gossip handler fuzzer (#441)

  • a26e5715 – Single proposer pkg (#436)

  • c48e3469 – Add integration test for RPC calls at different block heights (#428)

  • cb174be7 – Update version to v2.1.1-rc.1 (#450)

v2.1.0

Aug 20, 2025

Aug 20, 2025

  • Ethereum Prague upgrade support: EIP-7702 account abstraction, EIP-2537 BLS precompiles, EIP-2935 historic block hashes, EIP-7623 increased calldata gas cost.

  • Input validation for network rule updates. Updated go-ethereum to geth 1.16.

  • Legacy code quality improvements.

  • Protocol security enhancements.

  • Bug fixes.

  • 8c95f202 – Update version on v2.1 branch to v2.1.0 (#447)

  • 9ba90a92 – Add integration test for type 4 transaction (set EOA code, EIP-7702) (#72)

  • 1119b125 – Implement EIP-7702 support in RPC calls (#81)

  • c37a7dc9 – Update transaction validation for Prague revision (#56)

  • 7ce78679 – SetCodeTx: changes to transaction pool (#74)

  • 83895ddc – Modify RPC callbacks to execute EIP-2935 History Storage Contract (#146)

  • bc15eca9 – EIP-2935: Implement processor routine to call history storage contract (#133)

  • 9d020e70 – Add feature changes and test for EIP-7623 (#110)

  • 4e353186 – Add implementation of a BLS library (#29)

  • 93ee70c3 – Update ChainConfig to enable Prague fork (#44)

  • f523066a – Update geth dependency to version 1.16.0 (#349)

  • 73f8bf9a – Update geth dependency to 1.15.11 (#321)

  • b263f56d – Network rule validation (#142)

  • 9aa56547 – Integrate single-proposer protocol in emitter and block processor (#232)

  • 6e812476 – Introduce brio hardfork (#292)

  • f9d6754b – Remove FeatureSet in favour of Upgrades (#238)

  • 07ee5460 – Add allegro hard-fork flag (#20)

  • 484ae8ce – Add license to Sonic files (#334)

  • 47639163 – Replace outdated Fantom mentions by Sonic (#327)

  • ba4f4a93 – Rename Opera mentions to Sonic (#351)

v2.0.7

June 26, 2025

TBA

• Improved error handling in debug_traceBlock — now uses error field and supports empty blob cases

  • 252c9ee0 – Fix error handling in debug_traceBlock (#307)

v2.0.6

May 6, 2025

May 26, 2025

  • Synchronized access to cached block hashes to prevent rare incorrect RPC returns

  • Added NoArchiveError check before sending block notifications

  • Updated Tosca dependency

  • e44b0188 – Update Tosca dependency

  • 00c1f2af – Synchronize cached block hash access (#209)

  • 124dc66e – Add NoArchiveError check for notifications (#214)

  • a4e31329 – Update to v2.0.6-dev (#217)

  • 4551d1fc – Prepare v2.0.5 release (#201)

v2.0.5

April 11, 2025

April 28, 2025

  • Verified archive block height before sending subscriber notifications

  • Switched eth_call simulation to GETH for large code handling in state override

  • Fixed test infrastructure and updated Go to v1.24

  • ea9e3631 – Add missing dependency

  • 2d9284a8 – Use GETH for eth_call with large code (#189)

  • 135b69cc – Fix BlockInArchiveTest infra & Go 1.24

  • e95926e4 – Update indirect dependencies (#121)

  • e3f7b4c8 – Check archive height before notifications (#149)

  • 48cdac00 – Update to v2.0.5-dev (#171)

v2.0.4

March 15, 2025

March 26, 2025

  • Enabled transaction replay on empty blocks

  • Added block overrides for RPC calls

  • Updated NoBaseFee VM parameter for transaction replay

  • #26 – Replay transactions on empty blocks

  • #30 – Add block overrides for RPC

  • #104 – Update NoBaseFee VM config

v2.0.3

Feb 6, 2025

Feb 19, 2025

  • Updated go-ethereum dependency to add on-curve check for unmarshaled public keys

  • Improved intrinsic gas error detection

  • Added SetStorage on Carmen adapter

  • Allowed profiler/tracer stop calls even if never started

  • ecc88ecd – Fix version commit/date (#15)

  • 2340cc37 – Accept profiler/tracer stop calls (#17)

  • 325fb5ea – Implement SetStorage on Carmen adapter (#2)

  • 8cc06953 – Update go-ethereum for on-curve check (#5)

  • f9eb911a – Fix intrinsic gas error recognition (#4)

  • 46908a5c – Update module name to 0xsoniclabs/sonic (#1)

v2.0.2

Jan 23, 2025

Jan 31, 2025

  • Enhanced RPC gas capping

  • Added getAccount RPC method

  • Improved finalized/safe block tag handling

  • Reduced event payload fetching during streaming

  • Minor bug fixes

  • 19dc2691 – Remove dev from meta version (#394)

  • 3f86ba1c – RPC gas capping (#391)

  • b9545c63 – Implement getAccount RPC (#370)

  • 1a233d03 – Update version to v2.0.2 (#387)

  • 79519713 – Fix error propagation (#389)

  • cda79533 – Handle finalized/safe block tags (#388)

  • 0e1599a6 – Skip event payload fetch in streaming (#372)

  • 7265d537 – Use data from proof (#371)

v2.0.1

-

Dec 2, 2024

-

-

v2.0.0

-

Nov 29, 2024

-

-

Last updated