mimblewimble / grin-pm

Grin project management resources and docs
Apache License 2.0
75 stars 39 forks source link

Release Planning: Grin v4.0.0 #248

Closed lehnberg closed 4 years ago

lehnberg commented 4 years ago

Planning issue for version 4.0.0 of grin and grin-wallet, which is to support the scheduled network-wide upgrade occurring at block 786,240, around July 15, 2020.

Scope freeze

Scope was agreed and finalised in the Mar 31 dev meeting.

Target release date

Beta: June 02, 2020 Release candidate: June 16, 2020 Floonet hard fork: June 20, 2020 Final release: June 30, 2020

Discussion

Planning discussion can be had asynchronously on this issue, or in development sub-teams on keybase.

Definitions

P1 - Critical P2 - Important P3 - Fix if time

📝: awaiting specification 🛠: in progress ✅: merged 🔍: awaiting review


Milestones

Items

Make suggestions by commenting in issue, preferably with a motivation and a proposed priority.

# Prio Team Description Owner Reference Status
1 P1 Node Cuckaroo tweak @tromp https://github.com/mimblewimble/grin/issues/3286
https://github.com/mimblewimble/grin/pull/3334
2 P1 Wallet Compact slates @yeastplume https://github.com/mimblewimble/grin-wallet/issues/317
https://github.com/mimblewimble/grin-rfcs/pull/49
https://github.com/mimblewimble/grin-wallet/pull/404
3 P1 Wallet Slatepack @j01tz, @yeastplume https://github.com/mimblewimble/grin-wallet/issues/406
https://github.com/mimblewimble/grin-wallet/pull/410
https://github.com/mimblewimble/grin-wallet/pull/411 https://github.com/mimblewimble/grin-rfcs/pull/55
🛠
5 P2 Node Deprecate Node API v1 @quentinlesceller https://github.com/mimblewimble/grin/issues/3287
https://github.com/mimblewimble/grin/pull/3310
6 P2 Node Relative Kernel Locks @antiochp https://github.com/mimblewimble/grin-rfcs/pull/19
https://github.com/mimblewimble/grin/issues/3288
https://github.com/mimblewimble/grin/pull/3303
https://github.com/mimblewimble/grin/pull/3302
🛠
7 P2 Wallet Improved offset selection @yeastplume https://github.com/mimblewimble/grin-wallet/issues/405
https://github.com/mimblewimble/grin-wallet/pull/407
8 P2 Wallet remove wallet owner api v2 @yeastplume https://github.com/mimblewimble/grin-wallet/issues/373
9 P3 Wallet Announce deprecation for running http listener for external addresses @yeastplume https://github.com/mimblewimble/grin-wallet/issues/66

Out of scope

# Priority Team Description Reference Motivation
2 P2 Node Duplicate outputs https://github.com/mimblewimble/grin/issues/3271 Targeted for 5.0.0 for now
9 P? Node Full chain archive sync at protocol level https://github.com/mimblewimble/grin/issues/3092 No dev taking task for 4.0.0. Not consensus breaking, can be done in future release.
4 P1 Node Parallell IBD https://github.com/mimblewimble/grin/issues/3289
https://github.com/mimblewimble/grin-rfcs/pull/52
Dev is on leave
antiochp commented 4 years ago

Mentioned https://github.com/mimblewimble/grin-pm/issues/261#issuecomment-599097971 but cross posting here -

We should consider breaking out "allow duplicate outputs" as a separate topic from "relative kernels" as it is a consensus breaking change on its own. It looks increasingly like it is a requirement for any of the current "relative kernel" proposals to be useful in practice.

Added issue here - https://github.com/mimblewimble/grin/issues/3271

This likely deserves its own RFC but tracking as an issue initially.

One of the reasons for bringing this up is the new "state of the art" in NRD kernels is still early and we probably do not want to rush this in for 4.0.0 unless we are actually confident this will work and is fit for purpose. We do know with reasonable certainty how to approach "allow duplicate outputs". And I'd much prefer getting one of these consensus breaking changes in for 4.0.0 vs. delaying kernel locks and neither making it in.

MCM-Mike commented 4 years ago

Please also discuss the following request : https://github.com/mimblewimble/grin/issues/3092

Full chain archive sync at protocol level #3092 If it could be implemented in the next Hard Fork or the last Hard Fork

As well I would like to be discussed is the current and upcoming Wallet-API versions. You did announce the "Deprecate Node API v1" . Couple of questions regarding wallet-api which you could clarify and make it more visible:

These are some important questions we need to make public, because a lot of people are building on the API applications and services.

jaspervdm commented 4 years ago

@MCM-Mike

will APIv1 be deprecated with version 4.0?

v1 API has already been previously deprecated and subsequently removed in wallet v2.0.0, see this PR.

which APIvX will replace the current still working APIv1? is it APIv2 or APIv3 ?

v1 wallet API doesn't work anymore, since it has been removed already in wallet 2.0.0. v2 wallet owner API has been deprecated since wallet 3.0.0, to be removed in 4.0.0. It is replaced by the v3 (secure) owner API, originally released in wallet 2.1.0, see this PR.

When are you going to release APIv3 ? https://docs.rs/grin_wallet_api/3.0.0/grin_wallet_api/

APIv3 has been out since wallet 2.1.0. You can find its documentation at https://docs.rs/grin_wallet_api/3.1.0/grin_wallet_api/trait.OwnerRpcS.html