Hey folks! The Banff 9 Update (v.1.9.9) has just been released!
Main focuses of this release are the removal of the go-plugin, C-Chain State Sync Default*, and the enablement of the EVM JS TracerDisclaimer on C-Chain State Sync:
If you are not interested in state sync, you will need to make sure you specify state-sync-enabled:false
. Nodes should not start state syncing if it has the contents of the previous block but are something to be aware of. This version is backwards to v.1.9.0. The update is optional but encouragwed.
Here is a copy of the full release notes: This version is backwards compatible to v1.9.0. It is optional but encouraged. The supported plugin version is 23
.
Note: The --whitelisted-subnets
flag was deprecated in v1.9.6
. This is the last release in which it will be supported. Use --track-subnets
instead.
Monitoring
- Added warning when the P2P server IP is private
- Added warning when the HTTP server IP is potentially publicly reachable
- Removed
merkledb.trieView#calculateIDs
tracing when no recalculation is needed
Databases
- Capped the number of goroutines that
merkledb.trieView#calculateIDsConcurrent
will create - Removed
nodb
package - Refactored
Batch
implementations to share common code - Added
Batch.Replay
invariant tests - Converted to use
require
in alldatabase
interface tests
Cryptography
- Moved the
secp256k1
implementations to a newsecp256k1
package out of thecrypto
package - Added
rfc6979
compliance tests to thesecp256k1
signing implementation - Removed unused cryptography implementations
ed25519
,rsa
, andrsapss
- Removed unnecessary cryptography interfaces
crypto.Factory
,crypto.RecoverableFactory
,crypto.PublicKey
, andcrypto.PrivateKey
- Added verification when parsing
secp256k1
public keys to ensure usage of the compressed format
API
- Removed delegators from
platform.getCurrentValidators
unless a singlenodeID
is requested - Added
delegatorCount
anddelegatorWeight
to the validators returned byplatform.getCurrentValidators
Documentation
- Improved documentation on the
block.WithVerifyContext
interface - Fixed
--public-ip
and--public-ip-resolution-service
CLI flag descriptions - Updated
README.md
to explicitly referenceSECURITY.md
Coreth
- Enabled state sync by default when syncing from an empty database
- Increased block gas limit to 15M for
Cortina
Network Upgrade - Added back file tracer endpoint
- Added back JS tracer
Miscellaneous
- Added
allowedNodes
to the subnet config forvalidatorOnly
subnets - Removed the
hashicorp/go-plugin
dependency to improve plugin flexibility - Replaced specialized
bag
implementations with genericbag
implementations - Added
mempool
package to theavm
- Added
chain.State#IsProcessing
to simplify integration withblock.WithVerifyContext
- Added
StateSyncMinVersion
tosync.ClientConfig
- Added validity checks for
InitialStakeDuration
in a custom network genesis - Removed unnecessary reflect call when marshalling an empty slice
Cleanup
- Renamed
teleporter
package towarp
- Replaced
bool
flags in P-chain state diffs with anenum
- Refactored subnet configs to more closely align between the primary network and subnets
- Simplified the
utxo.Spender
interface - Removed unused field
common.Config#Validators