2026年7月12日
- 發佈重點:修復
openccnpm 套件在沒有預編譯二進制的平台(如 Intel Mac)上退回源碼編譯時,因源碼包缺少檔案而安裝失敗的問題,並新增 darwin-x64(Intel Mac)預編譯 npm 套件;另包含一批詞庫修正、.ocd字典跨平台輸出修復與 Debian 打包流程重建。C++ ABI 與 1.4.0 相同(SOVERSION 1.4),下游程式無需重新連結。 - 詞庫更新:
- 修正「托 / 託」候選順序:
s2t中托預設保留不轉換(如托着、茶托、人名音譯),並補充「託」委託義的詞組轉換(#1405)。 - 依《通用規範漢字表》與《現代漢語詞典》修正「牴 → 抵」,以及「復 / 複 / 覆」相關轉換(#758)。
- 修正「黄粱美梦」相關轉換:不再輸出「黃樑美夢」,並將
STPhrases.txt中誤作「黄梁」的詞條統一為「黄粱」(#1408, #1410)。 t2s新增「遶 → 绕」轉換(#1399);t2s中保留簡體字形「坏」不再誤轉(#1391)。- 新增書法家「梁昇卿」人名詞條(#1402);新增香港地區詞「舒芙蕾 / 梳芙厘」(soufflé)(#1387)。
- 日文字體:補充
JPShinjitaiCharacters缺失的 11 個新字體字元(依安岡孝一「人名用漢字の新字旧字」),以相容性自映射收錄並用@reverse-prefer修正t2jp反向優先序(#1394)。
- 修正「托 / 託」候選順序:
.ocd字典格式 / 字典工具:BinaryDict序列化改為固定寬度(uint32)欄位,使 32-bit 與 64-bit 構建寫出的.ocd位元組一致;讀取端自動偵測舊版 64-bit 佈局,舊檔案仍可在任何平台載入(#1414)。- CMake 新增
OPENCC_DICT_FORMAT選項(ocd2/text/ocd),可選擇構建輸出的字典格式,配置 JSON 隨之改寫(#1396)。 opencc_dict整合 cppjieba 字典轉換(新增cppjieba_utf8輸入格式),取代並停止安裝原cppjieba_dict工具(#1392);CMake / Bazel 構建流程進一步改為直接以opencc_dict生成 jieba 合併詞典並移除私有構建工具,獨立構建 jieba 插件時需系統安裝 OpenCC ≥ 1.4.1 的opencc_dict。- vendored
darts-clone改為從 BCR 引入0.32h.bcr.1,移除本地補丁(#1386, #1401)。
- Node.js:
- 修復 npm 源碼包缺少
src/ConfigBasedConverter.hpp、src/PipelineConverter.cpp/.hpp、src/SingleStageConverter.cpp/.hpp、src/opencc_config_schema.inc六個編譯所需檔案,導致npm install源碼編譯失敗(#1409, #1411)。 - 新增
@opencc/opencc-darwin-x64與@opencc/opencc-jieba-darwin-x64預編譯套件,Intel Mac 不再需要源碼編譯(#1411)。 opencc-jieba預編譯二進制的 macOS 最低版本從構建機的 15.0 降至 11.0,與opencc主套件的預編譯二進制一致。prepack驗證腳本新增 gyp 源碼與#include閉包檢查,確保源碼編譯所需的所有檔案都在 npm 包的files白名單內,防止同類問題再次發生。- CI 新增「從
npm pack產出的 tarball 進行源碼編譯並安裝」的測試(ubuntu / macOS ARM / macOS Intel),覆蓋無預編譯二進制平台的實際安裝路徑。 - JavaScript API 支援以 inline config 物件建立轉換器,保留原有字串配置行為;並覆蓋 bundled assets、自定義配置目錄與 tofu-risk 過濾的測試(#1412)。
OpenCCConfigTypeScript 型別改由 JSON schema 自動生成,取代原本寬鬆的Record型別(#1413)。- Node 預編譯二進制(
@opencc/opencc-*scoped 套件)改用 Bazel 構建發佈,npm run prebuild(prebuildify / node-gyp)不再是官方發佈二進制的構建方式;Bazel 不支援的平台從此不再提供官方預編譯二進制,在這些平台上npm install目前仍會退回 node-gyp 源碼編譯,但此 fallback(binding.gyp)已計劃在後續版本中移除,屆時 Node 構建將統一使用 Bazel(#1416)。 - 重寫 Node demo 範例(commit)。
- 修復 npm 源碼包缺少
- 打包 / 構建系統:
- macOS 頂層 CMake 構建現在預設啟用 jieba 插件(
BUILD_OPENCC_JIEBA_PLUGIN=ON),Homebrew 等以預設選項構建的套件管理器將直接提供opencc-jieba插件與*_jieba.json配置;其他平台與以子項目方式(FetchContent /add_subdirectory)引入的構建維持預設關閉,Python wheel 構建亦顯式關閉。 - 重建 Debian 打包流程:新增頂層
debian/目錄使dpkg-buildpackage可端到端重現 Debian 構建,packaging/debian/補丁鏡像與 ver.1.4.0 源碼對齊,並改進 deb 構建腳本與 workflow(#1398, #1385, #1406)。 - Bazel 升級至 9.1.1(#1384);
rules_node_addon更新至 BCR 1.0.3(#1370)。 - MSVC
/W4改用add_compile_options設定,避免rc.exe資源編譯失敗(#1393);CMake 恢復支援舊式 Python executable 選項(#1389)。 - 新增
opencc-v<version>-resources.zip資源包發佈 workflow;release-pypiworkflow 新增 push tag 觸發,與其他發佈 workflow 一致。 - 穩定 Doxygen 文檔頁面 anchor ID,不再隨構建路徑變化(#1400)。
- macOS 頂層 CMake 構建現在預設啟用 jieba 插件(
- 測試:
- 新增 librime OpenCC 相容性測試,覆蓋
GetConversionChain、精確詞條展開與前綴匹配 fallback(#1395)。
- 新增 librime OpenCC 相容性測試,覆蓋
Full Changelog: ver.1.4.0...ver.1.4.1