Releases: ava-labs/subnet-evm
v0.7.0
This release focuses on Etna version updates and PebbleDB performance improvements.
Compatibility
The plugin version is unchanged at 38 and is compatible with AvalancheGo version v1.12.0/v12.0-fuji.
Subnet-EVM v0.6.12 and v0.7.0 versions are both compatible with AvalancheGo Etna version (v1.12.0).
Etna/Cancun Activation
Etna activation is currently set for 12 PM ET (5 PM UTC) on Monday, December 16th, 2024 on Mainnet.
Etna will active the Cancun network upgrade in EVM. Following EIPs will be activated with Etna/Cancun:
- EIP-4844: BLOBHASH opcode
- EIP-7516: BLOBBASEFEE opcode
- EIP-1153: Transient storage
- EIP-5656: MCOPY opcode
- EIP-6780: SELFDESTRUCT only in same transaction
Note blob transactions from EIP-4844 are excluded and blocks containing them will still be considered invalid.
More info can be found in ACP-131.
Updated
- Changed default PebbleDB write option from
Sync
toNoSync
- Bumped AvalancheGo dependency version to v1.12.0
Fixed
- Fixed Standalone DB close on shutdown.
What's Changed
- specify arm64 version in goreleaser by @darioush in #1392
- bump to latest avago by @ceyonur in #1394
- chore: fix problematic const name and some typos in comment by @mountcount in #1400
- chore: fix some function names in interface comment by @chuangjinglu in #1397
- bump avago to v1.12.0 by @ceyonur in #1402
- close database on shutdown by @ceyonur in #1403
- bump versions by @ceyonur in #1406
New Contributors
- @mountcount made their first contribution in #1400
- @chuangjinglu made their first contribution in #1397
Full Changelog: v0.6.12...v0.7.0
v0.6.12
This release focuses on Uptime Tracking and Etna compatibility.
Compatibility
The plugin version is changed at 38 and is compatible with AvalancheGo versions v1.11.13 and v1.12.0-fuji.
This version (v0.6.12) can be used for both new AvalancheGo v1.11.13 release and v1.12.0-fuji Pre-release. Backward compatibility changes based on the AvalancheGo version accompanying this version.
For AvalancheGo-v1.11.x versions, Subnet-EVM v0.6.12 is backwards compatible to v0.6.0 and it is optional.
For AvalancheGo-v1.12.x (including v1.12.0-fuji), Etna activation introduces non-backward compatible changes.
Updates
- Refactored the warp backend and implemented the ACP-118 handler to increase the compatibility with relayers and VMs
- Added
acceptedBlockDB
,metadataDB
,warpDB
,validatorsDB
inspections forinspect-database
flag - Added Uptime Tracking to Subnet-EVM that can track Subnet/L1 validators and their uptimes
- Added new
ValidatorUptime
warp message type and verification to verify and sign requested validator uptimes
APIs
- Added new
validators
handler (ext/bc/<blockchainID>/validators
) andvalidators.getCurrentValidators
API method
Configs
- Added
validators-api-enabled
to chain config for enabling/disabling the Validators API handler. Default istrue
Fixes
- Fixed the VersionDB for MetadataDB and AcceptedBlockDB (PR #1375)
- Removed the unused shared memory and fixed persisting the VersionDB for Standalone DBs (PR #1383)
Etna/Cancun Activation
Etna activation is currently set only for Fuji at 11 AM ET (4 PM UTC) on Monday, November 25th, 2024 on the Fuji testnet. Etna will active the Cancun network upgrade in EVM. Following EIPs will be activated with Etna/Cancun:
- EIP-4844: BLOBHASH opcode
- EIP-7516: BLOBBASEFEE opcode
- EIP-1153: Transient storage
- EIP-5656: MCOPY opcode
- EIP-6780: SELFDESTRUCT only in same transaction
Note blob transactions from EIP-4844 are excluded and blocks containing them will still be considered invalid.
More info can be found in ACP-131.
What's Changed
- Use acp 118 handler by @ceyonur in #1359
- Validator state by @ceyonur in #1371
- tests: fix use of require.EventuallyWithT by @darioush in #1376
- use verdb in accepted and metadb by @ceyonur in #1375
- Pausable uptime manager by @ceyonur in #1372
- move interfaces to separate pkgs by @ceyonur in #1379
- add released.md and template by @ceyonur in #1373
- remove shared memory from precompiles and accept by @ceyonur in #1383
- Uptime tracking by @ceyonur in #1263
- Uptime tracking api by @ceyonur in #1374
- Sign validator uptime warp msg by @ceyonur in #1367
- Use startimestamp by @ceyonur in #1386
- add db inspect by @ceyonur in #1382
- Refactor uptime tracking by @ceyonur in #1388
- rename sov to l1validator by @ceyonur in #1387
- bump avago to v1.11.13-rc.1 by @ceyonur in #1389
Full Changelog: v0.6.11...v0.6.12
v0.6.11
This release focuses on Standalone DB and database configs.
This version is backwards compatible to v0.6.0. It is optional, but encouraged.
The plugin version is unchanged at 37 and is compatible with AvalancheGo versions v1.11.12.
Updates
- Added Standalone DB creation in chain data directory (
~/.avalanchego/chainData/{chain-ID}/db/
). Subnet-EVM will create seperate databases for chains by default if there is no accepted blocks previously (#1354) - Refactored Warp Backend to support new payload types (#1292)
- Refactored TrieDB reference root configuration (#1366)
- Bumped AvalancheGo dependency to v1.11.12
- Bumped minimum Golang version to v1.22.8
Configs
- Added following new database options:
"use-standalone-database"
(bool
): If true it enables creation of standalone database. If false it uses the GRPC Database provided by AvalancheGo. Default is nil and creates the standalone database only if there is no accepted block in the AvalancheGo database (node has not accepted any blocks for this chain)"database-type"
(string
): Specifies the type of database to use. Must be one ofpebbledb
,leveldb
ormemdb
. memdb is an in-memory, non-persisted database. Default ispebbledb
"database-config-file"
(string
): Path to the database config file. Config file is changed for every database type. See docs for available configs per database type. Ignored if --config-file-content is specified"database-config-file-content"
(string
): As an alternative todatabase-config-file
, it allows specifying base64 encoded database config content"database-path"
(string
): Specifies the directory to which the standalone database is persisted. Defaults to "$HOME/.avalanchego/chainData/{chainID}
""database-read-only"
(bool
) : Specifies if the standalone database should be a read-only type. Defaults to false
Fixes
- Fixed Eth upgrade mapping with Avalanche upgrades in genesis (#1356)
- Fixed transaction size tracking in worker environment (#1358)
- Fixed a rare case of VM's shutting down ends up panicking in RPC server (#1361)
What's Changed
- [testing] Fix image build validation for unmerged avalanchego commit by @marun in #1349
- windows ci: remove cr before comparing to known_flakes.txt by @darioush in #1319
- fix ci: linux ci doesn't have dos2unix by @darioush in #1352
- set timestamps in chain config by @darioush in #1353
- fix setting eth upgrades in genesis storedcfg by @darioush in #1356
- uptime: update avalanchego dep branch by @ceyonur in #1348
- track env size by @ceyonur in #1358
- stop RPC servers in shutdown by @darioush in #1361
- Types and refactoring for ACP-77 ValidatorUptime messages by @darioush in #1292
- remove memsize by @darioush in #1365
- fix chainID in TestWaitDeployedCornerCases by @darioush in #1364
- use triedb config for reference root by @darioush in #1366
- Fix stale link by @yacovm in #1368
- add standalone dbs and configs by @ceyonur in #1354
- bump versions by @ceyonur in #1370
New Contributors
Full Changelog: v0.6.10...v0.6.11
v0.6.10
Subnet-EVM v0.6.10 includes a bug fix in CalcBaseFee
that will only impact subnets with extreme dynamic fee configurations. All subnets are strongly advised to update as a matter of caution, but should not see any issues if they are not actively changing their dynamic fee configuration and have not seen an issue already.
This version is backwards compatible to v0.6.0.
The plugin version is unchanged at 37 and is compatible with AvalancheGo versions v1.11.11.
Fix
- Fixes a bug in block building caused by #1342
What's Changed
- nit: peer/network.go: remove refs to cross chain in comments by @darioush in #1333
- update known_flakes.txt by @darioush in #1332
- Coreth nits by @ceyonur in #1336
- params: add BerlinBlock, LondonBlock, ShanghaiTime by @darioush in #1337
- fix modifying common.Big1 by @ceyonur in #1343
- improve readability by removing extra var by @ceyonur in #1345
- prepare for release v0.6.10 by @ceyonur in #1346
Full Changelog: v0.6.9...v0.6.10
v0.6.9
This version is backwards compatible to v0.6.0. It is optional, but encouraged.
The plugin version is changed at 37 and is compatible with AvalancheGo versions v1.11.11.
Updates
- Updates AvalancheGo version to v1.11.11
- Updated go-ethereum dependency and upstream to v1.13.14
- Added
requirePrimaryNetworkSigners
flag to warp precompile config - Added p2p handlers for ACP-118 requests
- Removed cross-chain handlers
Fixes
- Fixed invalid block cache for rejected blocks
- Fixed gas price oracle's min price config by inheriting it from tx pool
What's Changed
- add p2p handler for acp-118 sig request by @darioush in #1260
- cleanup: use p2p.TxGossipHandlerID by @darioush in #1266
- fix TestMempoolEthTxsAppGossipHandling by @darioush in #1273
- nits w/ upstream by @darioush in #1272
- Bump avalanchego to master by @darioush in #1268
- rename e upgrade to etna by @ceyonur in #1276
- chore: fix some function names by @highcloudwind in #1270
- fix docker build by @darioush in #1277
- Allow VM_ID as input to docker publish job by @darioush in #1278
- Params nits by @ceyonur in #1280
- remove test tags by @ceyonur in #1282
- set the gpo min price in accordance to the txpool by @darioush in #1281
- remove cross-chain handlers by @darioush in #1286
- handle accepted/pending tx subs separately by @darioush in #1288
- nit: reduce diff with upstream by @darioush in #1290
- nit: resolve TODO in api_test.go by @darioush in #1289
- use ctx network upgrades by @ceyonur in #1291
- [antithesis] Add initial test setup by @marun in #1166
- add NO_RACE so uts can run faster locally by @darioush in #1294
- [antithesis] Add schedule for test setup by @marun in #1297
- warp: add "requirePrimaryNetworkSigners" precompile config by @darioush in #1232
- [tmpnet] Update to use new monitoring urls (*-poc) by @marun in #1298
- ci: fix NO_RACE + CI re-run on timeouts or fails of known flakes by @darioush in #1304
- Add observed flakes by @darioush in #1312
- build_docker_image.sh: use AVALANCHEGO_NODE_IMAGE by @darioush in #1313
- add team alias to codeowners by @darioush in #1303
- [ci] Validate image build by @marun in #1318
- Bump avago master by @darioush in #1316
- properly check err in ut by @darioush in #1324
- blockchain: Fix blockCache for rejected blocks by @darioush in #1326
- Code sync to go-ethereum v1.13.14 by @darioush in #1152
- Bump avago rc by @ceyonur in #1330
- add new line after timestamp hardforks by @ceyonur in #1331
New Contributors
- @highcloudwind made their first contribution in #1270
Full Changelog: v0.6.8...v0.6.9
v0.6.8
Updates
- Updated AvalancheGo library version to 1.11.10
- Removed block.Status
What's Changed
- [ci] Simplify configuration of monitoring for CI jobs by @marun in #1236
- Update avago 1.11.10 rc0 by @ceyonur in #1241
- Update to use default plugin dir ($HOME/.avalanchego/plugins) by @marun in #1245
- bump versions for 0.6.8 by @ceyonur in #1250
- fix readme avago entry by @ceyonur in #1251
- Revert build script change to allow specifying the full binary path by @marun in #1252
- use default path to build, remove symlinking by @ceyonur in #1256
Full Changelog: v0.6.7...v0.6.8
v0.6.7
Updates
- Updated minimum Golang version to 1.21.12
- Updated AvalancheGo library version to 1.11.9
- Truncated error data log in RPC
eth_call
method
Fixes
- Fixed and improved performance of
GetBlockIDAtHeight
by returningdatabase.ErrNotFound
in case of requested height > last accepted
What's Changed
- chore: script for creating per-file diffs against arbitrary geth commit by @ARR4N in #1212
- docker: add tag for commit hash by @darioush in #1222
- rpc: truncate call error data logs (#30028) by @ceyonur in #1225
- Subnet evm 0.6.7 by @ceyonur in #1229
New Contributors
Full Changelog: v0.6.6...v0.6.7
v0.6.6
This version is backwards compatible to v0.6.0. It is optional, but encouraged.
The plugin version is unchanged at 35 and is compatible with AvalancheGo versions v1.11.3-v1.11.7.
API
eth_getActiveRulesAt
changed to showavalancheRules
,ethRules
, andprecompiles
at given timestamp (current header time if not specified).precompiles
now will show the precompile name, rather than the address.- Deprecated
eth_getActivatedPrecompilesAt
in favor ofeth_getActiveRulesAt
Updates
- Updated minimum Golang version to 1.21.11
- Updated AvalancheGo library version to 1.11.7
Fixes
- Fixed a case in state sync that leads to writing to a closed channel when a storage trie splits into segments.
What's Changed
- [testing] Remove dep on gomega by @marun in #1198
- resolve race in closing sync segments channel by @darioush in #1201
- update tsconfig & bump to 1.2.2 by @ceyonur in #1199
- Deprecate active precompiles by @ceyonur in #1186
- remove unused miner/ordering_ext.go by @darioush in #1203
- unneeded SetAllowUnfinalizedQueries by @darioush in #1204
- Add missed TestReorgReInsert to blockchain tests by @darioush in #1202
- Avago 1.11.7 by @ceyonur in #1206
- chore: make function comments match function names by @piguagua in #1209
New Contributors
Full Changelog: v0.6.5...v0.6.6
v0.6.5
This version is backwards compatible to v0.6.0. It is optional, but encouraged.
The plugin version is unchanged at 35 and is compatible with AvalancheGo versions v1.11.3-v1.11.6.
Updates
- Updated AvalancheGo version to v1.11.6
- AvalancheGo v1.11.6 overhauls metrics API and updated metric names, please see full change here
- Updated minimum go version to 1.21.10
- Synced and updated Geth version to v1.13.8
- Updated
contracts/
npm packages (full changelog here)
Fixes
- Fixed peer connectivity that impacts gossip
- Fixed non-working
transaction-history
flag - Fixed snapshot generation in bootstrapping
- Fixed missing
accessList
field in call args - Fixed an overflow in state sync ETA duration that shows negative results
What's Changed
- mark TestExpDecaySampleNanosecondRegression flaky by @darioush in #1163
- Mark ourself as connected (#543) by @ceyonur in #1172
- fix transaction history flag by @ceyonur in #1169
- Geth v1.13.8 by @darioush in #1146
- TestVMUpgrades: extend timeout and stop ticker by @darioush in #1177
- remember initial gasTip by @darioush in #1176
- nit: fix spacing in config printout by @darioush in #1182
- add missing overrides for api by @darioush in #1181
- Remove state iterator (unused) by @darioush in #1178
- remove durango comment by @ceyonur in #1184
- Bump versions by @ceyonur in #1185
- bump js dependencies by @ceyonur in #1193
- fix log ingestion in Datadog by @darioush in #1194
- chore: fix some function names by @welfuture in #1174
- add missing fields to "toCallArg" by @darioush in #1197
- Fix overflow in state sync eta by @darioush in #1195
New Contributors
- @welfuture made their first contribution in #1174
Full Changelog: v0.6.4...v0.6.5
v0.6.4
This version is backwards compatible to v0.6.0. It is optional, but encouraged.
The plugin version is unchanged at 35 and is compatible with AvalancheGo versions v1.11.3-v1.11.5.
APIs
- Added new
eth_getActiveRulesAt
internal-blockchain API.
Configs
- Deprecated
tx-lookup-limit
in favor oftransaction-history
Updates
- Updated AvalancheGo version to v1.11.5
- Updated minimum go version to 1.21.9
- Synced and updated Geth version to v1.13.2
- Introduced EUpgrade (Cancun), activated in local networks by default
Fixes
- Fixed transaction indexes are not being properly deleted in state sync
- Fixed
"local-txs-enabled"
flag being not respected in mempool - Removed CI requirements of access tokens in public forks, thus failing public PRs from forks
- Fix a race in snapshot abort/generate
What's Changed
ci
: Enable collection of logs and metrics by @marun in #1122- move network upgrade code to file by @ceyonur in #1136
- Remove cancellation for Send.*AppRequest messages by @StephenButtolph in #1142
- Fix docker push test by @ceyonur in #1138
- Use string literals rather than escaping strings by @StephenButtolph in #1143
ci
: Skip monitoring if secrets are not present by @marun in #1137- Bump go version by @ceyonur in #1148
- Attempt to fix conditional tmpnet monitoring by @marun in #1144
- chore: fix some comments by @JohnEndson in #1134
- all changes from v.13.2-x branch by @darioush in #1141
- Tx indexing fix by @ceyonur in #1131
- snapshot: fix race in abort/generate by @darioush in #1155
- Geth sync nits by @ceyonur in #1157
- skip pkg cache and update version by @ceyonur in #1158
- respect nolocals-setting by @PutraLaksmana in #1159
- Fix mismatched method names in comments by @whosehang in #1160
- Coreth sync nits by @ceyonur in #1161
- E upgrade config by @ceyonur in #1135
- Add rules api by @ceyonur in #1162
- bump versions by @ceyonur in #1153
New Contributors
- @JohnEndson made their first contribution in #1134
- @PutraLaksmana made their first contribution in #1159
- @whosehang made their first contribution in #1160
Full Changelog: v0.6.3...v0.6.4