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

v6 "To Infinity and Beyond" 🚀 Breaking Releases Finalization Planning 🙂 #1914

Closed
8 of 9 tasks
holgerd77 opened this issue May 26, 2022 · 4 comments
Closed
8 of 9 tasks

Comments

@holgerd77
Copy link
Member

holgerd77 commented May 26, 2022

Continuation/concretization of #1717

The v6 releases are shy around the corner (weeks away), so this document outlines a concrete timeline for the releases to get things finalized.

Following Major Version Releases are planned:

  • VMExecution (or similar, Renamed, previously: VM (+EVM)) v6 (make sense to keep VM versions since this from the API level this is somewhat of a continuation on what people are used to)
  • StateManager (New) v1
  • EVM (New) v1
  • Blockchain v6
  • Block v4, Tx v4
  • Common v3
  • Util (Renamed) v6
  • Trie (Renamed) v5
  • Devp2p v5 (new) (-> RLP, BigInt)
  • Ethash v2 (new) (-> RLP, BigInt)

Phew. What a line-up. 😋

I guess for Client (this would be v0.6) we can decouple and wait a bit (few weeks or so) and see if things are stable, no need to do a syncronous release.

So following planned timeline:

Week Status Final Date Task Status
CW21
May 23 - 29 ✔️ May 26 Finalization Planning 🟢
CW22
May 30 - June 06 ✔️ May 30 Last Round v5 Releases, Release Notes 🟠
✔️ June 01 v5 Releases 🟠
✔️ June 03 Branch off v5-maintenance, work stop master 🟢
CW23
June 06 - 12 ✔️ June 06 Last develop rebase on master 🟠
✔️ June 07 develop merge into master, PR #1943 🟠
✔️ June 08 - 11 Util + Trie Library Renaming 🟢
June 08 - 11 VM/EVM/StateManager Package Creation 🟠
June 12 develop (respectively: v6 master) Feature Freeze 🔴
CW24
June 13 - 19 [ ] June 13 -14 Release Notes v6 🔴
[ ] June 15 v6 Beta Releases 🔴
CW25
June 20 - 26 [ ] June 22 Eventually second round v6 Beta Releases (or RCs) 🟠
CW26
June 27 - July 03 [ ] June 29 v6 Releases 🟠

Feature TODOs, Responsibilities and Final Dates:

  • 🟢 Error Management, @holgerd77 @gabrocheleau Others, (-> Dropped, to be done later along minor release)
  • 🔴 EVM Refactor, @jochem-brouwer Others (Everyone), June 12 June 10
  • 🟠 Util Sig Refactor (-> Stripe Down), @holgerd77, June 03
  • 🟢 Blockchain/Common/VM Genesis Refactor, @ryanio, June 03
  • 🔴 Block Validation Refactor, @emersonmacro, June 01 (taken out of Beta 1, -> drop candidate 50/50)
  • 🟠 Trie DB Refactor, @holgerd77 Brian, June 03 (-> Level version update PR still missing (necessary?))
  • 🟢 Monorepo ESM Support PR monorepo: esm support #1654, @ryanio, (-> Dropped, not stable enough)

General TODOs:

  • Pre-announcements / Reach out Beta Releases (Twitter, Discord, Direct (e.g. Web3, Metamask)), @holgerd77

Other:

@holgerd77
Copy link
Member Author

This issue has done its purpose for short-term release planning and won't be updated any more.

Beta 1 releases have been done on June 30, 2022, see #1957.

Beta 2 releases will be done around Tuesday, July 12, 2022.

For the final releases the team has decided to go on a somewhat slower pace and give the community more time to adopt and test and therefore rather do a couple of weeks (5-6 weeks) after the last round of Beta releases.

So this will likely happen sometime in August - eventually early September - 2022.

@davidmurdoch
Copy link
Contributor

Didn't know where to comment this... but Ganache is currently slogging through the update. And it's been very slow and frustrating, especially around the level db changes. In future breaking releases can you try not to break so many packages in so many ways all at the same time? <3

@holgerd77
Copy link
Member Author

Didn't know where to comment this... but Ganache is currently slogging through the update. And it's been very slow and frustrating, especially around the level db changes. In future breaking releases can you try not to break so many packages in so many ways all at the same time? <3

Hi there,
great that you are jumping on board 🙏. Sorry to hear about your upgrade experiences so far, our reasoning for such a broad set of changes was (is) that we don't want to do breaking releases too often since we also don't want to put the burden on users to upgrade too often, also many people just don't do for a very long time (years!) and are therefore operating on outdated libraries where we do not really have the ressources to support these in parallel.

At the same time we had so many structural things we wanted to structurally improved and where we didn't want to wait for another year or two. And - additionally - there is now this burden (at least in this context) with the monorepo, that all libraries are really tighly bound together by one working branch and there is therefore some strong drive/need to do all breaking releases at once.

Good thing is that this will very likely be a one timer with this broad set of changes for quite some time! 🤓

Hope we do not overload you guys, we did our best to do really extensive Beta release documentation with the main part in the respective Beta 1 release notes, see e.g. here for the VM.

The README files on master are also already matching with the new breaking releases, e.g. VM README.

I am very willing to continue to work on improve those, so let me know where you see lack of clarity or the like. Also feel free to reach out continuously with all the issues you have, on our Discord, or open issues here or the like, there are various people from the team available and willing to help.

You can also point us directly towards issues you have on your side!

So, happy upgrading and again sorry for the inconvenience! 🙂 🧑🏽‍💻

@holgerd77
Copy link
Member Author

Closed by #2270

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants