from Hacker News

Just say no – to versioning APIs

by charkubi on 2/20/21, 6:49 PM with 2 comments

  • by ggm on 2/20/21, 9:15 PM

    I think they misunderstand the purpose of the version signal across the protocol: if signals if a boundary point for api action can't do (only) what it used to do, it signals what might happen next.

    If v1.0 is deployed, does it subsume v0.9 (augment) or does it invalidate? At least two different outcomes. Now, analyse by actor: what could an initiator do, what could a responder do? Probably two or three choices. It's heading to a potential combinatorial explosion of pairs of behaviour across the sender/respondent barrier, both independent actors.. So, define each side, and limit this space but keep the version signalling to drive the decision logic.

    I think the original author gets this but proposes a rigid outcome. Well, sorry, but there are choices.

    Look at how zfs signals extensions and their effect on mutable state in the FS. Or, NFS