Skip to content

Releases: multiversx/mx-chain-go

v1.0.127

08 Jun 17:18
07a688e
Compare
Choose a tag to compare

Release v1.0.127 is out 🚀

What's new:

  • #1868 Added port range capability for the node. In p2p.toml file, Port option will now accept single values, like "13013", "0" or a range like "37373-38383" that will tell the node to choose randomly a value in the [37373-38383] interval.
  • #1872 Made metrics related to nonce and round at epoch start persistent.
  • #1881 Added a BLS single signing and verification benchmark in order to measure the time a BLS signature is composed/verified on multiple platforms.
  • #1861 Antiflood: added an out-of-specs flood preventer that will protect the node against extremely high loads; added antiflood debugger to display antiflood events.

Bug fixes:

  • #1878 Added a seednode ulimit protection to avoid the situation when a seednode can not accept new connections because it has a value too low for the maximum allowed files to be open (ulimit value).
  • #1870 Added an extra message ID cacher in network messenger to avoid a p2p message re-broadcast issue.
  • #1861 Replaced blackListHandler with peerBlackListHandler in antiflood package and fixed a bug related to the fact that a string parameter got different represantations of the same value.

Note: This release should start with a new DB

v1.0.126

05 Jun 19:35
6757634
Compare
Choose a tag to compare

Release v1.0.126 is out 🚀

What's new:

  • #1864 Synchronization of SC data tries is now done in parallel as to speed up the sync process. Added unregister functionality on cachers. Trie nodes hashes are now accumulated before each request in order to compact the request messages as much as possible.

Bug fixes:

  • #1876 Fix the panic that occurred when trying to get a transaction which is in pool using the REST API route /transaction/:txhash caused by a wrong cast to []byte.

v1.0.125

04 Jun 11:12
2164f5f
Compare
Choose a tag to compare

Release v1.0.125 is out 🚀

What's new:

  • #1855 Added erd_latest_tag_software_version metric to the network config endpoint.
  • #1818 Removed the following p2p components: libp2pConectionMonitor, kadDhtDiscoverer, hostDecorator, prioBitsSharder, simplePrioBitsSharder and 2 associated integration tests.
  • #1859 Added time measurements and alarms (log.Warn) for put in storer actions (saveBody, saveHeader, saveMetaHeader) from CommitBlock method, if these actions take more than 1 second.
  • #1774 Added transaction and transaction status API routes:
    • /transaction/:txhash - will return the transaction in json format (if found)
    • /transaction/:txhash/status - will return the transaction's status ("received", "executed" or "unknown")
    • /address/:address/key/:key - will return the value for a given key for an account

Bug fixes:

  • #1860 Fixed recreate trie after shuffle out: tries components and the used trie DBs were created before the start in epoch process with the shardID from the genesisConfig. In case of shuffle out, the new database was created with the new shardID, but in case of restarts the opened database was generated with the genesis shardID, thus no tries from new shard were saved there. The node would do an infinite loop trying to recreate tries.

Note: This release should start with a new DB

v1.0.124

02 Jun 21:08
8d4de66
Compare
Choose a tag to compare

Release v1.0.124 is out 🚀

What's new:

  • #1850 Added "jailed" nodes list in order to display these in the explorer.
  • #1847 Added nonce metrics in network status end point: erd_nonce_at_epoch_start - the nonce of the epoch start block and erd_nonces_passed_in_current_epoch - how many nonces have passed from the epoch start until current time.

Bug fixes:

  • #1848 Fixed consensus group is null message, removed unused code.
  • #1849 Fixed public key not found error message in process and consensus packages: when the node gets shuffled out there is still some time it stays in the previous assigned shard. During this period there is an inconsistency between the shard coordinator shard id (old shardid) and the nodes coordinator shard id (new shardid) which causes the indexing of round/block info to signal an error when trying to find the consensus group nodes indexes computed according to the shard coordinator shard ID among the node coordinator nodes on the nodes coordinator reported shard.
  • #1852 Fixed initialization of the p2pBlackListProcessor with the correct time span, fixed timecache sweeping process by iterating all elements because some of them might have different span values. The timacache implementation can double-add now, replacing the existing value, changed some logger identifiers for libp2p's external libraries
  • #1846 changed the log.Warn that stated there is no view for the current node.

v1.0.123

01 Jun 21:22
28c3858
Compare
Choose a tag to compare

Release v1.0.123 is out 🚀

