Skip to content

v0.2.5

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:35
· 602 commits to main since this release

從 0.2.4 升級:docker compose pull && docker compose up -d 就好,.env 不用改;docker-compose.yml 只改了開頭的
註解,不換也可以。image 是 ghcr.io/1morr/berth:0.2.5,同時是 :0.2 與 :latest。這一版有資料庫 migration
(a6c3e9f2b815,Berth 啟動時自動套用一次),不必做任何事;既有的 Job、檔案、計劃與帳本都留著。下面〈Removed〉的
API 欄位與 GET /api/settings/services 只有 Berth 自己的畫面在用,升級之後重新整理一次頁面即可。從這一版起,
部署檔附在每一版的 Release 上,README 的連結固定指向最新一版。

Changed

  • 部署的兩個檔改成 Release 的附件,README 的連結不再帶版號(M4 票 97):每一版的 Release 附上
    docker-compose.yml 與 example.env(就是 repo 的 deploy/.env.example;GitHub 會改掉開頭是 . 的附件名),
    README 與 Unraid 那一段連到 https://github.com/1morr/Berth/releases/latest/download/docker-compose.yml 與
    .../example.env,永遠是最新正式版的檔案,預發佈不算。0.2.4 已補上這兩個附件。要固定某一版,把 latest/download
    換成 download/v<版號>(docs/guide/upgrading.md)。已經在跑的不用改任何東西。

Removed

  • API 回應裡畫面沒讀的欄位(M4 票 94):GET /api/jobs 與各支回 Job 的端點拿掉 trigger_ref、route_slug、
    user_id、completed_at、imported_at;GET /api/jobs/{hash}/deletion 拿掉 link_bytes、source_bytes
    (可釋放的量照舊在 reclaimable);GET /api/health/budget 拿掉 window_seconds、每站的 frees_at、延後工作的
    since;RSS 的 Item 拿掉 seen_at、GET /api/rss/mikan/bangumi/{id} 拿掉 premiere;審核佇列對不到的那一列拿掉
    file_kind。資料庫不動。自己寫腳本讀這幾欄的要改;content_path 與計劃的 engine / engine_version 留著。
  • 四個沒有人讀的資料庫欄位(M4 票 95):jobs.last_seen_in_client_at、job_files.updated_at、
    ledger.source_inode、ledger.link_mode。畫面與 API 都沒有用過它們(API 回應本來就不帶)。
    資料庫 migration a6c3e9f2b815:原生刪欄,不重建表。降版把欄位加回來:來源 inode 補成目標 inode
    (硬鏈接兩端相同)、鏈接方式補 hardlink、檔案的更新時間補成 Job 加入的時間、最後在客戶端看到的時間留空。
  • GET /api/settings/services(M4 票 87):回的與 GET /api/health/detail 一字不差,設定頁的健康卡改讀後者。
    之前兩頁各有一份快取,在健康頁按「立即重測」之後,設定頁的卡片要等它自己重抓才會是新的;現在兩頁讀同一份。
    POST /api/settings/services/{kind}/test 照舊。
  • GET /api/setup/jellyfin 等精靈 Jellyfin 端點回應裡的 libraries(M4 票 91):畫面沒有讀它,頁 3 的媒體庫清單
    一直讀 GET /api/setup/routes 的 libraries,那一份照舊(同樣有 uses_tvdb、berth_path、has_berth_path)。
  • GET /api/setup/status、GET /api/setup/routes 等精靈端點回應裡的 completed(M4 票 93):畫面沒有讀它,
    精靈跑完了沒一直看 GET /api/health 的 setup_completed,那一份照舊。POST /api/setup/complete 與
    /api/setup/routes 系列回同樣的形狀,也一起少了這個欄位。
  • Berth 不再讀環境變數 DATA_ROOT(M4 票 93):它從來沒有作用——incomplete、complete 與媒體庫的路徑來自資料庫的
    路徑設定,image 的 ENV DATA_ROOT=/data 一併拿掉。.env 與 docker-compose.yml 不用改:DATA_ROOT 還是 compose
    把宿主目錄掛到容器 /data 的那個變數。本機開發的 .env.example 不再列它。

