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

Monorepo: Beta 1 Releases #1957

Merged
merged 31 commits into from
Jun 30, 2022

Conversation

holgerd77
Copy link
Member

@holgerd77 holgerd77 commented Jun 14, 2022

Part of #1914

For these releases I will split up the changelogs and the additional version updates and so on into (at least) two commits, this one is for just updating the changelogs.

WIP, just wrote the changes for a first library together (Common). Can be reviewed though along writing and submission already.

@codecov
Copy link

codecov bot commented Jun 14, 2022

Codecov Report

Merging #1957 (6a6404b) into master (872e85c) will increase coverage by 0.03%.
The diff coverage is n/a.

Impacted file tree graph

Flag Coverage Δ
block 84.30% <ø> (ø)
blockchain 81.03% <ø> (ø)
client 78.34% <ø> (ø)
common 95.03% <ø> (ø)
devp2p 82.71% <ø> (ø)
ethash 90.81% <ø> (ø)
evm 40.34% <ø> (ø)
rlp 90.55% <ø> (ø)
statemanager 84.55% <ø> (ø)
trie 74.21% <ø> (+0.48%) ⬆️
tx 92.17% <ø> (ø)
util 87.03% <ø> (ø)
vm 78.58% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

@acolytec3
Copy link
Contributor

Excited to be reading these changes. Do you want nit type feedback now or once you've finished the first draft? I haven't noticed anything major at this point.

@holgerd77 holgerd77 force-pushed the breaking-releases-changelogs-and-upgrade-guides branch from cbab421 to 0349d2e Compare June 15, 2022 12:26
@holgerd77
Copy link
Member Author

Excited to be reading these changes. Do you want nit type feedback now or once you've finished the first draft? I haven't noticed anything major at this point.

Please do not do Merge commits on this PR (and in case you do please use the rebase UI option), there is no changes which would be needed to be integrate (and proof still working together) on this particular PR and I would do at the very end of the process.

(I have now force-pushed with my original commits just to clean up a bit, totally nothing grave though)

Generally: yes, you can very much do nit comments respectively this is very welcome, the more we catch now the less we need to update later. 🙂

Copy link
Contributor

@gabrocheleau gabrocheleau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple nits :)


With this round of breaking releases the whole EthereumJS library stack removes the [BN.js](https://github.com/indutny/bn.js/) library and switches to use native JavaScript [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) values for large-number operations and interactions.

This makes the libraries more secure and robust (no more BN.js v4 vs v5 incompatibilities) and generally comes with substantial performance gains for the large-number-arithmetic-intense parts of the libraries (particularly the VM).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we ever do a final performance analysis? Could be cool to quantify the performance gains (e.g. .'substantial performance gains of up to 70% [...]')

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that would be nice. Would be really cool e.g. to teaser with some cool graph on this within the Release Announcement Tweet e.g.. 🤩 💯

(so we likely won't be able to include these kind of additions for the Beta 1 release changelogs, but we can very well still add to the changelogs later on.)

@holgerd77 holgerd77 force-pushed the breaking-releases-changelogs-and-upgrade-guides branch from ab8bc97 to e00ff6f Compare June 22, 2022 08:09
@holgerd77
Copy link
Member Author

Block library changelog open for review. 🙂

Copy link
Contributor

@gabrocheleau gabrocheleau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the block changelog

@holgerd77 holgerd77 force-pushed the breaking-releases-changelogs-and-upgrade-guides branch from 410ac40 to 1cafe65 Compare June 23, 2022 20:05
@holgerd77
Copy link
Member Author

@gabrocheleau thanks for the updated review on the Block library, have integrated.

@holgerd77
Copy link
Member Author

Blockchain library changelog open for review. 🙂

Copy link
Contributor

@gabrocheleau gabrocheleau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed blockchain changelog

@holgerd77 holgerd77 force-pushed the breaking-releases-changelogs-and-upgrade-guides branch from 6759f8c to 7eae9bd Compare June 28, 2022 11:34
@holgerd77
Copy link
Member Author

Additional changelogs for Devp2p, Ethash, RLP, StateManager (this one in particular), so all CHANGELOG files written except EVM and VM.

Open for review. 🙂

@holgerd77
Copy link
Member Author

Ok, ready. 🙂

@holgerd77
Copy link
Member Author

Ok, this is now completely ready respectively I currently assume it is which might be something different. 😋

Please give both the last CHANGELOGs a proper review AND try to give this some deeper thought if there might be something missing regarding the releases, not in the terms of features/fixes/clean-ups (you can still side-think about that one too) but here rather in terms of "have we technically updated everything which is necessary so that these releases will work when being installed".

Thanks for your collaboration 😎 and contribution here 🦄 and the overall team work on this! ❤️

Really looking forward to do the releases tomorrow!!! 😄

holgerd77 and others added 3 commits June 30, 2022 10:41
Co-authored-by: Gabriel Rocheleau <contact@rockwaterweb.com>
Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
@holgerd77 holgerd77 force-pushed the breaking-releases-changelogs-and-upgrade-guides branch from 5d37247 to 6a6404b Compare June 30, 2022 08:41
@holgerd77
Copy link
Member Author

@acolytec3 @gabrocheleau thanks for the additional reviews, will merge and do the releases soon once CI passes here! 🥳

@holgerd77 holgerd77 dismissed stale reviews from acolytec3 and gabrocheleau June 30, 2022 09:18

Addressed.

@holgerd77
Copy link
Member Author

Ah, sorry, need to admin-merge here since I needed to dismiss the current reviews with change requests (which I have addressed), hope that's ok.

Would want to continue here and no code parts touched.

@holgerd77 holgerd77 changed the title Monorepo: Beta 1 Release Changelogs Monorepo: Beta 1 Releases Jun 30, 2022
@holgerd77 holgerd77 merged commit c5260ba into master Jun 30, 2022
@holgerd77 holgerd77 deleted the breaking-releases-changelogs-and-upgrade-guides branch June 30, 2022 09:21
@holgerd77
Copy link
Member Author

Just did a first test publication of RLP, Util and Common, this seems to work well. Have published with npm publish --tag beta, so instead of the latest the beta tag is used, see also this article for information on how to publish beta releases.

Taking the @ethereumjs/common npm page as an example, there is the confirmation that the old version v2.6.5 is still showing up on the main page and that the new version is published under the beta tag.

Also did a test install with npm i @ethereumjs/common@beta and tested simple initialization code, this worked well.

Another way to install is with the direct package version including the beta version addition, so with npm i @ethereumjs/common@3.0.0-beta.1, tested this as well.

Will now proceed with the rest of the releases.

@holgerd77
Copy link
Member Author

Just published the following releases on npm:

@holgerd77
Copy link
Member Author

Ugh. 🙂

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

Successfully merging this pull request may close these issues.

4 participants