-
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
Web3.js - 1.3.0 #3228
Comments
As addition: |
I'm excited for the improvements. The breaking changes situation is pretty awkward. Users who have e.g. On the other hand, releasing as Another option would be to move publishing of the 2.x architecture into a scoped package, e.g. All these approaches have downsides. I'm not sure what's the best way. |
I think this way of planning releases is wrong. Project goals and major tasks should be defined, and the releases should be derived from there, not the other way round. For example, fixing the loss of numeric precision in some operations/data structures is a major communication and coordination task that can't be scoped to a single release. |
My 2 cents: using semantic-release and actually following semver really helps with this. At Po.et we have followed this approach, plus only allowing squash-merging, so an entire PR becomes a single commit and gets released depending on the commit's description, and it has worked wonders.
Personally I'd love for this project to follow the same approach after 1.x branch is finished and the first 2.x is done. |
It would be great to have sometimes more constructive inputs from your side.
Many of those issues are listed in the stabilization issue but we couldn't release them because they would break stuff. This means there was first the goal and the major tasks defined and if I'm not wrong did you wrote those issues down. I've created this issue to inform @gnidan etc. about the next steps and to get feedback because there is mostly no other way to reach out to the biggest consumers on another communication channel in the same constructive way.
Does this mean you would break one method after the other? @lautarodragan Thanks for your feedback! |
Oh yes, it is.
Yes, this will definitely be confusing especially after the confusion we already had with releasing beta.37 as 1.0 and beta.55 as 2.0-alpha.
This would probably be a solution to not break those DApps which already do use the web3.js lib with the fully refactored architecture (2.0).
Same here, but I think we will find the best solution here in this issue:) |
Maybe I am seeing this to simple, but I think the best and also least confusing way is just to break with semantic versioning on the I think key here is just very much communication and to put the word out on (various) occasion(s) (@nivida: eventually even decide quickly and put the info in the upcoming Dev update branch?) so that people can prepare. And if this breaks some things, this is still better to once have this breaking occurence within a clear cut and softly force people into once do another release on their libraries and e.g. narrowing down the Just my 2 cents. |
@nivida do you presently have a sense/goal of when the 2.x architecture will be ready to become the stable release +/- 3 months, e.g. Q2 2020?
I personally feel this is acceptable, despite downsides. But, if that's the way it goes, I also think the README for the
However, if active development of
👏 I agree 100% — blog posts, prominent notices in READMEs, etc. Whatever path is chosen, this is key.
Some users will be upset / confused either way, but as I once remarked to a team member: some days us Open Source devs are cutting beautiful gemstones 💎 and other days it's more like we're making sausage 🌭. |
To lend my perspective, I strongly discourage breaking changes without respecting semver. It might seem like a trivial issue from the perspective of this project, but substantial breaking changes destroy development velocity downstream. Take it from someone who lives downstream. Now, looking at these breaking changes, I don't have a sense for the severity, but they don't seem to be that big a deal. At the surface, they appear to be changes to which I wouldn't be opposed. In absence of time to evaluate each change for breakages, has anyone collected this data? Not just the list of issues, as @nivida includes, but a full and up-to-date description of the impact on the external interface (in terms of what the interface is now vs. what the interface will be). That would help me anticipate the required changes on Truffle's codebase, as well as the impact on Truffle's users. In general, though, I am really into @michaelsbradleyjr's idea of making a web3-next package. The original plan for 1.x was to avoid non-patch releases, but since that now seems infeasible, it's really looking like the number space between 1.0.0 and 2.0.0 isn't as wide as we thought. I can see the downsides, certainly, but please: it's really hard to abide severe breakages. I'll try to dig into the specifics more next week, to test my hypothesis that the listed breakages are minor enough to accept. I hope my grave warnings here are not necessary 😄 |
Hey nice to see this discussion going on. So my view on this is quite simple and some of you have kinda said the same thing. Angular made this mistake, they released the router package on version 3 but their core packages was version 2 so when they went to bump packages the router package was out of sync. Instead of really overthinking everything they thought "users won't care here really as long as they can install the new package" they just bumped it to version 4, and guess what nobody cared and it solved their issue. My proposal would be:
key benefits:
Anyway just my view, open to any discussions around it 👍 |
@michaelsbradleyjr @alcuadrado @holgerd77 @lautarodragan @joshstevens19 @gnidan I'm impressed by all the feedback we got together here and I think we have definitely listed all possible solutions. ;) @cgewecke and I had a call yesterday evening to discuss the coming release and especially all the inputs we got here. We were both agreeing in the end that we won't publish any breaking changes within the 1.x version scope. This doesn't mean that we will remove those issues above but we will definitely only implement those additions or fixes (mostly edge-cases) who don't introduce a breaking change. Is there any missing feature or non-breaking fix who should be a part of the 1.3.0 release and isn't listed above? Edit: |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions |
Description
Because we have soon finished all of the stabilization improvements listed here are we able to plan the tasks until 1.3.0.
Improvements
0x
prefix for any given hex value_txInputFormatter
with hex prefix check #3317auto-reconnect
Feel free to give your feedback about the lists above @alcuadrado @cgewecke @gnidan @michaelsbradleyjr @sohkai @caleteeter
The text was updated successfully, but these errors were encountered: