I didnt see one, but does this exist? Mostly interested in the breaking parts.
No, I don't have such changelog. AFAIK there are no subtle changes that can silently break your app. All changes should be detected at compilation time and they are about removing deprecated APIs.
I'm getting a lot of &errors.errorString{s:"redis: can't marshal []string (consider implementing encoding.BinaryMarshaler)"}
I suggest to address the changelog from v3 to v4 somewhere(maybe in the doc on gopkg.in), I cost long time searching on google and finally saw this issue.
I figured out what my error meant after a bit.
In Eval or EvalSha the arguments to the script used to be []string and now are ...arguments []string meaning you have to change calls
from:
keys = []string{"1"}
args = []string{"2", "3"}
r.Eval(keys, args)
To
keys = []string{"1"}
args = []string{"2", "3"}
r.Eval(keys, args...)
the issue i met was: I used redis.v3 to connect to redis 3.2 cluster, redis client complained "redis: ClusterSlots failed: got 3 elements in cluster info address, expected 2". Then I updated to redis.v4 and the issue resolved. Seems redis.v4 supports redis 3.2 while redis.v3 supports 3.0. Such basic things should be included in the document.
I promise to have changelog for v5 :)
@vmihailenco need to upgrade v5, is there something around? Thanks!