Format Versioning and Stability#

Starting with version 1.0.0, Apache Arrow usestwo versions to describe each release of the project:theFormat Version and theLibrary Version. Each LibraryVersion has a corresponding Format Version, and multiple versions ofthe library may have the same format version. For example, libraryversions 2.0.0 and 3.0.0 may both track format version 1.0.0. SeeImplementation Status for details about supported features in each library.

For library versions prior to 1.0.0, major releases may contain APIchanges. From 1.0.0 onward, we followSemantic Versioning with regards to communicating API changes. Weexpect most releases to be major library releases.

Backward Compatibility#

A newer versioned client library will be able to read any data andmetadata produced by an older client library.

So long as themajor format version is not changed, a newerlibrary is backward compatible with an older library.

Forward Compatibility#

An older client library must be able to either read data generatedfrom a new client library or detect that it cannot properly read thedata.

An increase in theminor version of the format version, such as1.0.0 to 1.1.0, indicates that 1.1.0 contains new features notavailable in 1.0.0. So long as these features are not used (such as anew data type), forward compatibility is preserved.

Long-Term Stability#

A change in the format major version (e.g. from 1.0.0 to 2.0.0)indicates a disruption to these compatibility guarantees in some way.Wedo not expect this to be a frequent occurrence.This would be an exceptionalevent and, should this come to pass, we would exercise caution inensuring that production applications are not harmed.

Pre-1.0.0 Versions#

We made no forward or backward compatibility guarantees forversions prior to 1.0.0. However, we made every effort to ensurethat new clients can read serialized data produced by library version0.8.0 and onward.

Post-1.0.0 Format Versions#

Since version 1.0.0, there have been five new minor versions and zero newmajor versions of the Arrow format. Each new minor version added new features.When these new features are not used, the new minor format versions arecompatible with format version 1.0.0. The new features added in each minorformat version since 1.0.0 are as follows:

Version 1.1#

  • Added 256-bit Decimal type.

Version 1.2#

  • Added MonthDayNano interval type.

Version 1.3#

Version 1.4#

Version 1.5#

  • Expanded Decimal type bit widths to allow 32-bit and 64-bit types.