What's new:

  • #1814 Separate cache implementations for transaction pool, split in (source is me) rather than (destination is me)
  • #1838 Improved un-useful / not needed requests for cross headers when pool is empty or difference between last cross notarized header round and current chronology round is too close.
  • #1819 Implemented and integrated LRU ache with max size in bytes.

Bug fixes:

  • #1830 Fixed whitelist problem: fixed order of request item -> whitelist item to whitelist item -> request item in requestHandler component; fixed reject problem of cross mini blocks from shards to meta; Added protection in shards, so proposers will avoid creating blocks with transactions if metachain stopped notarizing their shard.
  • #1837 Fixed bootstrap from storage edge case for shard nodes, when between two restarts no block is committed which would contain at least one self shard block notarized in metablocks included.
  • #1834 Fixing validator info get from trie after restart, validator accounts trie is not yet recreated - the information is not ready yet.
  • #1832 Computation of the consensus group for the start of epoch block was computed with the current epoch not the previous epoch.
  • #1833 Fixed case of stake-stake-claim with nodePrice is equal or greater than nodePrice.
  • #1842 Fixed some inconsistent counters for senders and transactions within the internal structures of the transactions pool. Inconsistencies could occur in case of high concurrency and / or concurrent removals (eviction plus removal due to commit / finalize).
  • #1835 Added more prints & info when the "accountWrapper is nil" error occurs.
  • #1839 Added flood preventing adapting values capability against consensus size.

Note: This release should start with a new DB

v1.0.122

30 May 21:47
Compare
Choose a tag to compare

Testing the libp2p libraries containing pubsub v0.2.6 - from scratch

Note: This release should start with a new DB

v1.0.121

29 May 19:37
Compare
Choose a tag to compare

Testing the libp2p libraries containing pubsub v0.2.6

v1.0.120

29 May 15:08
e0a6701
Compare
Choose a tag to compare

Release v1.0.120 is out 🚀

What's new:

  • #1767 (on top of #1716) A sender can have no more than k transactions in the pool. The transactions can not exceed s bytes in total. These limits are checked and enforced at transaction insertion (addition) time.
  • #1796 Removed the /node/epoch endopoint, moved the metrics to the /network/status/{shard} endpoint.
  • #1800 Implemented a whitelisted cross mini blocks tracker mechanism which would whitelist cross transactions.
  • #1811 Updated libp2p libraries in order to use the newest pubsub implementation that follows the gossip v1.1 protocol.
  • #1802 TxPool refactor: score computation logic extracted to allow for easier change / algorithm replacements,
    bucketSortedMap does not call computeScore anymore, but receives the score instead, removed deprecated cache implementation.
  • #1801 Antiflood refactor: removed the global network quota, added a new "slow reacting" flood preventer, added new "reserved percentage" when receiving data, added a long test to model and benchmark a fully workable antiflood component, tweaked the parameters
  • #1795 Added a new field in smart contract result structure used to store more information if a smart contract call is not executed successfully.
  • #1815 Moved the pubKeyConverter instances inside core package.
  • #1807 Removed miniblocks requests in advance, added extra delay for broadcast between header and mini blocks + transactions.
  • #1746 Activate hardfork trigger that will call the export mechanism and then halt the node.
  • #1787 Made TPS benchmarks (note: relevant data only available for metachain nodes) persistent, made TPS benchmarks work even when elastic search is disabled.
  • #1799 Moved query from peerAccountsTrie from heartbeat to validatorStatistics, added cacheRefreshInterval for the validatorsProvider cache in config.

Bug fixes:

  • #1798 Fixed validator statistics is empty by querying the trie with the previous block's rootHash (lastMetaBlock) not two blocks (prevHeader) behind.
  • #1767 Fixes in tx pool cache: undo insertion order (first in map by hashes, then in map by senders), added double-checked locking when creating a txListForSender, use bytes.Equal(hash of a, hash of b) to compare transactions.
  • #1804 Fixed a bug that wrongfully marked for eviction a node when reduceNode() was called for a branch node, the cache for oldHashes and newHashes are now reset every time after a call to Commit() occurs.
  • #1806 Added one second delay before propagating the cross shard data to avoid missing the whitelisting.
  • #1803 Added unit test that proves the staking and delegation can be done from the same address.
  • #1808 Execute log.Trace() only if loglevel is LogTrace.
  • #1809 Removed logger file closing when the startNode function finished in order to capture the last error in the file. Logger file will close when the GC will try to clean-up the logger objects through a setFinalizer function.
  • #1813 Removed the initial broadcast of the cross shard transactions if the transaction were supposed to be broadcast by the node that was on the same shard as the senders.
  • #1812 Added supplemental check when processing BLS keys inside system smart contracts and in genesis processing. The checking is done against the key generator instances that can prove the provided byte arrays represent valid public keys or not.
  • #1787 Fixed a bug when fetching metrics from storage. The old implementation was based on JSON's property of treating all numbers from an interface{} as float64.
  • #1810 When recreating the main trie, journal entries should also be reset, when RevertToSnapshot(0) is called, recreate the main trie instead of reverting all journal entries.
  • #1821 Minor fixes in internal tests scripts: the scripts will generate settings for proxy application to connect to observers that are on metachain.

