Closed jsuereth closed 9 years ago
looks reasonable but I guess we need to spell out what we do with protocol version for stuff like this. are we bumping it on every patch that adds a field, or only when we go to make a release? and the comment in Protocol.scala says we'll always be back-compat even when we bump it, which I think is right, but then why do we have the protocol-versioned directory in the tests?
I'm fine with saying we'll bump the protocol version essentially never. I think there's almost always a better answer - back-compat addition, feature tags, changing the lockfile we use to launch, etc.
The one argument for bumping it on every added field would be that then clients or servers can fail fast if they truly require a newer field. For example if a client needs this info you've added here and you bump to 2, then it could require 2 on startup and complain otherwise.
So here's an attempt to sketch how changes to the protocol get handled:
@havocp @eed3si9n Check the new infrastructure i added to test new protocols and the bump to protoocl version 2.
LGTM. will let Eugene also look.
LGTM
...d.
Replaces #286
A few caveats
Thanks to @dancingrobot84 for the original patch.
Review by @havocp (Protocol update review by @eed3si9n )
cc> @dancingrobot84 @dpratt