## Bug Fixes - Fix standard image size issue (was ~1.5GB, should be 8-12GB) - Add strict model validation during build - Add retry mechanism (--retry 3 --retry-delay 5) to all curl downloads ## Documentation - Clarify version terminology: Standard (一般版), Extended (擴充版), Lite (Lite版) - Remove duplicate docs/環境變數總覽.md - Improve environment variable documentation structure - Add quick reference tables for environment variables ## Build - Explicitly specify 'file: Dockerfile' in release.yml - Use 'buildcache-full' cache key to prevent cross-pollution
31 KiB
Changelog
0.1.16 (2026-01-24)
一般版 Docker Image 修復版本,確保開箱即用。
🐛 Bug Fixes
-
一般版 Docker Image 大小修復:修復 0.1.15 版本 image 體積異常問題
- 問題:一般版 image 僅約 1.5-2 GB,應為 8-12 GB
- 原因:release.yml 未明確指定 Dockerfile,可能導致 cache 問題
- 修復:明確指定
file: Dockerfile並使用獨立的 cache key
-
嚴格模型驗證:新增 build-time 模型驗證機制
- 若 ONNX 模型缺失或過小,build 將失敗
- 若 PDFMathTranslate 字型數量不足,build 將失敗
- 確保發布的 image 一定包含所有必要模型
-
下載重試機制:所有 curl 下載增加重試機制
- 新增
--retry 3 --retry-delay 5 --retry-all-errors參數 - 覆蓋範圍:Bun、dasel、resvg、vtracer、ONNX 模型、字型檔案
- 新增
📦 Build
- release.yml 改進:
- 新增
file: Dockerfile明確指定使用一般版 Dockerfile - 使用
buildcache-full作為 cache key,避免與 Lite 版交叉污染
- 新增
- Dockerfile 強化:
- 版本號更新為 v0.1.16
- 新增嚴格模型驗證區塊(驗證 ONNX、字型、MinerU)
- 驗證失敗時 build 將中止並報錯
- 所有下載均添加重試機制
📚 Documentation
- 版本術語統一:
- 一般版(Standard):官方預建版
convertx-cn:latest,約 8-12 GB,開箱即用 - 擴充版(Extended):使用
Dockerfile.full自建,支援 65 種 OCR 語言,>10 GB - Lite 版(Lightweight):
convertx-cn:latest-lite,約 1.2 GB,基本轉檔
- 一般版(Standard):官方預建版
- 環境變數文檔重整:
- 刪除重複的
docs/環境變數總覽.md - 改進
docs/配置設定/環境變數.md結構 - 新增快速參考表(分類:安全性、一般、轉換、PDF翻譯)
- 刪除重複的
- Docker 部署指南更新:
- 新增版本對照表
- 明確三種版本的區別與適用場景
0.1.15 (2026-01-24)
Docker 基礎架構優化版本,新增 Lite 版 Docker Image。
✨ Features
- Lite 版 Docker Image:新增輕量版 Docker Image,適合資源受限環境
- 目標體積 < 1.5 GB(vs 一般版 8-12 GB)
- 保留日常最常用功能:LibreOffice、FFmpeg、Pandoc、Ghostscript、qpdf
- 移除 AI/OCR/翻譯等進階功能
- 支援 amd64 和 arm64 架構
- Runtime 憑證初始化(容器首次啟動時自動產生簽章憑證)
📦 Build
- Docker Build Lite Workflow:新增
docker-build-lite.yml自動觸發 Lite 版構建- Tag 格式:
v*.*.*-lite(如v0.1.15-lite) - 動態版本號修改(Build-time 自動加上
-lite後綴) - 分開處理 GHCR 和 Docker Hub manifest 推送,避免跨 registry 問題
- Tag 格式:
🐛 Bug Fixes
- Lite 版 endesive 問題:移除 build-time endesive 安裝,改用 runtime 初始化
- 解決 ARM64 架構上 pykcs11 編譯失敗的問題
- PDF 簽章功能改為可選(需使用者自行安裝 endesive 或使用一般版)
0.1.14 (2026-01-23)
OCR 功能強化版本,新增 OCRmyPDF 轉換引擎。
✨ Features
- OCRmyPDF 轉換引擎:新增獨立的 OCR 轉換引擎,支援將掃描版 PDF 轉換為可搜尋 PDF
- 支援 7 種語言:英文、繁體中文、簡體中文、日文、韓文、德文、法文
- 與 PDFMathTranslate 風格一致的 UI 格式(
pdf-en、pdf-zh-TW等) - 自動偵測頁面方向並旋轉
- 自動校正傾斜
- 跳過已有文字層的頁面
- 詳細的5階段處理進度輸出
📦 Build
- Dockerfile:安裝 ocrmypdf 與 Tesseract OCR 語言包(階段 9/11)
📚 Documentation
- 更新 OCR 功能文件,說明 OCRmyPDF 轉換引擎用法
0.1.13 (2026-01-23)
工作流程優化與測試修復版本。
📦 CI/CD
- 翻譯測試優化:改用免費翻譯服務(Google/Bing),移除付費 API 金鑰依賴
- 自動化測試:翻譯測試現在會在 push 時自動執行
🧪 Testing
- Inkscape 測試修復:更新測試以配合 xvfb-run 包裝器
- format-matrix 測試修復:修復超時參數中的
sampled未定義錯誤
0.1.12 (2026-01-23)
測試與品質強化版本,大幅提升 CI/CD 可靠性與測試覆蓋率。
🧪 Testing
- E2E 測試套件:新增完整的 End-to-End 測試架構,覆蓋 21 項轉換流程
- CI/CD E2E 整合:在 Release 工作流程中加入 E2E 測試驗證
- Mock 測試優化:重構 E2E 測試架構,移除殘留檔案
🐛 Bug Fixes
- 帳戶頁面 XSS 修復:使用
<span safe>包裹翻譯文字,修復 HTML 標籤顯示為純文字的問題 - Inkscape Headless 模式:使用
xvfb-run執行 Inkscape,解決 Docker 容器內無顯示器的問題 - Inkscape Export 語法:改用
--export-type與--export-filename參數,確保跨版本相容性 - bun.lock 同步:修復套件管理器寫入權限問題
📦 CI/CD
- 模型驗證:新增模型完整性驗證步驟
- Headless 驗證:新增無頭模式環境檢查
- Merge 策略:採用
--no-ff合併策略,保留完整分支歷史
📚 Documentation
- README 更新:新增測試功能說明與注意事項
0.1.11 (2026-01-22)
穩定性與品質維護版本。
🛡️ Stability & Quality
- 模型驗證腳本:新增
verify-models.sh腳本,可在容器內驗證預下載模型完整性 - Dockerfile 版本標示:明確標註 v0.1.11 版本資訊
🔧 Maintenance
- 更新工作流程中的 Node.js 和 Bun 版本
- 調整 CI/CD 依賴項版本
- 修正工作流程名稱格式
- 新增遠端服務更新工作流程(透過 Tailscale SSH 更新 Docker 服務)
✅ Quality Assurance
- 159 個測試全數通過
- TypeScript / ESLint / Prettier / Knip 檢查全數通過
- Build 流程驗證完成
0.1.10 (2026-01-21)
在 0.1.10 版本中,ConvertX-CN 迎來了多項重大功能擴充與架構強化。這是一個里程碑式的版本,為專案帶來了全新的 API 伺服器、兩個強大的文件轉換引擎,以及完整的大檔案傳輸機制。
✨ Features
-
Rust API Server(全新):新增獨立的 Rust API 伺服器,同時支援 REST API 與 GraphQL API。所有 API 請求皆需 JWT Bearer Token 驗證,整合 20+ 種轉換引擎,並在轉換不支援時自動回傳可用替代方案。這為程式化呼叫 ConvertX 開啟了全新的可能性。
-
MinerU 文件轉換引擎:整合 MinerU 智慧文件解析引擎,支援將 PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX 等文件轉換為 Markdown 格式。提供兩種輸出模式:
md-t(表格模式)與md-i(圖片模式),轉換結果以.tar封裝輸出。 -
PDFMathTranslate 翻譯引擎:新增 PDF 數學公式保留翻譯功能,支援 15 種目標語言(包含繁體中文、簡體中文、英文、日文、韓文、德文、法文等)。轉換結果包含原始 PDF 與翻譯後 PDF,一同打包為
.tar檔案。 -
分塊傳輸機制(Chunk Transfer):針對大檔案傳輸設計的全新機制。超過 10MB 的檔案將自動切割為 5MB 分塊上傳,並支援斷點續傳與亂序上傳合併。下載端同樣支援分塊下載,確保大檔案傳輸穩定可靠。
-
深色模式切換:Header 新增主題切換按鈕,支援淺色 / 深色模式一鍵切換,偏好設定自動儲存至本地。
🐛 Bug Fixes
- Lint 問題修復:修復 XSS K601 安全警告、Knip 未使用匯出偵測、以及 ESLint 錯誤,確保程式碼品質符合規範。
📦 Infrastructure
-
Docker Compose 擴充:新增 API Server 的 Docker Compose profiles 整合,可透過
--profile api一併啟動 API 伺服器。包含完整的環境變數範例與健康檢查腳本。 -
Dockerfile 強化:擴充主 Dockerfile 以支援 PDFMathTranslate 所需的 Python 環境與模型預載。
📚 Documentation
- README 大幅擴充:新增 API Server 說明、新轉換器介紹、以及更詳細的部署指南。
- i18n 文件更新:新增主題切換相關的國際化字串,覆蓋所有 65 種語言。
🧪 Testing
- 新增 MinerU converter 完整測試(11 個測試案例)
- 新增 PDFMathTranslate converter 完整測試(13 個測試案例)
- 新增 Chunk Transfer 模組完整測試(上傳 / 下載 / 封裝共 32 個測試案例)
- 所有 159 個測試案例全數通過
0.1.9 (2026-01-20)
✨ Features
- 全頁拖曳上傳:檔案可拖曳到頁面任何位置上傳
- Setup 頁面語言切換:首次設定頁面新增語言選擇器
🐛 Bug Fixes
- 語言選擇器 UI 修復:
- 語言 icon 尺寸從 h-5 w-5 增大至 h-6 w-6,與文字視覺高度一致
- Dropdown 背景改為完全不透明,提升可讀性
- 新增 scrollbar 樣式,改善滾動體驗
- 邊框顏色加深,增強視覺對比
🌍 i18n
- 提示訊息國際化:所有 confirm / alert 訊息改用 i18n
- Setup 頁面 i18n 完整化:首次設定頁面所有文字皆使用 i18n key
📚 Documentation
README 重新定位為「開箱即用」:
- 精簡至 100 行內,5 分鐘完成部署
- 只保留必要參數說明
- 進階內容移至 docs 子目錄
新增文件結構:
| 目錄 | 內容 |
|---|---|
docs/deployment/ |
quickstart, docker-compose, update |
docs/config/ |
environment, security |
docs/versions/ |
latest, pinned-version |
文件拆分原則:
- README = 新手入口(一分鐘看懂怎麼部署)
- docs/ = 進階參考(完整設定、情境範例)
- 每個文件都有清楚的連結導航
0.1.8 (2026-01-20)
🐛 Bug Fixes
- LibreOffice PDF→DOCX: 修復 PDF 轉 DOCX 一定失敗的問題
- 新增 PDF Import Pipeline:使用
--infilter=writer_pdf_import - 分流邏輯:PDF→文字格式 vs 一般轉換
- 支援 PDF→DOCX/ODT/RTF/TXT/HTML
- 新增 PDF Import Pipeline:使用
🛡️ Reliability
- 輸出檔案驗證: 新增
existsSync檢查,確保轉換真的成功 - 錯誤訊息優化: 根據 stderr 內容提供有意義的中文錯誤訊息
- 識別加密檔案、損壞檔案、缺少 filter 等情況
- 避免 ENOENT 錯誤擴散
📝 Technical Notes
- LibreOffice 架構說明:
- Export Pipeline:原生格式→導出格式(DOCX→PDF)
- Import Pipeline:非原生格式→原生格式(PDF→DOCX)
- PDF 作為輸入時必須使用
writer_pdf_import
⚠️ Known Limitations
以下情況仍會失敗(LibreOffice 限制):
- 加密/密碼保護的 PDF/DOCX
- 損壞的檔案
- 缺少必要字型(可能成功但版面錯亂)
- 並行大量轉檔(LibreOffice 對 concurrent instance 不友善)
0.1.7 (2026-01-20)
🐛 Bug Fixes
- 登入問題: 修復遠端部署時登入後被導回登入頁的問題
- 將 Cookie
sameSite從strict改為lax - 新增 Cookie
path設定確保覆蓋整個應用 - 新增
TRUST_PROXY環境變數支援 reverse proxy
- 將 Cookie
🚀 Features
- Dockerfile 擴充: 直接內建進階功能(不再分 Full 版)
- 新增
texlive-lang-arabic阿拉伯語 LaTeX 支援 - 新增
texlive-lang-other希伯來語等 LaTeX 支援 - 新增
python3-opencv電腦視覺轉換支援 - 新增
libavcodec-extra額外影片編解碼器
- 新增
- Locale: 預設改為
zh_TW.UTF-8確保中文 PDF 正確顯示 - Pandoc: PDF 引擎改用
pdflatex提高相容性
📝 Docs
- 更新 compose.yaml 加入
TRUST_PROXY說明 - 新增遠端部署注意事項
0.1.6 (2026-01-20)
Features
- Docker 架構: 整理並優化官方 Dockerfile
- 更新 Dockerfile 註解與文件說明
- 新增 Dockerfile.full 完整版範本
- Dockerfile.full: 進階使用者自行 build 的完整範本
- 包含 65 種 OCR 語言(預設關閉)
- 包含完整 TexLive 選項(預設關閉)
- 包含額外字型套件(預設關閉)
- 所有進階功能以註解方式提供,使用者自行選擇
Docs
- 更新 docs/docker.md
- 說明官方 Image vs 完整版差異
- 新增自訂 Build 指南
- 新增可選功能大小說明
Optimization
- 優化 Dockerfile 結構與註解
- 清楚標示哪些功能未內建於官方 Image
0.1.5 (2026-01-20)
Features
- 註冊功能: 移除 ACCOUNT_REGISTRATION 限制,註冊頁面始終可用
- 語言選單: UI 改為可滾動(max-height: 320px),避免畫面被撐爆
- 文件系統: 新增 FAQ 常見問題文件
Bug Fixes
- Login 頁面始終顯示 Register 連結
- 註冊後可直接登入(與原作者 v0.17.0 行為一致)
Docs
- 簡化 README 快速開始說明
- 更新 getting-started.md 加入資料夾初始化指令
- 新增 docs/faq.md 常見問題
0.1.4 (2026-01-20)
Features
- i18n: 擴展支援 65 種語言(從 5 種大幅擴展)
- 歐洲語系:de, fr, es, it, pt, ru, nl, pl, uk, cs, sv, da, fi, no, el, hu, ro, bg, hr, sk, sl, lt, lv, et, sr, ca, eu, gl, is, ga, cy, mt, mk, sq
- 中東語系:ar, he, fa, tr
- 南亞語系:hi, bn, ta, te, mr, gu, kn, ml, ne, si
- 東南亞語系:th, vi, id, ms, fil, my, km, lo
- 非洲語系:af, sw, am, zu
- 註冊功能: 預設開放使用者註冊(開箱即用)
- 文件: 完整的文件系統
- 新增 getting-started.md 快速入門指南
- 新增 docker.md Docker 部署指南
- 新增 environment-variables.md 環境變數說明
- 新增 url-id-and-storage.md 儲存結構說明
- 新增 advanced-usage.md 進階使用指南
- 更新 i18n.md 65 種語言清單
Bug Fixes
- 修復 i18n 模組導入路徑問題
- 修復 TypeScript 編譯錯誤
Breaking Changes
ACCOUNT_REGISTRATION預設值從false改為true(開箱即用)
0.1.3 (2026-01-20)
Features
- i18n: Add multi-language UI support with 5 languages
- English (en) - default
- Traditional Chinese (zh-TW) / 繁體中文
- Simplified Chinese (zh-CN) / 简体中文
- Japanese (ja) / 日本語
- Korean (ko) / 한국어
- Add language selector dropdown in navigation header
- Auto-detect user's preferred language from browser settings
- Persist language preference in cookies
- All UI text (buttons, labels, messages, errors) now supports translation
- Extensible i18n architecture for adding more languages in the future
Technical Details
- New
/src/i18n/directory with translation core functionality - New
/src/locales/directory with JSON translation files - New
LanguageSelectorcomponent for language switching - Updated all page components to support localization
- Client-side translation helper for dynamic content
0.15.0 (2025-10-07)
Features
- add download all file by file alongside the tar download (#415) (3e7e95b)
- vtracer implemented and added docker file binaries install (76c840d)
Bug Fixes
- add language env (f789d9d)
- add lmodern (761f56b), closes #320
- missing public files (8a888cc), closes #314
- move color variables to seperate directory (3bf82b5), closes #53
- run qtwebengine without sandbox (9f2bdad)
- update favicon (827f22e), closes #158
0.14.1 (2025-06-04)
Bug Fixes
0.14.0 (2025-06-03)
Features
- add dvisvgm (625e1a5)
- add ImageMagick (b47e575), closes #295, closes #269
- enhance job details display with file information (50725ed), closes #251
- improve job details interaction and accessibility (29ba229)
- show version in footer (9a49ded)
Bug Fixes
- add av1 and h26X with containers (af5c768), closes #287, closes #293
- progress bars on firefox (ff2c005)
- register button style (b9bbf77)
- switch from alpine to debian trixie (4e4c029), closes #234, closes #199
0.13.0 (2025-05-14)
Features
- add HIDE_HISTORY option to control visibility of history page (9d1c931)
- add potrace converter (bdbd4a1)
- Add support for .HIF files (70705c1)
- add support for drag/drop of images (ff2ef74)
Bug Fixes
0.12.1 (2025-03-20)
Bug Fixes
- rollback to bun 1.2.2 (cdae798)
0.12.0 (2025-03-06)
Features
- added progress bar for file upload (db60f35)
- made every upload file independent (cc54bdc)
- replace exec with execFile (9263d17)
Bug Fixes
- add libheif (6b92540)
- add libheif (decfea5), closes #202
- added onerror log (ae4bbc8)
- refactored uploadFile to only accept a single file instead of multiple (dc82a43)
- update libheif to 1.19.5 (fba5e21), closes #202
0.11.1 (2025-02-07)
Bug Fixes
- mobile view overflow (bec58ac)
0.11.0 (2025-02-05)
Features
Bug Fixes
0.10.1 (2025-01-21)
Bug Fixes
0.10.0 (2025-01-18)
Features
Bug Fixes
- add FFMPEG_ARGS env variable (f537c81), closes #190
- add qt6-qtbase-private-dev from community repo (95dbc9f)
- skip account setup when ALLOW_UNAUTHENTICATED is true (538c5b6)
0.9.0 (2024-11-21)
Features
- add inkscape for vector images (f3740e9)
- Allow to chose webroot (36cb6cc), closes #180
- disable convert when uploading (58e220e), closes #177
Bug Fixes
- treat unknown as m4a (1a442d6), closes #178
- wait for both upload and selection (4c05fd7), closes #177
0.8.1 (2024-10-05)
Bug Fixes
- disable convert button when input is empty (78844d7), closes #151
- resize to fit for ico (b4e53db), closes #157
- treat jfif as jpeg (339b79f), closes #163
0.8.0 (2024-09-30)
Features
Bug Fixes
- add support for usd for assimp, #144 (2057167)
- cleanup formats and add opus, fixes #159 (ae1dfaf)
- support .awb and clean up, fixes #153, #92 (1c9e67f)
0.7.0 (2024-09-26)
Features
- Add support for 3d assets through assimp converter (63a4328)
Bug Fixes
- wrong layout on search with few options (8817389)
0.6.0 (2024-09-25)
Features
- ui remake with tailwind (22f823c)
Bug Fixes
0.5.0 (2024-09-20)
Features
- add option to customize how often files are automatically deleted (317c932)
Bug Fixes
- improve file name replacement logic (60ba7c9)
0.4.1 (2024-09-15)
Bug Fixes
0.4.0 (2024-08-26)
Features
- add option for unauthenticated file conversions #114 (f0d0e43)
- add resvg converter (d5eeef9)
- add robots.txt (6597c1d)
- Add search bar for formats (53fff59)
Bug Fixes
- keep unauthenticated user logged in if allowed #114 (bc4ad49)
- pdf support in vips (8ca4f15)
- Slow click on conversion popup does not work (4d9c4d6)
0.3.3 (2024-07-30)
Bug Fixes
- downgrade @elysiajs/html dependency to version 1.0.2 (c714ade)
0.3.2 (2024-07-09)
Bug Fixes
0.3.1 (2024-06-27)
Bug Fixes
- release releases (4d4c13a)
0.3.0 (2024-06-27)
Features
- add version number to log (4dcb796), closes #44
- change to xelatex (fae2ba9)
- print version of installed converters to log (801cf28)
0.2.0 (2024-06-20)
Features
0.1.2 (2024-06-10)
Bug Fixes
0.1.1 (2024-05-30)
Bug Fixes
0.1.0 (2024-05-30)
Features
- remove file from file list in index.html (787ff97)
Miscellaneous Chores
- release 0.1.0 (54d9aec)