Releases: massalabs/massa
TEST.24.1
What's Changed
- Lower numbers of in connections in config by @AurelienFT in #4215
- Deactivate stream limiter, add timeout on protocol and opti operations fetch. by @AurelienFT in #4220
- Fix tests by @AurelienFT in #4221
Full Changelog: TEST.24.0...TEST.24.1
TEST.24.0
New features in this release
🚀 We have made significant enhancements to optimize memory usage, resulting in improved performance and efficiency.
🔄 We have resolved issues related to the versioning system, ensuring more accurate and reliable version management.
📊 Introducing a new metrics system that provides valuable insights into the node's performance and behavior. You can now access metrics data at port 31248
using Prometheus.
⚡️ We have implemented substantial improvements to the execution of blocks, resulting in faster and more efficient processing of transactions and operations.
🔒 Through rigorous testing and continuous improvements, we have achieved a significant level of stability for the node. Various issues have been resolved, and optimizations have been made to ensure a more reliable and robust experience.
What's Changed
- Split massa db as worker and exports by @Leo-Besancon in #4045
- Make MassaDbLsmtree and RawMassaDB fields pub by @Leo-Besancon in #4054
- Clean bootstrap state and versioning cursors by @Leo-Besancon in #4053
- Prevent coin transfer to SC addresses by @damip in #4027
- Prevent set_bytecode on a UserAddress by @Leo-Besancon in #4074
- fix args check in massa-client by @thibault-ketterer in #4070
- Fix address FromStr implementation by @Leo-Besancon in #4076
- Bootstrap/send timeout traited by @Ben-PH in #4079
- Fix activation delay by @AurelienFT in #4098
- Correct amount parsing by @damip in #4093
- Test for when bs-client doesn't send complete message by @Ben-PH in #4078
- Correct consensus bug by @damip in #4102
- Bootstrap/fix event loop exit by @Ben-PH in #4113
- Fix CI (bootstrap test) with conditional compilation by @Leo-Besancon in #4123
- Bootstrap/restore bandwidth limit by @Ben-PH in #4059
- Fix operation injector script by @litchipi in #4114
- Fix testnet_24 after merge with main by @Leo-Besancon in #4130
- Add regression test for #3932 by @Ben-PH in #4119
- Bootstrap/no opt waker by @Ben-PH in #4086
- Update version check by @Leo-Besancon in #4135
- Remove versioning of Hash computations, only hash with XOR by @Leo-Besancon in #4131
- optimize memory usage by @damip in #4134
- Optim denunciation pool cache cleanup by @sydhds in #4139
- Fix constants by @AurelienFT in #4133
- Add log indicating bootstrap server has stopped by @Ben-PH in #4122
- Reduce memory usage by @damip in #4145
- Add double stake detection by @AurelienFT in #4132
- Add final cursor to exec stats by @aoudiamoncef in #4146
- Prevent block and endorsements to be created if no connections by @AurelienFT in #4151
- Use XOF hash in the DB by @Leo-Besancon in #4137
- Refactor/launch loop ctrl by @Ben-PH in #4147
- Fix display of xof. by @AurelienFT in #4155
- Fix VERSIONING_CF bootstrap + cleanup by @sydhds in #4118
- Use a function in mips.rs by @sydhds in #4158
- Internal metrics by @modship in #4029
- Feature gate db backups by @Leo-Besancon in #4160
- Refactor/fix launch loop ctrl by @Ben-PH in #4157
- Data robustness during restart by @Leo-Besancon in #4071
- Add version bytes by @AurelienFT in #4154
- fix metrics by @modship in #4166
- Fix MipInfo Ord + write MIP store info when we are a bootstap server by @sydhds in #4164
- Feature/node resync check flag by @Ben-PH in #4150
- update peernet and package version by @modship in #4161
- Fix cycles cache recompute by @Leo-Besancon in #4104
- fix connectivity thread channel by @modship in #4172
- Allow local IPs, use same config flag for pre and post max_in_connections by @litchipi in #4116
- Create state machine consensus & add tests by @AurelienFT in #4162
- Refactor execution state reads by @damip in #4152
- Add sandbox to factory worker feature by @Leo-Besancon in #4189
- make state fingerprint available by @damip in #4188
- Fix mem leak in versioning stats + only update states if not final by @sydhds in #4169
- Use Ratio instead of Amount for versioning threshold by @sydhds in #4177
- Improve operation spammer by @litchipi in #4194
- Fix wallet crash when bad password by @AurelienFT in #4195
- Use new version of PeerNet with the
stream_limiter
set by @litchipi in #4193 - Harden block handler (Versioning) by @sydhds in #4178
- Keccak256 and EVM verify by @Eitu33 in #4205
- Testnet 24 by @AurelienFT in #4001
- Keccak256 and EVM signatures verification by @Eitu33 in #4209
- Update genesis by @AurelienFT in #4210
New Contributors
- @thibault-ketterer made their first contribution in #4070
Full Changelog: TEST.23.2...TEST.24.0
TEST.23.2
What's Changed
- fix ci by @modship in #4066
- TN23 : add metrics by @modship in #4073
- improvements TN23 by @modship in #4077
- Fix sc empty by @AurelienFT in #4082
- Add Mip info 0001 by @sydhds in #4083
- Clean event polling bootstrap - Windows routability by @Leo-Besancon in #4084
- Migrate to massa-proto-rs by @aoudiamoncef in #4058
- secure pools by @damip in #4067
- Include xor versioning by @Leo-Besancon in #4090
- TN23 : improve metrics by @modship in #4080
- Compute hash at the end of bootstrap by @Leo-Besancon in #4094
Full Changelog: TEST.23.1...TEST.23.2
TEST.23.1
Merge branch 'main' into testnet
TEST.23.0
New features in this release
👉 Network restart with state preservation (including rolls,...etc).
👉 We can deploy versions on the massa network through on-chain voting by the stakers. An automatic vote is triggered when stakers restart their nodes on the new version before the timeout.
👉 Improvements and bug fixes on the new network/protocol stack.
👉 Improvements in gRPC API.
👉 Deprecate WebSocket in favor of gRPC streaming.
What's Changed
- Bootstrap/constify by @Ben-PH in #3883
- Bootstrap/use read loop by @Ben-PH in #3885
- Add proper error result in MipStoreRaw::update_with(..) function by @sydhds in #3906
- Document the motive behind duplicating checks when testing by @Ben-PH in #3907
- Update rust toolchain to 2023-05-04 by @sydhds in #3920
- Use cargo-machete to fuzzy-match unused dependencies by @Ben-PH in #3921
- Warn the user if its node software is outdated by @sydhds in #3918
- Hotfix/peek loop by @Ben-PH in #3948
- change sub to saturating sub by @AurelienFT in #3951
- Clean up decoding of known-len component of messages between bootstrap client/server by @Ben-PH in #3881
- Feature/ver network restart 1 by @sydhds in #3947
- Mock/pool complete by @Ben-PH in #3954
- Provide context in log when failing to send bootstrap err to client by @Ben-PH in #3959
- Improve gRPC service configuration by @aoudiamoncef in #3956
- Syncronise get_state, and manage cancellation internally by @Ben-PH in #3905
- Add grpc access to massa client by @sydhds in #3957
- Feature/client versioning 1 by @sydhds in #3960
- Add
StateChanges
toNewSlotExecutionOutputs
in gRPC API by @aoudiamoncef in #3934 - Clique computation test by @damip in #3973
- Header network versions / Address, signature and keys versioning by @Eitu33 in #3876
- Fix new config from peernet. by @AurelienFT in #3979
- upgrade jsonrpsee by @aoudiamoncef in #3975
- use send_timeout in fallback_function by @modship in #3980
- Use MassaTime for timestamp in milliseconds in massa-protocol-worker by @litchipi in #3976
- remove double print on periods_per_cycle in client by @modship in #3982
- use try_send instead of send in protocol by @modship in #3983
- avoid [] access by @modship in #3984
- Fix secure share + sdk by @aoudiamoncef in #3985
- Use schnellru crate instead of lru in massa-protocol-worker by @litchipi in #3974
- Minor corrections on consensus by @litchipi in #3987
- change MassaTime::from to MassaTime::from_millis by @modship in #3986
- pool channel capacity by @modship in #3989
- Constant base value by @AurelienFT in #3994
- fix massa client without grpc by @modship in #3999
- Update cache sync cache. by @AurelienFT in #4002
- Versioning fixes by @Eitu33 in #3993
- MipInfo is now determinist by @sydhds in #3981
- fix versions for determinist sensitive crates by @modship in #3990
- script for package versions by @modship in #4005
- Network restart followup by @Leo-Besancon in #3783
- Save block for the whole cycle without ops by @AurelienFT in #4007
- minor consensus corrections by @damip in #4013
- Use saturating_add/sub when updating mip store stats + update version… by @sydhds in #4008
- Use keypair version to generate secret key in massa client by @sydhds in #4011
- Remove from index when marking as invalid. by @AurelienFT in #4015
- Downtime simulator by @Leo-Besancon in #4017
- Change downtime_simulator behaviour for bootstrap servers by @Leo-Besancon in #4021
- 4012 remove dependency to chrono by @Leo-Besancon in #4020
- Remove FactoryStrategy::Latest variant by @sydhds in #4028
- Testnet 23 by @AurelienFT in #3903
- Update genesis. by @AurelienFT in #4030
- Setup genesis by @AurelienFT in #4038
Full Changelog: TEST.22.2...TEST.23.0
TEST.22.2
What's Changed
- Fix final slot exec broadcast by @aoudiamoncef in #3928
- Add Final Execution Output + filter to
NewSlotExecutionOutputs
by @aoudiamoncef in #3933 - Implement mTLS in gRPC API by @aoudiamoncef in #3908
- Fix infinite tester con by @modship in #3938
- Ben/boot loop ctrlc hotfix by @Ben-PH in #3931
- drain channel tester when stop by @modship in #3942
Full Changelog: TEST.22.1...TEST.22.2
TEST.22.1
New features in this release
👉 New implementation for network/protocol modules
👉 Due to the modifications made in the communication between Massa and SC, we will be able to expand SC writing to languages other than AS.
👉 The inclusion of denunciations enables nodes to report inside a block stakers who produced a multistake.
gRPC
👉 Implementation of gRPC Health Checking Protocol.
👉 Added new gRPC methods:
GetBlocks
GetLargestStakers
GetOperations
GetScExecutionEvents
NewSlotExecutionEvents
What's Changed
- Bug/mip store stats ser wrong len by @sydhds in #3802
- Feature/denunciation factory more feed by @sydhds in #3818
- Fix protoc build + reduce debug logs by @aoudiamoncef in #3806
- add log for node_ban_by_ids by @modship in #3823
- Bump h2 from 0.3.16 to 0.3.17 by @dependabot in #3825
- Feature/denunciation factory rm by @sydhds in #3824
- add max_coins to executesc by @damip in #3735
- Optimize time with lock. by @AurelienFT in #3830
- Update from Main by @dr-chain in #3831
- Documentation Improvements Massa-Hash by @dr-chain in #3748
- Improving code comments for POS Worker by @dr-chain in #3689
- Implement gRPC methods by @aoudiamoncef in #3822
- Add initial code in order to process denunciation by @sydhds in #3829
- Improve estimate instant by @damip in #3846
- Bootstrap/mocked and sync by @Ben-PH in #3745
- Implement
NewEndorsments
in gRPC by @aoudiamoncef in #3845 - Clarify debug log when filtering bootstrap types by @Ben-PH in #3848
- Update readme by @qdrn in #3771
- Reinstate the use of bootstrap DoS mitigations removed along with tokio by @Ben-PH in #3821
- Use blocking_send instead of the async send by @Ben-PH in #3855
- Check for already processed denunciations in execution worker by @sydhds in #3853
- Check for already executed denunciations in unit tests by @sydhds in #3861
- Implement
GetOperations
in gRPC by @aoudiamoncef in #3850 - Implement
GetBlocks
in gRPC by @aoudiamoncef in #3862 - Add denunciations in block header by @sydhds in #3866
- Add two extra saved cycles to PoS for denunciations checks by @Eitu33 in #3871
- Add denunciations to stats counter by @sydhds in #3873
- Check draws before executing a denunciation by @sydhds in #3872
- Implement
GetScExecutionEvents
in gRPC API by @aoudiamoncef in #3868 - Add sign & verify_sign to trait SecureShareContent by @sydhds in #3874
- Add denunciations documentation by @sydhds in #3877
- Add checks for denunciations + last_start_period by @sydhds in #3880
- Feature/de in block headers by @sydhds in #3887
- Add skeleton new massa protocol. by @AurelienFT in #3682
- Implement
NewSlotExecutionOutputs
in gRPC API by @aoudiamoncef in #3878 - use mio for Tcp management in bootstrap system by @modship in #3780
- Cleanup BS-connection establishment code by @Ben-PH in #3895
- Language agnostic smartcontract by @bilboquet in #3863
- Add gRPC health check by @aoudiamoncef in #3888
- fix network by @modship in #3900
- Don't send listeners if non routable and use canonical by @AurelienFT in #3901
- Fixes for roll slash by @sydhds in #3902
- Testnet 22 by @AurelienFT in #3789
- Remove downtime simulator by @Leo-Besancon in #3909
- Remove assumptions about knowing a peer in protocol and fix memory leak by @AurelienFT in #3904
- Fixes in peer and handler and delete cache of sc at start by @AurelienFT in #3915
New Contributors
Full Changelog: TEST.21.0...TEST.22.1
TEST.21.0
New features in this release
👉 We have implemented a process for restarting the blockchain in case of an emergency. As part of this procedure, the network will be temporarily shut down on April 13, 2023, at 8:00 AM UTC, and restarted at 2:00 PM UTC on the same day.
👉 For this episode, we will be using the same ledger from TEST.20.2. If you have participated in the previous testnet, you can access all your coins and smart contracts. All you need to do is buy rolls and register.
👉 We are pleased to announce that we have added gRPC support for the Massa blockchain. This new feature provides several advantages over traditional RESTful APIs, including better performance, scalability, and flexibility. With gRPC, we can use protobuf messages to communicate with the Massa blockchain, reducing the size of data transmitted over the network and making it more efficient.
👉 Deprecate WebSocket in favor of gRPC streaming. Will be fully removed next month
👉 Add SC compilation caching that should increase the number of SC calls per second
👉 New ABIs to validate addresses and prefix on getkeys on datastore
👉 Improve bootstrap process
What's Changed
- Update rocksdb to v0.20 by @litchipi in #3629
- Fix bind ipv4 only network by @Leo-Besancon in #3653
- Fix vesting file (old timestamp) by @modship in #3654
- Initial code for versioning & versioning factory models by @sydhds in #3619
- Add colors on the get_operations command by @litchipi in #3660
- Initial code for MipInfo ser/der by @sydhds in #3672
- MipStoreRaw::update_with now return enum by @sydhds in #3675
- Feature/denunciation reloaded by @sydhds in #3666
- Fix mip-info-serialization by @Ben-PH in #3680
- Add colors in CLI for get_status by @litchipi in #3665
- Add colors in CLI for get_addresses by @litchipi in #3667
- Add colors in CLI for wallet_info by @litchipi in #3662
- Fix vesting test by @modship in #3676
- Remove
test
/not(test)
#[cfg(...)]
annotations from bootstrap establisher system by @Ben-PH in #3637 - add event transfer coins by @modship in #3677
- Add colors to the CLI by @litchipi in #3661
- Minor fix to optim denunciation creation from 2 SecuredHeader by @sydhds in #3718
- Add EndorsementDenunciation ser / der + unit test by @sydhds in #3720
- Feature/versioning ser der 3 by @sydhds in #3717
- Keep old testnet final ledger. by @AurelienFT in #3240
- Testnet 21 : vesting_manager by @modship in #3701
- Add activation delay when transitioning from LockedIn to Active by @sydhds in #3723
- Feature/versioning multi component versions by @sydhds in #3736
- Benph/unwrap to expect by @Ben-PH in #3693
- Move check multistake after check header. by @AurelienFT in #3743
- Implement new ABI "get_matching_keys_for" by @litchipi in #3640
- Implement ABI validate_address() by @litchipi in #3645
- Add network version stats in MipStoreRaw by @sydhds in #3744
- Rename schedule operation function by @AurelienFT in #3752
- Change usage of from_raw in vesting by @AurelienFT in #3753
- Fix MipStore empty init by @sydhds in #3754
- Improve documentation by @AurelienFT in #3756
- Initial code for DenunciationFactory & DenunciationPool by @sydhds in #3734
- Support Protobuf and gRPC by @aoudiamoncef in #3443
- Turn some log from warning to debug by @sydhds in #3761
- Bootstrap/sync accept by @Ben-PH in #3685
- Module cache v2 by @Eitu33 in #3725
- Emergency Network restart by @Leo-Besancon in #3624
- Disable tonic build by default by @aoudiamoncef in #3764
- Add a downtime simulator in consensus by @Leo-Besancon in #3767
- Panics if we are before genesis timestamp by @Leo-Besancon in #3768
- Force stop consensus by @AurelienFT in #3770
- Add mip store bootstrap by @sydhds in #3765
- Test fix net restart by @Leo-Besancon in #3777
- Migrate to latest version of
jsonrpsee
by @aoudiamoncef in #3776 - Rework denunciation factory block header denunciation test by @sydhds in #3773
- Upgrade tonic + cors layer by @aoudiamoncef in #3787
- Feed the denunciation factory with block by @sydhds in #3788
- Testnet 21 by @AurelienFT in #3620
- Update CD build by @AurelienFT in #3791
Full Changelog: TEST.20.2...TEST.21.0
TEST.20.2
What's Changed
- Testnet 20_2 fix vesting by @modship in #3697
- End of free gas by @aoudiamoncef in #3712
- Fix/thread count arithmetic by @Ben-PH in #3711
- Handle an empty array when parsing to a bool by @Ben-PH in #3696
- Check operation count returned in block factory by @sydhds in #3710
- Testnet 20.2 by @damip in #3713
Full Changelog: TEST.20.1...TEST.20.2
TEST.20.1
What's Changed
- Mid term double stake protection by @AurelienFT in #3646
- Fix bind ipv4 only network (#3653) by @Leo-Besancon in #3657
- fix vesting file (#3654) by @modship in #3659
- Consensus documentation by @AurelienFT in #3636
- Update for testnet 20.1 by @AurelienFT in #3669
- Add cargo update by @AurelienFT in #3670
Full Changelog: TEST.20.0...TEST.20.1