holiman/uint256

The 1.2.0 release is not API compatible with 1.1.1, breaking SemVer assumptions

Closed this issue · 1 comments

The 1.2.0 release broke the API, and thus should have been 2.0.0
The breaking change came in b323bdc
Where NewInt() changed to NewInt(val uint64).

This breaks MVS, and thus all libraries depending on your library, like go-ethereum where currently new developers importing go-ethereum will get the latest compatible version of uint256 (the latest in version 1 which is 1.2.0) but is not actually compatible.
The result is new developers not being able to build their projects.

The steps to rectify this is:

Apologies for the inconvenience, but it's moot at this point to change. uint256 is primarily built for go-ethereum, and I'm not going to retroactively fix this. Updating major version number is simply too cumbersome for such a tiny change -- but yes, in hindsight I agree it would have been the right thing to do.