Authored by Phil Ngo
Imagine you're building a house. You have a blueprint passed along from multiple designers and architects, you start building out the foundation, putting up the framework, and just when you're about to achieve a milestone in the build, something unexpected happens.
You use a hammer (maybe not the best hammer, but it still works!) to nail in the final wood plank of this milestone's framework, but all of a sudden, a part of it somewhere else gets unstable, and one side of the frame start to break.
How did that happen? Maybe the foundation wasn't done correctly? Maybe the blueprints weren't correct? Maybe there's some instability somewhere else? There could be many factors, but it's incredibly frustrating because you don't know what you did wrong, and it just isn't working. This is essentially what we're dealing with right now on Web3.js with our
Version 1.6.1 is finally released
We just deployed
1.6.1 after four release candidates, each with their own intricate set of problems which diverts our team's ability to focus on our
4.x TypeScript rewrite. We understand the dependence of many critical applications utilizing Web3.js. And the last thing we want to do is release a version that creates other issues for our users, but it feels almost inevitable with the state of Web3.js
1.x. Releasing versions that break usability is a huge concern for us because it means you're not likely to upgrade and will revert to a previous, outdated version with little or no support.
We apologize for the severe delay in releasing a new update with important fixes, including a breaking output change in
This example is why the 4.x TypeScript rewrite is vital to the future of Web3.js
Again, it has been demonstrated time and again that we are putting most of our efforts into rebuilding the Web3.js library. Our
4.xTypeScript rebuild takes this foundation into consideration so we can better maintain Web3.js going forward and provide developers with a better experience using the library.
We would like to reiterate how important it will be to migrate to the new
4.xTypeScript rewrite as soon as it's stabilized. We are working to minimize the differences and avoid breaking changes as much as possible as we understand migration is not always fun for those who rely on our work.
As we continue to pour our resources into making
4.xa stable version at feature parity for our users, we also recognize the frustration involved with current issues that continue to go unresolved because of the higher priority of stabilizing
4.x . Our rationale remains that 4.x will help solve a majority of issues plaguing our current
1.x releases. And the priority will be to complete this as soon as possible for the community.
Thank you again for your understanding as we work to achieve a better Web3.js for all!
While I still have your attention, we have an open discussion about how
gasPriceautofills on all
web3.eth.sendTransaction transactions if the user does not explicitly specify it. We would love your feedback on whether this functionality is actually an issue and not a feature for most users. Modifying this will likely affect many users. Hence the discussion is open for anyone to add their opinion.