Releases: broxus/tycho
Releases · broxus/tycho
v0.3.8
v0.3.7
BREAKING:
- Mempool protocol has changed, so all nodes need to be updated to properly communicate in the private overlay.
- WU logic has changed so update should be applied when there is no significant load.
New Features
- feat(consensus): reduce wave length from 4 to 3 rounds by @Mododo in #998
- feat(consensus): include anchor in its history by @Mododo in #1054
- feat(collator): collator state undo by @drmick in #995
- feat(collator): use WAVE_ROUNDS in collator by @SmaGMan in #1047
- feat(collator): add test one shard block per master by @serejkaaa512 in #1040
- feat(core): reduce state writes by @pashinov in #937
- feat(core): S3 proxy by @pashinov in #1029
- feat(core): store only skipped state in cache by @pashinov in #1033
- feat(cli): add support for signature domain in tools by @Rexagon in #1032
- feat(cli): Update the dump tool logic to consider hardforks by @serejkaaa512 in #1037
- feat(network): reduce alloc in private overlay request by @Mododo in #1015
- feat(network): move DHT request timeout into config by @pashinov in #1036
Fixes
- fix(consensus): add node after stall by @Mododo in #1016
- fix(consensus): downloader fixes by @Mododo in #1045
- fix(consensus): tail extension by @Mododo in #1050
- fix(consensus): duplicate stats by @Mododo in #1055
- fix(consensus): adapter fixes by @Mododo in #1046
- fix(collator): don't apply outdated genesis to restart mempool session by @Mododo in #913
- fix(collator): reset externals on new genesis by @SmaGMan in #1042
- fix(collator): VM and executor fixes by @Rexagon in 577e65b
- fix(core): switch archive provider to next one for recent blocks by @pashinov in #1030
- fix(core): make GC not to wait for heavy PS generation by @MrWad3r in #1031
- fix(core): prevent OOM in merkle chain walk when state is removed by GC by @pashinov in #1034
- fix(contracts): fix elector
updateActiveVsetIdto keep the past ele… by @MrWad3r in #1044 - fix: remove unused feature by @Mododo in #1056
v0.3.6
New Features
- feat: ability to create generic forked state and run network using prepared state by @MrWad3r in #975
- feat(rpc): subscriptions by @0xdeafbeef in #984
- feat(collator): new message bounce format by @Rexagon in #1008
- feat(core): blockchain RPC zerostate proof by @MrWad3r in #1000
- feat(core): add ability to sync node using only zerostate proof by @MrWad3r in #1004
- feat(core): sync progress with ETA by @pashinov in #981
- feat(cli): add dump state tool by @serejkaaa512 in #891
Fixes
- fix(collator): fix state ref leak by @pashinov in #1003
- fix(collator): await a single unfinished store task in resume_collation by @pashinov in #1006
- fix(consensus): decrease size of
commit_history_roundsblockchain config by @Mododo in #996 - fix(consensus): bump types to default serde for unused config field by @Mododo in #997
- fix(core): rework stored cell hashes by @Rexagon in #994
- fix(storage): emit rocksdb metrics by @0xdeafbeef in #993
v0.3.5
New Features
- feat(consensus): add rate limits by @Mododo in #986
- feat(consensus): add consensus stats by @Mododo in #988
- feat(consensus): reduce number of queries by @Mododo in #978
- feat(collator): unsplittable collator states by @drmick in #955
- feat(collator): add prev block id and signature domain support by @Rexagon in #969
- feat(core): start from the specified persistent state by @pashinov in #963
- feat(core): move masterchain metrics into strider by @Rexagon in #970
- feat(core): minor fix/improvements for S3 by @pashinov in #971
- feat(core): add cli arg groups for light nodes by @Rexagon in #974
- feat(cli): add check cells db tool by @serejkaaa512 in #931
- feat(util): add fs usage utills by @0xdeafbeef in #976
- feat(network): add optional bootstrap peers refill task by @pashinov in #980
Fixes
- fix(collator): fix min log number keeping by @drmick in #968
- fix(ci): check built metrics chart by @Mododo in #947
- fix(consensus): download task limiter wait cancel by @Mododo in #977
Internal Improvements
v0.3.4
BREAKING:
- Mempool protocol has changed, so all nodes need to be updated to properly communicate in the private overlay.
New Features
- feat(core): add S3 client for
ArchiveProviderby @pashinov in #958 - feat(core): enable cycle mode in block strider to endlessly switch between archive and blockchain providers by @pashinov in #939
- feat(core):
PsCompletionSubscriberto subscribe on persistent state write finished by @pashinov in #944 - feat(core): export version + commit in metrics by @0xdeafbeef in #957
- feat(cli): add
--extra-balanceflag to specify a full CC by @Rexagon in #961 - feat(util): allow emiting json logs into stderr by @0xdeafbeef in #945
Fixes
- fix(collator): don't skip special transactions on non-existing accounts by @Rexagon in #959
- fix(core): reduce executor blocking by @Rexagon in #949
- fix(core): set HAS_STATE flag when persistent state downloaded and stored by @SmaGMan in #960
- fix(network): allow overlay to accept new peers after cleanup by @pashinov in #956
Internal Improvements
v0.3.3
BREAKING:
- Storage format for point statuses has changed and the new logic for processing new data is not backwards compatible, so mempool rotation is required.
New Features
Fixes
- fix(block-util): revert workchain range check for
ExtMsgReprby @Rexagon in #926 - fix(cli): fix parsing of wins/losses and config params by @Rexagon in #927
- fix(contracts): properly reset election flags on each new stake by @Rexagon in #928
- fix(consensus): hang at config change by @Mododo in #933
Internal Improvements
v0.3.2
v0.3.1
v0.3.0
BREAKING:
- Blobs and cells are now stored in separate DB instances, so resync is required during migration.
- Blockchain config params 22 and 23 now have different semantics:
bytesis now used for limiting the number of updated accounts in block (very rough but cheap approximation of block size);lt_deltais now used for limiting the number of unique entities in block (can be interpreted as a limit on LT but "wide"-first, not "depth"-first);
archive_chunk_sizeandsplit_block_tasksare removed from the node config.- New mempool logic is incompatible with the old one, so mempool rotation is required.
New Features
- feat(collator): adaptive master block collation frequency by @SmaGMan in #885
- feat(collator): consider internals stats to skip externals on collect by @SmaGMan in #779
- feat(collator): wu tuner by @SmaGMan in #817
- feat(collator): add support for authority marks by @MrWad3r in #877
- feat(collator): new block limits by items by @drmick in #887
- feat(collator): add supported block and capabilities check before collating block by @serejkaaa512 in #873
- feat(collator): support base workchains other than
0by @SmaGMan in #898 - feat(collator): don't wait state update by @pashinov in #848
- feat(collator): extend block debug info by @SmaGMan in #826
- feat(collator): provide validation
session_idtocancel_validationby @drmick in #903 - feat(core): apply Merkle updates in parallel by @pashinov in #841
- feat(core): rework storage cells by @Rexagon in #849
- feat(core): use separate rocksdb for cells by @0xdeafbeef in #907
- feat(consensus): peer download limit by @Mododo in #906
- feat(consensus): reduce downloader's requests by @k-morozov in #859
- feat(consensus): clean temp dir in example by @k-morozov in #864
- feat(consensus): use param broadcast_retry_attempts by @k-morozov in #867
- feat(contracts): add system contracts (part 1) by @Rexagon in #890
- feat(cli): single-node mode by @Mododo in #881
- feat(cli): add
wait-synccommand to wait for node sync for simplified rolling updates by @pashinov in #835 - feat(cli): allow using custom code for elector/config contracts by @Rexagon in #856
- feat(cli): add
--cold-bootflag to cli to allow changing cold boot type by @Rexagon in #875 - feat(cli): allow set/get config param as a raw cell by @Rexagon in #886
- feat(cli): add cli commands to manage config proposals by @Rexagon in #895
- feat(cli): dht and overlay network tooling and fixes by @pashinov in #917
- feat(util): add background drop mechanism for heavy objects by @0xdeafbeef in #897
- feat: use panic=abort by @0xdeafbeef in #822
Fixes
- fix(collator): remove use
top_shard_block_updatedto calcmin_processed_toby @drmick in #845 - fix(collator): import one more anchor anyway if max uncommitted chain length reached by @SmaGMan in #894
- fix(collator): fast sync diffs applied upto by @SmaGMan in #904
- fix(collator): fix import init anchors by @SmaGMan in #909
- fix(collator): added missed apply merkle updates metrics by @SmaGMan in #918
- fix(core): capture guards and permits by spawned tasks by @pashinov in #878
- fix(core): don't start
CommitArchiveTaskif archive already exists by @0xdeafbeef in #883 - fix(core): properly sync index state in cassadilia by @0xdeafbeef in #901
- fix(core): init allowed workchains if boot is not cold by @Mododo in #912
- fix(core): fix data loss on saving of same block twice by @0xdeafbeef in #915
- fix(consensus): preserve
NotFoundstatuses when fixing history by @Mododo in #860 - fix(consensus): drop unresolved dag points with their rounds by @Mododo in #874
- fix(util): export
spawn_allocator_metrics_loopby @0xdeafbeef in #833
Internal Improvements
- perf(collator): optimize msgs buffer by @SmaGMan in #905
- chore(collator): enable support
CapOmitMasterBlockHistorycapability by @drmick in #902 - refactor(core): centralize
blockchain_rpcmethods into a single enum by @0xdeafbeef in #659 - chore(core): add context for storage errors by @0xdeafbeef in #882
- refactor(consensus): mempool minor fixes and refactor by @Mododo in #843
- refactor(consensus): more mempool fixes and refactor by @Mododo in #850
- refactor(consensus): refactor tasks, points and storage by @Mododo in #892
- refactor(consensus): refactor download types by @Mododo in #900
- perf(core): compute tail_len for gc beforahand while blocks are fresh by @0xdeafbeef in #840
- refactor(storage): split block storage by @0xdeafbeef in #836
- test(rpc): recover test on getting account by codehash by @SmaGMan in #893
- chore: update MSRV to 1.88 by @SmaGMan in #858
- chore: fix clippy errors for 1.90 by @0xdeafbeef in #910
- chore: bump rocksdb version to 10.4.2 by @Rexagon in #861
- chore: bump quinn and tokio; remove old dependencies by @Rexagon in #920
- ci: add doc test by @drmick in #870
- docs: add jrpc.md and refresh validator.md for current state by @rualekseev in #842
v0.2.12
BREAKING:
Config model has changed:
public_overlay_client.neighbors.send_timeoutis now a string (change it to"500ms");public_overlay_client.neighbors.query_timeoutis now a string (change it to"1s");public_overlay_client.validators.send_timeoutis now a string (change it to"500ms");validator.failed_exchange_intervalis now a string (change it to"10s");
New Features
- feat(network): use
Bbras the default congestion control algorithm by @Rexagon in #819 - feat(cli): generate partial node config by default by @Rexagon in #816
- feat(rpc): add http2 support by @0xdeafbeef in #820
- feat(ci): persistent network test by @drmick in #805
Fixes
- fix(ci): run docker tests with
--rmto save space by @0xdeafbeef in #814