# Changelog 本專案遵循 [Semantic Versioning](https://semver.org/lang/zh-TW/);版本 `0.x` 表示功能仍可能調整。 ## [Unreleased] ### Fixed - Constrained remote Memos avatars to a fixed, cropped size so oversized source images cannot break dashboard or source-page layouts. ## [0.8.0] - 2026-07-19 ### Added - Hardened incoming RSS/Atom sources with public-HTTPS validation, redirect checks, response-size limits, and safe XML declaration rejection. - Added production configuration validation for secrets, encryption keys, and the public HTTPS URL, plus an administrator-facing status check. - Added Prometheus-compatible metrics and distinct liveness/readiness health probes. - Added SQLite FTS5 indexing for public-content search, maintained automatically as posts change. - Added a repeatable FTS search benchmark and documented PostgreSQL migration decision criteria. - Added persistent alert delivery with HTTPS validation, exponential-backoff retries, and Prometheus delivery-state metrics. - Added verified backup reports plus optional age-encrypted rclone offsite copies. - Added production dependency auditing, reproducible SPDX SBOM generation, and a documented release/upgrade/signing path. - Added a repeatable post-deploy HTTP smoke test for health, homepage, RSS, and metrics endpoints. ### Fixed - Tightened standard webhook signature validation to reject invalid timestamps and non-v1 signature schemes. - Made source invitation consumption atomic so a token cannot be accepted twice during concurrent requests. ## [0.7.0] - 2026-07-19 ### Fixed - Prevented manual URL regeneration from invalidating automatically configured, signed Memos webhooks. - 貼文頁、首頁卡片、RSS 與 Atom 優先顯示 Memos 原始發布時間,不再顯示同一次匯入的 Hub 寫入時間。 - 多使用者 Memos 來源只同步 API Key 所屬帳號建立的公開貼文;舊來源會在下一次同步自動補回遠端帳號身分並重新篩選鏡像。 - 遠端附件快取失敗會在來源控制台顯示可重試提示,並保留原始連結作為回退。 ### Changed - 來源名稱改由 API Key 對應的 Memos 帳號自動產生與更新,控制台不再接受手動命名。 - 同步會優先使用新版 Memos 的伺服器端 filter;不支援該 API 的舊版 Memos 會安全退回本機篩選。 - 新版 Memos 來源建立時會自動建立帶 HMAC 簽名的 webhook;不支援 User Webhook API 的舊版來源維持手動模式。 - 相容新版 Memos 的 `/auth/me` 與 username 資源名,既有來源會在同步時更新遠端使用者身分。 - 重新連接同一個 Memos 網址時會更新原有來源的 PAT 與遠端身分,不建立重複來源。 ### Added - Added per-source sync difference previews, retry for individual failed jobs, and owner-only batch retry of failed jobs. - Added optional per-source attachment archive age: cached files are replaced with their original remote links after the configured period. - Added opt-in Discord/ntfy alerts for exhausted sync retries and stale signed webhooks, with per-event rate limiting. - Added safe signed Memos webhook rotation: create the replacement first, then remove the previous remote webhook before committing the new credentials. - Added configurable retention cleanup and a password-confirmed self-service account deletion flow. - Added append-only audit records for source management, invitations, posting, and administrator moderation. - Added verified SQLite/upload backups with retention, optional offsite copy, restore script, and installable daily WSL cron schedule. - Added expiring, one-time source invitation links with viewer and editor roles; only owners and editors can publish to a shared Memos source. - Added resumable, page-token-based Memos imports with configurable batch size and first-import limit; posts are only hidden after a complete scan. - Added owner/member-only JSON and Markdown exports for individual posts and complete sources. - Added read-only RSS sources: validate a feed URL, queue recurring imports, and show imported posts under their RSS source rather than a Hub account. - 文章顯示時隱藏已辨識的內文 hashtag,保留原始 Markdown 與文章底部標籤。 - 具時間範圍篩選的公開標籤雲與標籤導覽入口。 - 瀏覽器端自動儲存的發文草稿與 Markdown 預覽。 - 來源附件保存資料結構:遠端連結、僅圖片快取或完整快取,並提供來源配額與失效快取清理。 - 標籤別名/合併的資料結構,供後續管理介面使用。 ## [0.5.0] - Unreleased ### Added - 同源 POST 保護,以及以 SQLite 保存、可由多個 Web 容器共用的登入/Webhook 限流。 - Hub 原生附件的 MIME 白名單、檔案數量限制,與可選 HTTP 掃毒服務介面。 - 貼文檢舉、管理員隱藏貼文、停權/解除停權帳號和管理員協助密碼重設。 - `/api/health` 健康檢查、JSON 結構化事件、持久化同步錯誤紀錄與管理員檢視頁。 - Docker image 版本參數,以及 Gitea Actions 的驗證、建置與選用部署 webhook 工作流程。 ## [0.4.0] - Unreleased ### Added - 每個來源可依標籤、日期及附件類型設定同步範圍。 - Memos 遠端貼文連結、遠端 profile、Token 連線測試與連線狀態。 - Webhook 健康狀態與長時間未收到 webhook 警示。 ### Changed - Pull 同步會以來源規則決定鏡像內容;遠端更新會更新 Hub 鏡像,遠端刪除或移出規則範圍會隱藏鏡像貼文。 ## [0.3.0] - Unreleased ### Added - 分頁與可依內容、標籤、來源、作者、日期及附件篩選的公開搜尋。 - 標籤頁、來源頁、RSS 與 Atom feed,以及公開貼文 Open Graph metadata。 - 安全 Markdown 渲染、GitHub Flavored Markdown 與程式碼高亮。 - 收藏、稍後閱讀、閱讀紀錄、互動通知與通知已讀管理。 ## [0.2.0] - 2026-07-19 ### Added - 來源的重新命名、停用/啟用、刪除、離開共享來源與建立者轉移。 - 同步工作觸發來源、開始/完成時間、重試次數與控制台歷史紀錄。 - Pull 同步去重,避免手動、webhook 與排程重複建立處理中工作。 - 帳號密碼變更與管理員同步異常檢視頁。 - SQLite migration 版本紀錄,以及資料庫與附件備份/還原文件和腳本。 ### Changed - 停用來源後不再接受 webhook、手動同步、排程同步或 Hub 發文推送。 - 來源刪除時會移除遠端鏡像貼文,保留 Hub 原生貼文但解除來源關聯。 ## [0.1.0] - 2026-07-19 ### Added - 第一個公開 Pre-release:Memos 公開貼文聚合、附件、留言、表情、Hub 發文與 webhook 同步。