Arrow format versioning and stability
To ensure confidence that updating the version of the Arrow library in use won’t break applications and the long-term stability of the Arrow project, two versions are used to describe each release of the project: the format version and the library version. Different library implementations and releases can have different versions, but they will always implement a specific format version. From version 1.0.0 onward, semantic versioning is used with releases.
Provided the major version of the format is the same between two libraries, any new library is backward-compatible with any older library with regards to being able to read data and metadata produced by an older library. Increases in the minor version of the format, such as an increase from version 1.0.0 to version 1.1.0, indicate new features that were added. So long as these new features are not used (such as new data types or physical layouts), older libraries will be able to read...