Skip to content

Releases: massalabs/massa

TEST.3.0

29 Nov 15:01
Compare
Choose a tag to compare
TEST.3.0 Pre-release
Pre-release
  • 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

29 Nov 14:57
Compare
Choose a tag to compare
TEST.2.2 Pre-release
Pre-release
  • 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

29 Nov 14:42
Compare
Choose a tag to compare
TEST.2.1 Pre-release
Pre-release
  • 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

29 Nov 14:40
Compare
Choose a tag to compare
TEST.2.0 Pre-release
Pre-release
  • 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

29 Nov 14:36
Compare
Choose a tag to compare
TEST.1.3 Pre-release
Pre-release
  • 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

29 Nov 14:35
Compare
Choose a tag to compare
TEST.1.2 Pre-release
Pre-release
  • 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

29 Nov 14:34
Compare
Choose a tag to compare
TEST.1.1 Pre-release
Pre-release
  • 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

29 Nov 14:32
Compare
Choose a tag to compare
TEST.1.0 Pre-release
Pre-release

False start. Do not use this version.

Full Changelog: https://github.com/massalabs/massa/commits/TEST.1.0