-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add version compatibility documentation #229
Conversation
Thanks for the contribution @TheNeuralBit - it looks good! I don't have any particular nits on this, and it'd be a good thing to have in. |
I removed a trailing space on one line to fix the lint CI check |
The examples clarifying the policy look great to me. On the exact terminology of "backwards compatible", I am not entirely sure it is correct or whether it should be "forwards compatible" in context of the format spec. For example https://arrow.apache.org/docs/dev/format/Versioning.html only uses "backwards compatibility" for library versions, while it used "forward compatibility" for minor versions of the format:
Now, as @paleolimbot mentioned in the meeting, maybe the current wording here is fine, as you can say that a backwards compatible addition to the format spec ensures to preserve forward compatibility. |
As additional context, there is a WIP update for the Parquet format itself to better describe this (apache/parquet-format#258). The current version of the PR defines:
This defines "forward compatibility" a bit different, as we explicitly say that it is fine to add new features as long as old readers can detect that the new feature is being used. |
Thanks for the comments. I think you're right we should talk about forward compatibility here. It's not necessarily true that a backward compatible change is forward compatible. It would be backwards compatible to add a new field that, when specified, changes the interpretation of some other field, but that's not forward compatible (an older reader would get incorrect results by ignoring the new field). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update!
Looks great, merging in. |
This PR proposes some version compatibility documentation, as discussed in #228. I'm just aiming to get the conversation started here. I welcome any bike shedding or nits. Or if someone more closely aligned with the project wants to take this over I'm happy to support that as well.