Why3 API backward compatibility
Which backward compatibility should provide the Why3 API?
Backward compatibility could mean two things:
- User of an old version of the API could use the new
- New user of the API can write code that works with the old and new API
The first one implies the second one, but the first one can be defeated just by adding an optional argument.
Recently two little modifications broke the backward compatibility of Why3. The API of Why3 is quite big now, so I think it is hard to not get such cases. What can we try to do to avoid that?
- Do we give no backward compatibility insurance
- Do we add a smaller API which would be backward compatible
- Do we try to check in some ways that all the API is backward compatible with the last why3 version?