Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.0.0 Changelog #3166

Closed
antiochp opened this issue Dec 10, 2019 · 1 comment
Closed

3.0.0 Changelog #3166

antiochp opened this issue Dec 10, 2019 · 1 comment
Assignees
Milestone

Comments

@antiochp
Copy link
Member

antiochp commented Dec 10, 2019

**Consensus Breaking** Changes (HF2)

The Hardfork (HF2) introduces the planned CuckarooM29 PoW changes. See https://www.grin-forum.org/t/next-pow-cuckaroom-unveiled-at-grincon1/6605 for details on the changes involved. This will activate at block height 524160, determined by the pre-planned 6 month hardfork schedule.

We are also taking advantage of the scheduled Hardfork to introduce a rule change involving the output_root committed to in each block header. See mimblewimble/grin-rfcs#29 [TODO - replace this with link to accepted RFC once merged]. The new output_root semantics will allow partial validation of the output set, opening up several options to improve the performance and robustness of the initial "fast sync". These changes activate alongside the Cuckaroom changes at height 524160.

Description PR
Hardfork2 #3136
Height specific output "root" rule changes (aka "enable faster sync") #3147

TUI Related Changes/Fixes

A new "Logs" screen has been added to the TUI that shows realtime log output. The "Peers" screen is now a lot more usable as the refresh no longer resets the selected row and column. We also display the kernel count alongside the transaction count on the "Basic Status" screen, to give an indication of the amount of transaction aggregation occurring currently. Various fixes and improvements have also been made to the TUI improving both stability and usability.

Description PR
Add "shutting down" dialog to TUI #3101
TUI logs view #3064
Add tx pool kernel counts to TUI status page #3111
TUI status try to acquire read lock on pmmr_header but if no… #3119
Use try_read_for() with timeout for TUI status updates (header and pool stats) #3129
Use saturating_sub() to avoid a negative value causing a panic in TUI #3139
Fixed panic when changing order of items in TableView in TUI #3160
Selected column and selected row of table are now preserved in TUI #3161

API Related Changes

See https://github.com/mimblewimble/grin-rfcs/blob/master/text/0007-node-api-v2.md for details on the new v2 API. #3103 also provides a way to retrieve output for a given block height range, used by grin-wallet during the wallet update process.

Description PR
Node API v2 #3094
Retrieve outputs within a block height range #3103

P2P/Network

Description PR
Use sender thread consistently to send msgs to a peer #3067
Remove grin-tech from DNS seeds #3121
Increase IO_TIMEOUT to allow nodes on high-latency connections to sync #3109
Enable "faster sync" #3108
Our TCP listener is nonblocking so we must set the accepted stream … #3154
Set longer timeout for msg body read/write operations #3145
Drop msg if sync_sender buffer is full (do not close peer connection) #3164

Fast Sync

Description PR
Split state validation status into kernel and rproof updates. #3096
Call zip_read from within the txhashset lock for a consistent view on state file #3142
Avoid deadlock in check_orphans called from txhashset_write #3156
Pass stopped into consume so we can halt txhashset mid download #3157
Call try_header_head in the syncer loop with a short timeout #3165

Block Processing & Backend Storage

Description PR
Quick check for block_exists in adapters #3068
Track opts when requesting blocks (not just if we requested them) #3089
Skip hydrate if missing kernels, just request full block #3090
Verify headers and blocks only when needed #3023
Read header_head and sync_head from the header and sync PMMR #3045

Misc.

Description PR
Capture "type" byte for unknown message type #3146
Explicit header version based on height rather than "increment" the v… #3148
Cleanup HeaderVersion, "newtype" no need for constructor #3150
Cleanup HeaderVersion::default() #3149
@antiochp antiochp added this to the 3.0.0 milestone Dec 10, 2019
@antiochp antiochp self-assigned this Dec 10, 2019
@antiochp
Copy link
Member Author

antiochp commented Feb 6, 2020

Closing this as 3.0.0 is released.

@antiochp antiochp closed this as completed Feb 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant