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.
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/nodekeybefore 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_subscribeRPC 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
NoArchiveErrorcheck before sending block notificationsUpdated Tosca dependency
e44b0188 – Update Tosca dependency
00c1f2af – Synchronize cached block hash access (#209)
124dc66e – Add
NoArchiveErrorcheck 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_callsimulation to GETH for large code handling in state overrideFixed 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
NoBaseFeeVM 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
SetStorageon Carmen adapterAllowed profiler/tracer stop calls even if never started
ecc88ecd – Fix version commit/date (#15)
2340cc37 – Accept profiler/tracer stop calls (#17)
325fb5ea – Implement
SetStorageon 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
getAccountRPC methodImproved finalized/safe block tag handling
Reduced event payload fetching during streaming
Minor bug fixes
19dc2691 – Remove
devfrom 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

