# API 與相容性穩定政策 [English](STABILITY.md) 本政策適用於 IMPE 1.x 系列。 ## 公開 API 公開 API 包括文件所記錄的標準 `impe*` package 與 class 入口,以及手冊和 `docs/` 參考文件所記錄的命令、key、id 與註冊介面。IMPE 1.x 不應在沒有 deprecation 路徑的情況下移除這些介面,或以不相容方式改變其既定語義。 ## Deprecated API 只有文件或執行環境明確標為 deprecated 的介面才屬於此類。文件必須說明替代介面與 遷移方式,舊形式也應保留適當的相容期間。除非記錄了充分的技術理由,移除通常應等到 major release。 ## 內部 API 未記錄的實作命令、資料結構與 module 內部介面不提供相容性保證。檔案位於 `core/` 或 `modules/`,不代表其中每個命令都是公開 API。 ## 舊 `next*` 入口 `next*` 是供既有文件使用的受支援相容邊界,不是標準 API,也不會因為是舊名稱就自動 成為 deprecated API。這些 wrapper: - 保留在倉庫以及 full/core release; - 由相容性回歸測試覆蓋; - 不收錄於 CTAN `impe-framework` 發佈; - 不用於新的手冊、模板、示例或一般受維護來源。專用相容性回歸 fixture 是明確的 測試例外,例如 `tests/legacy-entry.tex`。 新文件使用標準 `impe*` 入口。若日後改變 `next*` 的支援狀態,必須明確記錄,而不能 只從 legacy 名稱推斷。