Fixed

  • 刪除還在下載的單、勾了「刪除下載目錄裡的檔案」,incomplete 裡下到一半的那一包也刪掉(M4 票 74):之前只刪 complete
    底下的,/data/torrent/incomplete/<分類>/ 裡那一包留著、沒有任何東西管它,回應與時間線還說空出 0。現在照 qBittorrent
    報的內容路徑逐檔刪(只刪那一個 torrent 的;從沒報過內容路徑的不猜),刪除框的「會空出多少」也算進它——沒有媒體庫鏈接時
    只勾刪檔就說得出數字。
  • RSS 綁定框與一次性連結的搜尋框,預填的作品名改由 Berth 從發佈名讀(M4 票 88):與自動綁定拿去搜 TMDB 的
    是同一個讀法——季名拿掉(Re:从零开始的异世界生活 第四季 預填 Re:从零开始的异世界生活,之前要自己刪「第四季」)、
    英文或羅馬字那一段優先;組名後面整格方括號就是標題的發佈名([千夏字幕組][中文名_Romaji][第12話])預填那一格,
    之前退回整串原文。API:GET /api/rss/series 的每一列與 POST /api/rss/oneshot 的每一筆多 search_term。
  • 待處理與審核頁不再把後端出錯、登入失效說成「Berth 的 API 沒回應」(M4 票 89):處理一件、立刻對帳、重建帳本、
    核准或拒絕計劃、確認或撤銷入庫、改季集(作品頁的修正檔案也是同一個表單)、重複版本的三顆,以及兩頁與媒體庫審核篩選的
    清單讀不到時,後端沒說理由就照請求為什麼沒成說:500 說後端出錯了、看 berth 容器的 log;401 說登入已失效;真的送不到
    才說後端可能沒在跑。之前這幾種一律說 Berth 自己的 API 沒有回應。審核頁讀不到某一份計劃、待處理頁選作品的搜尋沒成時,
    之前只說讀不到或什麼都不說,現在也說原因。
  • 其餘每一頁也不再把後端出錯、登入失效說成「API 沒回應」或「後端可能沒在跑」(M4 票 90):下載(列表、詳情、
    計劃與時間線、重新規劃、重試、重新入庫、刪除與它的空間估算)、作品頁(讀不到作品、下載與檔案清單、觀看區的集、搜尋、
    送單、RSS 訂閱、標為已看)、探索與媒體庫、RSS 頁(各段清單、加 Feed、輪詢與移除、排除條件、綁定與一次性連結)、
    健康頁、設定頁(Jellyfin、qBittorrent、Prowlarr、TMDB、媒體庫路徑的讀取、儲存、檢查、新增、停用與刪除)與設定精靈
    (各頁讀不到狀態、清單存不下來、測試與試搜沒走完、完成寫不進去):說得出是什麼沒做成,後半句照請求為什麼沒成說,
    與上一條同一套。幾處原本怪錯對象的也一併改:RSS 綁定讀不到作品詳情不再說「TMDB 可能連不上」、Prowlarr 那一頁讀不到
    不再說「連不上套件內的 Prowlarr」(這兩種外部服務問不到時,Berth 本來就會回一句它們自己的原因)。RSS 綁定與一次性連結
    的 TMDB 搜尋沒成時,之前什麼都不說。精靈頁 1 重新登入換 key 時,Jellyfin 沒給 key 改說那一步為什麼沒成,不再說
    「請求沒跑完」。
  • 巢狀的 Route,媒體庫裡的檔案歸到較深的那一條(M4 票 87):較淺那一條的目標路徑寫得不正規(例如結尾多打了幾個
    /)、字串反而比較長時,媒體庫、反查與刪除 Route 前的引用數會把檔案算給較淺的那一條。現在照路徑段數比,
    與認領同一支判斷。