Contents
This document explains the contents of the release codenamed Barnard. It is split in 2 sections:
- the features list containing detailed insights of the feature along with the external impact and the relevant
pull requests list - the smaller features and fixes area contains the one-pull request small features or fixes along with the
external impact details
This documentation is relevant for the rc/barnard
branch.
Features
1. Governance updates #6490
This pull request introduces several enhancements and refactors to the governance smart contract:
- It adds stricter voting period validations, introduces a new mechanism for tracking and clearing ended proposals and user votes, and implements support for a new user vote tracking structure (V2) with backward compatibility for V1.
- Additional improvements include enhanced gas management, configurable voting delay, and more precise handling of proposal closure and results computation.
- Some redundant or outdated methods (like the old user vote history view) are removed, and formatting/percentage calculations are improved for accuracy and clarity.
It improves the governance smart contract by:
- tightening voting rules, adding better tracking and cleanup for proposals and user votes
- supporting a new vote tracking format (V2) while keeping V1 compatibility.
- improves gas use, allows voting delays, and refines how proposals are closed and results calculated.
- Outdated methods are removed, and formatting and percentage handling are more accurate.
Impact:
- Configuration changes:
- There are two new enable epoch definitions for this feature, called
GovernanceDisableProposeEnableEpoch
andGovernanceFixesEnableEpoch
- There are two new enable epoch definitions for this feature, called
- No Node CLI arguments changes
- No Node HTTP API endpoints changes
Relevant PRs:
- #5857 - Accept multiple delegateVoting
- #5877 - MaxVotingDelayPeriodInEpochs
- #5872 - Add gasUsage for changeConfig
- #5922 - Add clean method
- #6496 - Add cancel method before voting start
- #6868 - Float64 conversion issue fix
2. Accounts storage iterator #6547
This feature enables retrieval of tokens from a data trie in a sequential order, with the possibility of continuing from a checkpoint if the data trie has lots of leaves, thus iterating thorough all the leaves in multiple accesses.
Impact:
- No configuration changes
- No Node CLI arguments changes
- New node API endpoint was added,
/address/iterate-keys
Relevant PRs:
3. Change penalise gas #6264
This feature brings a configurable maximum higher factor, modifying it from 10 to 2, so the penalization would apply starting from lower gas values provided.
Impact:
economics.toml
has a new entry for theFeeSettings
calledMaxGasHigherFactorAccepted
that is now set to 2. Previously, this was a constant set to the value of 10.- No Node CLI arguments changes
- No Node HTTP API endpoints changes
Smaller features or fixes
- #6511 - Update compiler to go 1.23
- #6932 - VM reserved functions activation flag integration [integrates mx-chain-vm-go #913]
- #6793 - Automatic activation of nodes disabled
- #6548 - New epoch start blockchain hooks
- #6893 - Add get ESDT token type vm hook [integrates mx-chain-vm-go #909]
- #6852 - Integrate transfer and execute with return error [integrates mx-chain-vm-go #907]
- #6791 - VM integration for backtransfers improvements [integrates mx-chain-vm-go #899]
- #6774 - vm integration for get all transfers value hook, get code hash hook and internal errors masking [integrates mx-chain-vm-go #895, #897, #898]
- #6327 - Check only dbs that are older than the given epoch
- #6518 - Optimize GitHub workflows
- #6519 - Optimize GitHub workflows
- #6612 - Heartbeats chain simulator
- #6997 - Fix epoch start trigger missing prev header