-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Release - 1.2.5 #3315
Release - 1.2.5 #3315
Conversation
Co-Authored-By: Samuel Furter <[email protected]>
…w version will be set for the version property in the minified file
I think it would eventually make sense to complement the common release guidelines with a simple release TODO list template which can then be copied over and worked down along a new release - seems like many of these steps are repeatable - so a list like:
We could actually use something like this for EthereumJS as well, let's really see if we can take parts / most of the rules you worked out here over once you guys collected some more experience with it. BTW: what is your policy on documentation updates (eventually also something for the list above)? Do you update the docs also on release or along with PRs (and so to have them for some time in parts on a non-release matching state)? We recently had some debate on this on the EthereumJS side. |
@holgerd77 Great idea! I do have such a list locally on my PC. I will update the release guidelines with such a list after the RC release got published.
Until now did I update the documentation after a stable release got published (see versions in our readthedocs documentation). I thought to keep the documentation as it is until the production version got released but I will kick off a discussion about with @cgewecke. Thanks! Btw.: Lerna does currently have a problem to detect the changes correctly. |
👍 Docs: 1) Ah no, I think the variant you do as common practice (keep until release) makes most sense, we actually also realized that our up till recently executed practice of update docs along with PRs confuses people. 😋 2) So doc update practice is likely also a case for the TODO list (eventually to split this up into a "Before merge" and "After merge" list or similar, whatever makes sense to structure the bigger 2-3 overlaying steps). |
@michaelsbradleyjr @gnidan @alcuadrado @iurimatias @spalladino @cgewecke @holgerd77 @sohkai @fabioberger @caleteeter @joshstevens19 I've published version 1.2.5-rc.0. Feel free to give any feedback about this version here in this PR. We will release the production version of 1.2.5 after a week but only if no changes are requested from any contributor or consumer of the web3.js library. |
@nivida Just checked npm and it looks like the tagging of the rc release should be adjusted. The new
I think this can be addressed using npm's
It looks like all the packages (e.g. web-utils) would need to be adjusted this way... |
@cgewecke Thanks Chris for commenting here. As already discussed over Gitter with you did I have a short chat with Holger about it and the outcome was to keep the |
@cgewecke I have a bit a mixed feeling here but in the end we have little "damage" here respectively we just don't get the full benefits of the new release process in this first round. Worst direct outcome is that some direct users will have a release candidate installed, which would have been the directly released version if we would have kept going on with the old release process. For the next release we can see that we get the tagging right as well. @nivida maybe you can already post for discussion here the anticipated correct CLI publication commands which would have gotten the tagging right? Then we are better prepared on next round. |
@nivida @holgerd77 Ok sounds good to me! 👍 |
@holgerd77 Sounds good! I will extend the scripts defined in the root |
I think there was a misinterpretation of how semver handles prerelease versions. At least npm's implementation doesn't behave as described by @nivida. This section explains it it: https://www.npmjs.com/package/semver#prerelease-tags This broke Buidler, as it validates its plugins' dependencies. Some plugins have a dependency on
This may be breaking other systems that inspect dependencies versions, like web bundlers. |
As described above and quoted here does the |
Just to keep everyone else informed, we discussed this more with @nivida through discord. The problem is when someone installs The problem is that What are the implications of this? For systems that validate their dependencies, like Buidler, it will lead to a failure. For bundlers, it will probably lead to |
@alcuadrado has a very good point. While it's only a convention, it seems to me that the implicit
For that reason, I think it's best that only non-prerelease versions (stable versions) are dist-tagged as Likewise, prereleases should use another dist-tagging convention, e.g. Hypothetical convention for package dist-tags:
(the next two are superfluous if a project strictly adheres to semver; mega-bonus 🎁 if the project strictly adheres to Conventional Commits)
The reason for the "...or latest stable release" clauses above is owing to a concern about version drift in the dist-tags. Imagine that By updating This subject recently came up re: planning for a nightly-release GitHub Actions workflow for the Embark Framework. We've settled on using a When a major version is pending, we'll use a series of We're also now using a |
As part of the RC process, am doing some test installations in other projects and running their tests to see if everything.
This list will be actively edited:
(Some of these require quite a bit of manual dependency pruning to remove non-rc versions of Web3.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would just like some clarity on the build status before approving - other than that - in testing everything has seemed correct to me.
Great! Thanks for your analysis! I will check that as well:) |
@nivida I'm very sorry - I misunderstood whether that version of the build should be included in the git release here. I do see it in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good to me!
Description
We will first release version
1.2.5
as1.2.5-rc.0
and will follow the release guidelines as described here.Added
eth_requestAccounts
asrequestAccounts
added to web3-eth package (eth_requestAccounts added to web3-eth package #3219)sha3Raw
andsoliditySha3Raw
added to web3-utils package (Implements sha3Raw and soliditySha3Raw #3226)eth_getProof
asgetProof
added to web3-eth package (eth_getProof added to web3-eth package #3220)BN
andBigNumber
objects are now supported by theabi.encodeParameter(s)
method (big-number (BN & BigNumber) mapping added to abi.encodeParameters #3238)getPendingTransactions
added to web3-eth package (Extends the web3-eth module with the method getPendingTransactions #3239)handleRevert
module property (Adds revert instruction handling #3248)receipt
does now exist as property on the error object for transaction related errors (Receipt added to transaction errors #3259)internalType
added toAbiInput
TS interface inweb3-utils
(AbiInput type updated in web3-utils #3279)HttpProvider
options (Added support for custom http agent #2980)Changed
eth-lib
dependency updated (0.2.7 => ^0.2.8) (eth-lib dependency updated #3242)Fixed
defaultBlock
property handling fixed (fixes defaultBlock property handling #3247)clearSubscriptions
does no longer throw an error if no running subscriptions do exist (clearSubscriptions shouldn't throw an error if no subscriptions do exist #3246)Accounts.signTransaction
fixed (Callback type for Accounts.signTransaction fixed #3280)Compare View
v1.2.4 -> v1.2.5
Type of change
Checklist:
npm run test
with success and extended the tests if necessary.npm run build
and tested the resulting file fromdist
folder in a browser.