cenkalti/backoff

v4.2.0 inadvertently bumped Go version requirement

xen0n opened this issue · 4 comments

xen0n commented

In the wake of xen0n/go-workwx#129 (in Chinese but should roughly be readable via machine translation; the expressions there are rather understandable.)

Basically, #126 bumped the minimum required Go version to 1.18 due to introduction of generic code, but the subsequent release was still tagged v4.x.x. Due to semver conventions the breaking change is wrongly being interpreted as compatible, so consequently some downstream users of my library got bitten just because they're still on go1.17.

While all Go developers probably should upgrade their toolchain often, the breakage is real nevertheless, and IMO should be rectified by releasing v4.2.0 as v5.0.0, then fix v4 branch (unfortunately, by rewriting the generic code or backing out the change) and release v4.2.1.

What do you think?

bo-er commented

This problem has just wasted hours of my day!

I respect whoever made changes with good intentions to make backoff better, but importing breaking changes into minor versions of backoff is a disaster. You can't expect real industry code to keep pace with the latest GO version.

That seems reasonable.

@cenkalti?

Sorry for the mistake and wasted hours.

I would like to keep the current state and do nothing as I don't want to support this library for older versions of Go.

I hope you understand my decision.

Kind regards.

Resolving this as won't fix is a reasonable choice. (You, and everyone else, are under no obligation to support multiple branches.)