格式版本與穩定性#
從 1.0.0 版本開始,Apache Arrow 使用兩個版本來描述專案的每個發行版本:格式版本和函式庫版本。每個函式庫版本都有對應的格式版本,並且多個函式庫版本可能具有相同的格式版本。例如,函式庫版本 2.0.0 和 3.0.0 可能都追蹤格式版本 1.0.0。請參閱 實作狀態 以取得每個函式庫中支援功能的詳細資訊。
對於 1.0.0 之前的函式庫版本,主要發行版本可能包含 API 變更。從 1.0.0 開始,我們遵循 語意化版本控制,以溝通 API 變更。我們預期大多數發行版本都會是主要的函式庫發行版本。
向下相容性#
較新版本的用戶端函式庫將能夠讀取由較舊版本的用戶端函式庫產生的任何資料和中繼資料。
只要主要格式版本未變更,較新的函式庫就向下相容於較舊的函式庫。
向上相容性#
較舊版本的用戶端函式庫必須能夠讀取從較新版本的用戶端函式庫產生的資料,或偵測到它無法正確讀取資料。
格式版本的次要版本增加,例如從 1.0.0 到 1.1.0,表示 1.1.0 包含 1.0.0 中不可用的新功能。只要未使用這些功能(例如新的資料類型),向上相容性就會保留。
長期穩定性#
格式主要版本 (例如從 1.0.0 到 2.0.0) 的變更表示這些相容性保證在某些方面受到破壞。我們不預期這種情況會經常發生。這將是一個例外事件,如果發生這種情況,我們將謹慎行事,以確保生產應用程式不會受到損害。
1.0.0 之前的版本#
對於 1.0.0 之前的版本,我們不提供任何向上或向下相容性保證。但是,我們盡一切努力確保新的用戶端可以讀取由函式庫版本 0.8.0 及更高版本產生的序列化資料。
1.0.0 之後的格式版本#
自 1.0.0 版本以來,Arrow 格式已經有五個新的次要版本和零個新的主要版本。每個新的次要版本都新增了新功能。當未使用這些新功能時,新的次要格式版本與格式版本 1.0.0 相容。自 1.0.0 以來,每個次要格式版本中新增的新功能如下
版本 1.1#
新增 256 位元十進位類型。
版本 1.2#
新增 MonthDayNano 間隔類型。
版本 1.3#
新增 行程長度編碼佈局。
版本 1.4#
新增 可變大小二進位檢視佈局 以及相關聯的 BinaryView 和 Utf8View 類型。
新增 ListView 佈局 以及相關聯的 ListView 和 LargeListView 類型。
新增 可變參數緩衝區。
版本 1.5#
擴展十進位類型位元寬度以允許 32 位元和 64 位元類型。