What's Changed
- Require paired rclone OAuth app credentials (e3fe42d)
- Fix SQLite scan detection paths (#584) (740b4d0)
- Move Storybook visual snapshots to Argos CI (#583) (4f7a87a)
- feat(ui): add target picker to backup plan database tab (6f07737)
- fix(ui): shrink database scan dialog to 80vh (331fb68)
- fix(ui): pack repo health cards densely instead of stretching peers (752bfc0)
- fix(ui): remove unused snapshot import (201c47f)
- feat(ui): expand responsive snapshot coverage (d3a1e65)
- Fix backup plan wizard typing latency (17e707d)
- Fix package reinstall crash and install toast interpolation (04026a9)
- fix(database): fall back to python for SQLite dumps (60f306d)
- fix(backup-plans): show real database source paths (134224f)
- Instrument recent feature flows with Umami analytics (694c82b)
- Gate paid backup source workflows (73eea33)
- fix(frontend): clean database source lint warnings (ba4cbac)
- Quiet exhaustive-deps lint in scan dialog and source selector (a2eed69)
- test(storybook): refresh database scan snapshots (9ab248d)
- feat(backup-plans): preserve database source scripts (4f67e85)
- Refine Script Library table and fix usage count (2462512)
- Save cloud mirror settings before background sync (5aa217a)
- Link repositories to filtered backup plans (70ea36e)
- Fix dashboard mobile overflow and tidy top bar / activity header (afe4c13)
- Rework active backup run card and surface running plans at top of Plans tab (a185a64)
- feat(ui): add shared backup plan select (c73bfa5)
- Render managed agents without beta gating (bfcec3f)
- feat(ui): reuse shared browser for rclone paths (aac44ca)
- Use shared log viewer for managed agents (1683dd2)
- feat(ui): add shared rclone remote select (796b97a)
- Sort repository health with bucket-aware secondary key (19a19d0)
- Fix theme card layout so icon anchors title, not description (70840a9)
- fix: delete restore check jobs with repository (d663b62)
- fix: remove remote machines stats bar (72e80fb)
- Reorganize sidebar IA: INFRASTRUCTURE + STORAGE groups, Users under Management (66f9ec9)
- fix(repositories): preserve storage mode on edit (db8e23a)
- fix: infer ssh key for legacy remote repos (9bb6dd4)
- Polish dashboard: brand color, lane chart, variable density, failure strip (90ffd7a)
- Lay out dimension footer as 2x2 grid so labels fit (a51c69d)
- Enable Borg 2 rclone storage selection and browsing (f3ec46b)
- Fix managed agent archive downloads (d8ada6b)
- Improve managed agent refresh status (fec060b)
- Add managed agent default browse paths (671b15f)
- Fix agent installer service user config ownership (e862597)
- fix(backup-plans): reuse shared source chooser controls (1385b31)
- chore: hide back button for db scanning (7659254)
- docs(ui): document shared component folder contract (d07ba95)
- refactor(ui): move wizard shell into shared components (95514e1)
- refactor(ui): move product primitives into shared components (c3c558e)
- refactor(ui): move CodeEditor into shared components (04de1d7)
- refactor(ui): move schedule controls into shared components (6f3dae0)
- refactor(ui): move connection selects into shared components (f3598ef)
- refactor(ui): move DestinationSelect into shared components (9fa54f3)
- refactor(ui): move RichSelectRow into shared components (1c78050)
- refactor(ui): move ResponsiveDialog into shared components (2e55508)
- docs(ui): plan shared component folder migration (c483ebe)
- refactor(ui): add reusable DestinationSelect (03e9b84)
- Redesign rclone remote dialog with progressive disclosure (f66ebe4)
- Capture final dashboard critique snapshot (57e50e7)
- Make repo health grid auto-fit and i18n the plan chip (4b2a266)
- Quieten WizardDialog surface and tokenize EntityCard accents (353361c)
- Distill dashboard donuts, prune dead tokens left by quieter pass (0dda064)
- Capture post-quieter critique snapshot for DashboardV3 (2a674f0)
- Quieten DashboardV3: strip glass, glow, and pulse layers (818f956)
- Extract shared SSH/agent selectors and pivot source picker (2343d2f)
- Fix WCAG AA contrast at the design token layer (0d056f1)
- Add PRODUCT.md, DESIGN.md, and impeccable project context (769f386)
- Prevent conflicting Borg check flag durations (0d35c96)
- Fix cached rclone repository edit payloads (479bac0)
- Also disable Borg UI server source card for agent repositories (4cc7782)
- Disable invalid backup sources for agent repositories (452d0e8)
- Preserve existing service user during agent reinstall (79c8984)
- Streamline Add Agent wizard and add service user installer option (3d318e3)
- Redesign repository wizard destination picker (f084508)
- Document shared UI components in AGENTS.md (1b1970a)
- Dispatch agent repo init with configurable timeout (8e60691)
- fix(agent): dispatch backups and browse archives via agent (f075bce)
- Allow remote repo location with managed agent execution (98199aa)
- Add managed agent reinstall action (90773f2)
- Polish cloud storage OAuth setup UX (f3ae14e)
- Persist Borg cache volume in Docker (776ce70)
- Add automated Borg UI configuration export (ea205f8)
- Initialize agent repositories before create success (0dfaac5)
- Move agent dispatch to live WebSocket sessions (607beb9)
- Clarify BorgBase setup documentation (7bfff40)
- Improve plan drawer contrast accessibility (252df86)
- Support direct Borg 2 rclone repositories (57fbe10)
- chore(symphony): lower agent concurrency (42b107b)
- Support Borg UI-owned OAuth callbacks (248c355)
- Document direct rclone mount support decision (758034a)
- Schedule repository cloud mirror syncs (4fd1397)
- Add guided cloud storage source setup (ba62456)
- Add managed-agent cloud mirror ownership (3345d5e)
- Support server-owned cloud mirrors for SSH repositories (fb8c140)
- Reuse archive browser for cloud storage browsing (4b1a56d)
- Display agent names in path browser (6c57af0)
- Remove duplicate repository break-lock route (ea81872)
- Document hosted and NAS onboarding paths (7d62933)
- Document app navigation workflow (920ff3f)
- Refresh Borg UI Postman collection (933f701)
- Add optional cloud mirror for repositories (325c0a0)
- Remove legacy Borg UI logo assets (24cf11c)
- Document BorgBase onboarding paths (2579c93)
- Split sidebar Backup section into Hosts, Targets, and Backups (8f1094b)
- Share PageHeader and ListToolbar across list pages (375aaf8)
- Add Symphony Linear ticket metadata bootstrap (3bd2944)
- Document archive browsing limits (3dace5e)
- Implement rclone-backed repository storage (99fd597)
- Plan rclone storage integration (d9c92ea)
- Fix agent filesystem browse timeouts (553beab)
- Implement remote-direct backup execution (70f0406)
- Add btrfs and zfs snapshot sources (314f575)
- Add SQLite database source parity (4ee8e32)
- Fix Unicode escapes in JSON logs (f9c30b8)
- Allow Linear Merging to bypass review-required PRs (675b6b2)
- Add Code Review Reply workflow mode (6ac7b64)
- Fix managed agent Borg 2 installation (eae40fe)
- docs(plans): plan remote direct backup execution (#526) (4bf69f8)
- Stabilize layout shifts in backup wizards (84560f9)
- docs: document rootless Podman permissions (#527) (d25dd49)
- Install Borg from managed agent setup (#524) (acbf1b4)
- Fix managed agent browsing cache and Linux copy (#525) (12fb263)
- Move backup cache guidance to troubleshooting (#523) (3a82018)
- docs: explain slow backup cache behavior (e45b0ef)
- Use cron timezone scheduling for backup reports (#521) (3bf3e38)
- Add managed agent onboarding and path browsing (8d68b88)
- Document Docker socket proxy hook access (a9e6522)
- Preserve Borg slash-dot SSH repository paths (#518) (24a26fb)
- Track no-fix pip-audit findings (#516) (fac235d)
- Validate borg-ui-agent systemd service identity (#517) (98ac00e)
- Support agent-owned backup plan routing (a8bcedd)
- Add backup monitoring alerts and reports (92b9c6b)
- Move agent source capture to backup plans (#513) (aaf7d18)
- Implement managed-agent repository execution orchestration (dd68431)
- docs: plan managed agent orchestration (#510) (7660f0d)
- feat(backup-plans): brand SVG icons + 4-col template grid + dropdown alignment (1ef33a2)
- feat(backup-plans): single-row source group + horizontal db template tiles + fixed modal height (fce5d14)
- feat(backup-plans): polish source picker — backgrounds, skeletons, wider modal (c7cd0cd)
- fix(backup-plans): tidy SSH option formatting + surface scanned paths (6aef996)
- Implement source-aware database scan backend (#509) (81257a3)
- test(backup-plans): regenerate source picker snapshots (b4159e1)
- test(backup-plans): add stories for redesigned source picker (516433b)
- feat(backup-plans): redesign source picker around scan-configurable databases (d326c92)
- test(managed-agents): regenerate fleet overview snapshot (d15a730)
- refactor(managed-agents): align with shared design language and drop placeholder backup dialog (cdf0fd1)
- fix(managed-agents): clarify client setup flow (#506) (3aa4ee9)
- fix(storybook): keep unchanged snapshot files stable (#505) (79432bc)
- Implement secure repository contents wipe flow (#502) (497f382)
- Revert "Implement selector-driven Symphony validation" (#504) (c090ef2)
- Revert "Allow Linear Merging to bypass review-required PRs" (#503) (b7f1b76)
- Allow Linear Merging to bypass review-required PRs (03ce19c)
- Implement selector-driven Symphony validation (#496) (17459a0)
- Design secure repository contents wipe flow (#497) (bd76255)
- Document Synology SSH path prefixes (#498) (8966005)
- Add managed CLI agent support (#493) (4fd9482)
- Allow advanced Borg check flags (e0cd094)
- Run manual prune as a background job (#494) (6cf28b4)
- Allow grouped backup source locations (#490) (5d39895)
- Document Symphony issue-to-PR latency reductions (f8b8f5e)
- Update usage guide for Backup Plans (56b092c)
- Normalize SSH connection host input (#487) (801c8cf)
- feat(ui): add copy-to-clipboard buttons for command previews (41241dd)
- Fix Hetzner SFTP child folder browsing (3967b0b)
- Add database source discovery flow (7d5e20a)
- feat(land): add fast landing preflight (#483) (e99bef0)
- Classify SSH deployment DNS failures (2ed3586)
- fix(ssh): classify DNS connection-test failures (#484) (04c3122)
- Add Storybook snapshots (#480) (4e965ca)
- Fix multi-repository plan content label (e1a16fa)
- Fix profile menu contrast (2bc1dcf)
- Security: Path traversal allows arbitrary file download outside temporary extraction directory (6712dc6)
Docker Images
Published to Docker Hub:
docker pull ainullcode/borg-ui:2.2.0-alpha.1
Full Changelog: v2.1.0...v2.2.0-alpha.1