What's Changed
- docs: add 2.0.3 announcements (b91a685)
- test: update account settings password flow expectations (8724a4f)
- fix: align schedule cron tooltips with displayed time (7f6d49f)
- feat: add loading spinner and disabled state to repository wizard submit button (7291ee2)
- feat: track onboarding and passkey analytics (5d5f01c)
- refactor: remove stale account password setup state (80923e0)
- fix: streamline ssh connection warnings (c510379)
- fix: keep first-login password setup in auth flow (99ca15f)
- fix: restore proxy auth headers and test compatibility (77e83c1)
- fix: restore frontend locale parity and error typing (fa62195)
- Fix auth token flows, locale parity, and frontend checks (7fef3cd)
- Extract frontend API error helper (0291c73)
- fix: enable scrollable tabs in AccountTabNavigation for mobile (f17ee1a)
- i18n: add account security badge translations (ab0b365)
- fix: remove proxy auth config leak from local auth release (84cdf83)
- chore: replace archive browser images (efc3a7b)
- Coordinate post-login announcement surfaces (cefef6b)
- feat: add local account totp and passkeys (1182f8b)
- feat: redesign profile menu with hero header, plan card, and settings nav (73548d7)
- Redesign Account tab with role badges and simplified header (e5a124d)
- Rename cache stats label to cached entities (cd9b159)
- Show skeleton for archive count while archives are loading (66d1d90)
- Show archive list skeleton while repo info is still loading (544fb9d)
- Scope repository command locks to event loops (da7588a)
- Redesign Last Restore section with polished chip-based layout (6f666d1)
- Use raw GitHub image URLs in themed README blocks (6b46546)
- Serialize repo metadata reads and sequence archives load (f259cf3)
- Use absolute README image URLs for Docker Hub (77beacc)
- Clean up orphaned borg mount directories (134be6b)
- Update frontend audit dependencies (15ba503)
- Fix log cleanup result messages (e988c7b)
- Restore backend test patch targets (959446a)
- Add missing Borg 2 beta feature locale keys (dff0d89)
- Refine archive browser repository stats (b7c45e2)
- Fix archive browse caching for Borg v1/v2 (71122f1)
- Update archive browse button to FolderOpen icon with success color (62d1407)
- Fix ArchivesList static component lint error (631f200)
- Polish archive table redesign: tests, i18n, mobile layout, and UI fixes (e7d0ccf)
- Fix archive download test patch seams (406a502)
- Add backend Ruff linting, formatting, and hooks (efd6fc3)
- refactor(ArchivesList): wrap archive rows in bordered table container (b3c4db8)
- refactor(ArchiveCardSkeleton): match new row grid layout (166474b)
- refactor(ArchiveCard): rewrite as compact table row layout (9812529)
- Unify archive file downloads (b654bd8)
- chore(deps): bump lucide-react from 0.577.0 to 1.8.0 in /frontend (#411) (851d63c)
- chore(deps-dev): bump vite from 7.3.1 to 7.3.2 in /frontend (#400) (04aa4df)
- chore(deps): bump i18next from 25.10.9 to 26.0.4 in /frontend (#415) (2caf88e)
- Fix backup jobs stuck running after fast completion (a64e630)
- test: cover early backup terminal state publication (d4765fc)
- Add View Archive action to backup job tables (0899f93)
- Fix check dialog typecheck import (7a0950e)
- Support partial Borg 2 checks and clarify timed check UX (969d30f)
- fix: preserve local borg2 call shape and restore cleanup (2f80aeb)
- refactor: simplify borg env lifecycle in v2 paths (b5359ba)
- test: expand smoke coverage for ssh borg flows (5e79a99)
- fix: move eye icon to label header for public key and fingerprint fields (f0695b0)
- fix: move info icon inline with Mount Archive dialog header (3fd4e2a)
- refactor: centralize borg ssh env handling (2be8dd5)
- Localize plan drawer content (a9bfc3b)
Docker Images
Published to Docker Hub:
docker pull ainullcode/borg-ui:2.0.3
docker pull ainullcode/borg-ui:latest
Full Changelog: v2.0.2...v2.0.3