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:
- retract version 1.2.0 so that MVS no longer selects it, see: https://golang.org/ref/mod#go-mod-file-retract
- tag a new 2.0.0 version
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.