Note: This release should start with a new DB

v1.0.118

22 May 21:03
a20faf8
Compare
Choose a tag to compare

Release v1.0.118 is out 🚀

What's new:
nothing new? check the bug fixes below! 👇

Bug fixes:

  • #1784 Fix get node from storage on smart contract calls: added condition so that if old root hash and new root hash are the same, the root hash should not be marked for eviction.
  • #1790 For nodes that are in sync, computing the proposed blocks metrics is unnecessary and in some situations incorrect, so it needs to be ignored.
  • #1782 Fixed antiflood statistics, adjusted gas cost per node for auction operations, removed error in case of block reversal, adjusted gas cost for the unjail operation.
  • #1789 Fixed the possibility for reverts on validatorStatisticsRootHash by saving the "LastFinalizedRootHash" and when requesting statistics for the heartbeat, this roothash is used. Removed possibility with "eligible (waiting)"

Note: This release should start with a new DB

v1.0.117

21 May 20:57
6bf9931
Compare
Choose a tag to compare

Release v1.0.117 is out 🚀

What's new:

  • #1738 Header integrity component: moved the functionality into this new component which will handle the checking of the Chain ID and the Software Version specific to each block.
  • #1758 Integration of newest Arwen version that checks reserved storage keys.
  • #1772 Remove txs from pool after each commit: removed block body data (miniblocks and transaction) from pool, related to the last processed and committed block.
  • #1770 Modified REST API route /send-multiple to return also the transactions hashes.
  • #1780 Added protection for metachain when it is stuck because of some high load computation

Bug fixes:

  • #1759 Fixed an edge case that appeared in the following scenario: stake a number of nodes, change reward address. Stake for another set of nodes and unstake.
  • #1765 Updated node type that is displayed in termUI.
  • #1768 Updated reference to forked gogoproto release v1.3.2.
  • #1757 Fix maxTrieLevelInMemory invalid value: added missing mutex to GetAllLeaves() from trie, initialize maxTrieLevelInMemory in all the places in which maxTrieLevelInMemory=0.
  • #1490 Nodes that change their state during an epoch (leaving, new or jailed nodes) should be displayed using the heartbeat. The heartbeat has a cache and it will be updated on an interval with the latest validators in the trie.
  • #1735 Fix metrics and the displayed information about the validator/proposer counters.
  • #1758 Fixed a bug in the delegation contract that appeared when a small number of validator nodes was provided on the setNumNodes function.
  • #1773 nbShards set to number of shards without meta and divideByZero fix in shuffler: nbShards was set to len(eligibleMap) and in fact it should contain just the number of shards without the meta.
  • #1762 Disabled auto-NAT service option from the libp2p host. Not required to run our nodes.
  • #1775 Fixed trie sync problem when intercepting the same node. The system should not overwrite data in nodesForTrie cache.
  • #1769 Fixed the fee scale when computing the score of the senders - because of the new minGasPrice (the change of 3 orders of magnitude affected the score formula).
  • #1771 Save only staked nodes to validators trie. Add storage updates to smart contract results only for staking smart contract.
  • #1781 Fixed the case in which the delegation is done before staking and the checker wrongly subtracted the value of a staked node.
  • #1780 Fixed panic situation in indexHashedNodesCoordinator when nodesConfig is nil, fixed situation when cross mini blocks and cross transactions from shards to meta were not broadcast by proposer at commit time, but only set for delayed broadcast.

Special feature:

  • The network now runs with activated shuffle between shards option. This means that at the end of each epoch there is a chance of about 10% for each validator to randomly change its shard.

Note: This release should start with a new DB