Skip to content

ver.1.4.1

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Jul 14:54
81223ed

2026年7月12日

  • 發佈重點:修復 opencc npm 套件在沒有預編譯二進制的平台(如 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.hppsrc/PipelineConverter.cpp/.hppsrc/SingleStageConverter.cpp/.hppsrc/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)。
    • OpenCCConfig TypeScript 型別改由 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)。
  • 打包 / 構建系統
    • 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-pypi workflow 新增 push tag 觸發,與其他發佈 workflow 一致。
    • 穩定 Doxygen 文檔頁面 anchor ID,不再隨構建路徑變化(#1400)。
  • 測試
    • 新增 librime OpenCC 相容性測試,覆蓋 GetConversionChain、精確詞條展開與前綴匹配 fallback(#1395)。

Full Changelog: ver.1.4.0...ver.1.4.1