Repository navigation
v0.2.5
從 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 回應本來就不帶)。
資料庫 migrationa6c3e9f2b815:原生刪欄,不重建表。降版把欄位加回來:來源 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 前的引用數會把檔案算給較淺的那一條。現在照路徑段數比,
與認領同一支判斷。