Releases: massalabs/massa
Releases · massalabs/massa
TEST.3.0
- heavy groundwork on deploying a new client and JSON-RPC API
- massive performance improvements after profiling through algorithm updates, caching, indexing and pre-hashing
- massively reduced redundant inter-node communication through earlier and more precise caching, and reducing the max number of incoming connections to 20
- various documentation improvements
- added EditorConfig file
- various logging improvements (removed spurious logs, added miss and implicit roll sell warns)
- improved client user interaction
- various code clarity improvements
- test suite improvements
- added ouf-of-the-box IPV6 compatibility
- corrected a timing bug causing slots to be slightly shifted in time
- improved the bootstrap process (breaking)
Full Changelog: TEST.2.2...TEST.3.0
TEST.2.2
- update various libraries to the latest version to avoid some compilation problems with the latest rust nightly
Full Changelog: TEST.2.1...TEST.2.2
TEST.2.1
- Added a caching system to prevent over-propagation of headers and endorsements
- disabled TCP_NODELAY to increase performance at the expense of a slightly higher latency
- Added tests
- Improved docs
Full Changelog: TEST.2.0...TEST.2.1
TEST.2.0
- main change: endorsement system, massively increasing architecture-based attack costs and making attack attempts fully prohibitive (see scientific paper)
- changed the block reward to 0.3 coins
- changed roll price to 100 coins per roll
- changed the periods_per_cycle parameter from the temporary debugging "10" value to the final "128" value, thus making cycles much longer and reducing the probability that a single miss causes an implicit roll sale
- config override: now, the massa-node/base_config (and massa-client/base_config) folder contains configuration files that shouldn't be edited by the user while massa-node/config (and massa-client/config) contain user-editable files that override the base config and also contain the node_privkey and staking_keys files. This makes massa docker-friendly.
- the massa-node/storage folder now contains all the storage data, in order to be container-friendly and pave the way to docker CD
- added warnings on misses and implicit roll sales happening on addresses staked by the node
- internal rework of the block_graph system to allow retrieving clique fitnesses after computation, and always knowing which clique is the blockclique
- various improvements on logging, UX, docs, performance and stability
Full Changelog: TEST.1.3...TEST.2.0
TEST.1.3
- improved logs
- improved docs
- groundwork for the implementation of endorsements
- improved desync detection security
- improved consensus production stats flexibility and accuracy
- client: moved staker stats from staker_info to a batched version named staker_stats
- improved code clarity and stability
Full Changelog: TEST.1.2...TEST.1.3
TEST.1.2
- improved log clarity
- improved config defaults for security
- improved documentation
- limit the number of attempts at filling a block with operations
- improved the next_draws command
- increased stats duration to 3 cycles for deactivation security
- added block_ids_by_creator to list blocks created by an address
- added warning in client when performing operations that require more rolls or coins than what the address has
- node banning was re-enabled with a 1 hour unban timeout
Full Changelog: TEST.1.1...TEST.1.2
TEST.1.1
- improved documentation
- reduced functional test boilerplate thanks to a wrapper function
- clarified logs, and demoted logs that disturbed people
- clarified the results displayed by some client commands
- added the possibility of adding an existing private key to the wallet
- removed all compilation warnings
- bootstrap servers are now tried in random order to avoid overloading the 1st one
- prevent operations from being propagated to nodes that are aware of it (according to the local node's vision)
- operations inside blocks are now added to the operation pool
- the node_sign_message endpoint was added to the API and allows signing arbitrary messages using the node's private key
- the node's ID (public key) is now displayed in the logs on startup, but also available in the network_info client command (and matching API command)
- added command-specific help in the client. Now you can type "help network_info" to get the help on network_info
- now, the list of nodes you are actively connected to is available in the "peers" command, together with the remote node ID (public key) and connection direction (in or out)
- a new command "testnet_rewards_program" was added to the client and allows you to prove you're the owner of a node ID, a staking address, and a discord identifier
- the staking_keys file was removed from git to avoid overwriting yours
- when launching the client with "cargo run --release" (without specifying a wallet), "wallet.dat" will be used by default, making all commands available
- all currency values are now wrapped into an "Amount" structure, ensuring safe decimal arithmetic and consistent display of amounts of coins
- added the config parameter network.target_bootstrap_connections limiting the number of connections from/to bootstrap nodes
- added the config parameter network.max_out_bootstrap_connection_attempts to limit the number of simultaneous outgoing connection attempts towards bootstrap nodes
- added warnings telling the user to avoid sharing their private keys every time they are displayed
- added the end_timestamp config parameter to self-destruct expired nodes when an episode ends
- stakers that miss a high percentage of their block productions during cycle C will cause an implicit roll_sell of all their rolls at the beginning of cycle C+3
- a versioning system was added to avoid bootstrapping/connecting to nodes running incompatible versions of the protocol
- per-cycle final block production statistics and miss rates were added to staker info
- node desync is now detected in about 1 minute, and auto-resync is attempted
- adjusted various config values
- simplified bootstrap initiation for easier deployment
- various bug and usability fixes + optimizations
Full Changelog: TEST.1.0...TEST.1.1
TEST.1.0
False start. Do not use this version.
Full Changelog: https://github.com/massalabs/massa/commits/TEST.1.0