github karanhudia/borg-ui v2.0.0-alpha.1
Release 2.0.0-alpha.1

11 hours ago

What's Changed

  • Prepare 2.0.0 alpha prerelease flow (56fea46)
  • Unify OTA manifest sources (b3323a3)
  • Fix frontend typecheck and formatting issues (f2003fd)
  • fix(tests): update tests to match redesigned UI components (8642bb6)
  • fix(ui): fix mobile pagination layout and filter pill wrapping in ArchivesList (30ff876)
  • feat(ui): redesign Remote Machines tab with unified design language (a2931a7)
  • refactor(ui): remove card wrappers from repository selector and backup section (bfff7ca)
  • feat(ui): unify button design language across all UI surfaces (ca6ee9c)
  • fix(ui): improve data table headers and filter bar design (9033255)
  • fix(ui): add dividers between filter pill groups in Archives toolbar (d9022d5)
  • fix(lint): add missing React import in RepositoryStatsGrid (ea68375)
  • refactor(ui): replace SSH single-key info Alert with inline tooltip icon (35d9644)
  • fix(plan): hide community unavailability notice for non-full-access users (7979768)
  • Fix stale frontend unit test expectations (bd0dd41)
  • feat(ui): add semantic colors to notification card stats (0403923)
  • feat(ui): add semantic colors to schedule card stats (141df74)
  • feat(ui): add semantic colors to repo card stats and action icons (f18729e)
  • fix(schedule): wizard resets to step 1 when switching tabs or on polling refetch (c7cad81)
  • refactor(ui): replace blue info Alerts with icon tooltips in schedule wizards (a56f455)
  • chore: prettier formatting fix on ArchivesList ToggleButtons (aef6d92)
  • feat(archives): persist selected repository in URL for deep linking (224b7d1)
  • Fix dashboard horizontal overflow (56f7aea)
  • Add OTA plan drawer content manifest (765c221)
  • chore: linter formatting fixes on ArchiveCard and RepositoryStatsGrid (063f537)
  • fix(ui): restore colors on stat cards — tinted bg, colored label/value/icon (20bff31)
  • refactor(ui): align stat cards with RepositoryCard design language (8e14cba)
  • refactor(ui): rewrite ArchiveCard to match RepositoryCard design language (26c1874)
  • feat(ui): overhaul Archives tab with modern dark-theme design (1d389fe)
  • fix(ui): improve info icon alignment in Manual Backup section (2b29384)
  • fix(ui): move observability-only alert into info icon tooltip on Backup page (836c1c2)
  • feat(ui): redesign upcoming jobs section to match dark theme (eebfffe)
  • Add manifest-based announcement translations (a0f9f81)
  • Fix inline post-backup script env typing (dc84d6b)
  • fix(ui): migrate notification dialogs to ResponsiveDialog (mobile bottom sheet) (89a6fc6)
  • feat(dashboard): surface observe-only repositories in health view (d93caea)
  • fix(ui): migrate check schedule dialog to ResponsiveDialog (mobile bottom sheet) (17d68f2)
  • fix(ui): stack selection cards vertically on mobile in wizard steps (8c66c25)
  • fix(ui): post-review cleanup — footer padding, prop docs, aria labels, dead ternary (21da3ec)
  • feat(ui): migrate ScheduleWizard to ResponsiveDialog with sticky footer (fc7811c)
  • feat(ui): migrate RepositoryWizard to ResponsiveDialog with sticky footer (5605f58)
  • feat(ui): compact mobile layout for WizardStepIndicator — icon circles + step label row (0c2ba13)
  • feat(ui): add footer prop to ResponsiveDialog for sticky mobile actions (ebffd31)
  • i18n: extract hardcoded strings to localization across settings and card components (c674efc)
  • fix(ui): manage access mobile layout, height stability, and em dash removal (154caa9)
  • ci(deps): bump docker/setup-qemu-action from 3 to 4 (#393) (13b50ea)
  • ci(deps): bump docker/login-action from 3 to 4 (#392) (dc7aa52)
  • ci(deps): bump softprops/action-gh-release from 1 to 2 (#395) (444bf05)
  • ci(deps): bump codecov/codecov-action from 5 to 6 (#391) (ab38707)
  • feat: Change header used for authorization to allow for use of Borg UI behind reverse proxies with HTTP Basic Auth. (#364) (e0169a3)
  • fix(account): restore deployment identity header (c190c64)
  • feat(settings): refresh users management cards and access flow (b44c632)
  • fix(ui): flatten Account tab — remove nested cards, simplify header (a051956)
  • fix(ui): align UsersTab header with standard settings tab pattern (21c1e33)
  • chore: prettier fix (6874670)
  • fix(ui): remove unnecessary cancel button from info-only modal (3b75ff2)
  • fix(ui): use ResponsiveDialog for notifications info modal (bottom sheet on mobile) (512f58c)
  • fix(ui): move info icon inline with title text, remove awkward float (17e559e)
  • fix(ui): replace Active chip with icon badge; add event category strip to notification cards (797de33)
  • fix(ui): remove initials avatars from all cards; move notification info inline to modal (1c90bb9)
  • feat(ui): replace DataTable with EntityCard-based cards in Schedule and Notifications (155f625)
  • fix(ui): stack API Tokens header vertically on mobile for better touch targets (8e673c0)
  • fix(ui): remove overflow hidden from repo cards container to show hover border (eb1b263)
  • fix(ui): stack SSH key action buttons vertically on mobile (42c9737)
  • feat(ui): bottom sheet for dialogs on mobile (c6c99d7)
  • fix(frontend): update repository card accessibility and tests (532ae09)
  • fix(ui): remove disablePortal from ResponsiveDialog, clean up types and animation guard (0ebacb5)
  • feat(ui): add ResponsiveDialog wrapper — Dialog on desktop, bottom sheet on mobile (95eac3f)
  • chore(ui): format shared table components (7bc812b)
  • fix(ui): polish mobile controls and settings details (530769a)
  • feat(repositories): optimize repository flows for mobile (0c1a9c2)
  • feat(frontend): improve mobile layouts across activity, backup, schedule, and archives (018dcc2)
  • feat(settings): make settings and admin surfaces mobile-friendly (66d4a58)
  • feat(ui): add responsive table and shell primitives (94a012b)
  • chore(analytics): update consent wording (9902d41)
  • chore(release): prepare 2.0.0 announcement and versioning (0d877dd)
  • feat(announcements): fix dev CORS and add what's new pattern (f30f671)
  • fix(import): allow unencrypted repositories without passphrase (880f2b8)
  • fix(repositories): centralize stats repository access (d182ad0)
  • fix(ci): address analytics lint and layout tests (a185164)
  • feat(analytics): expand lifecycle and funnel tracking (0d43242)
  • feat(plans): expand community and pro user seats (24f6083)
  • chore(i18n): add missing licensing locale keys (d556d42)
  • style(settings): standardise card styling across all settings tabs (a72dc9b)
  • refactor(licensing): remove shared secret config (49f024a)
  • chore(dev): update activation runtime config (41534a3)
  • refactor(licensing): simplify backend activation config (a413320)
  • feat(frontend): refine plan badge and plan drawer entitlement UX (45f15c1)
  • feat(frontend): add licensing settings tab and entitlement-aware plan data (589baa0)
  • feat(licensing): add backend entitlement state and activation endpoints (3786053)
  • Update plan and licensing locale copy (1145377)
  • Add licensing API client (5b83659)
  • docs: point pages site to docs.borgui.com (306a727)
  • Create CNAME (64909e0)
  • style(frontend): format new coverage tests (6cf4c1b)
  • test(frontend): align plan component coverage with public props (68f3dae)
  • test(frontend): cover plan badge and system info hook (6ce0906)
  • test(frontend): cover plan drawer and backup page flows (a6cc494)
  • test(frontend): cover account sections and ssh flows (7bacde1)
  • test(unit): align schedule payload assertions (d6476c7)
  • test(unit): tighten response payload assertions (537395c)
  • test(unit): align contracts with current api behavior (1bd76e8)
  • ci(tests): update artifact actions to v7 (7008a6e)
  • fix(smoke): support direct integration helper imports (d5fa4f8)
  • test(ci): fix system collection and smoke assumptions (cda5feb)
  • test(suite): tighten api contracts and fix smoke helpers (f377831)
  • test(suite): extract shared borg and job helpers (62e4554)
  • test(backend): use real borg in restore integration logs (2737e54)
  • docs(readme): remove stale smoke workflow badge (3ffaf0e)
  • fix(ci): stabilize ssh archive download and coverage upload (1a3fe4b)
  • fix(backend): use ssh env for restore browsing (5a105a1)
  • fix(backend): use ssh env for archive operations (4133e32)
  • fix(ci): correct ssh smoke target permissions (7fe1088)
  • fix(smoke): harden ssh and delete cancel flows (becc560)
  • fix(ci): stabilize ssh and extended smoke flows (c1d4000)
  • ci(tests): split backend and frontend coverage uploads (ecc4b52)
  • fix(backend): stabilize ssh secret handling in ci (10e045c)
  • test(backend): expand filesystem and restore route coverage (5f44f90)
  • Fix smoke workflow frontend artifact extraction (d5e04b3)
  • ci(tests): gate coverage uploads and harden cancel flows (2420302)
  • ci(tests): reuse frontend build across smoke lanes (ddbf5b4)
  • ci(tests): run ssh smoke on pr and push (107bce4)
  • ci(tests): parallelize backend and rename lanes (f3f0dbb)
  • test(smoke): add localhost ssh coverage and fix permissions checks (f62c2d1)
  • ci(tests): fold smoke lanes into main workflow (6d3b37b)
  • Fix backup page repository callback typings (de21a13)
  • test(smoke): expand borg production flow coverage (389f4f8)
  • Fix frontend lint failures in dashboard and announcements (0f71f93)
  • test(smoke): add live smoke runners and docs (d5e2f8d)
  • Fix account tab render loop in settings test (e652ccf)
  • ci(tests): split smoke workflows from coverage lanes (9dc4119)
  • test(backend): cover borg cancel and encrypted delete flows (12f88c5)
  • Refine README testing confidence callout (be3c620)
  • Fix frontend lint annotations and CI workflow warnings (9c55055)
  • test(backend): expand borg api coverage and docs (b2b142c)
  • Remove misleading coming-soon state from plan features (c86aa61)
  • Add upcoming Pro dashboard analytics teaser (e1bc6f9)
  • test(backend): expand coverage across borg workflows (c588aed)
  • fix(frontend): clean up repository wizard typecheck (5d9eb52)
  • test(frontend): speed up repository wizard coverage (486a856)
  • fix(frontend): stop account settings test render loop (ad66a43)
  • test(frontend): reset leaked fake timers (35ad9c4)
  • fix(backend): restore legacy api contracts (4da44a2)
  • test(frontend): stabilize auth provider retry coverage (392d2ba)
  • fix(frontend): remove stale is_admin auth references (d2c5d00)
  • test(frontend): align sidebar and scripts tests with permissions (1f7c285)
  • refactor(frontend): tighten shared action surfaces (262f337)
  • feat(frontend): harden app shell analytics and password flow (a967d79)
  • fix(frontend): surface forbidden-action errors (2929988)
  • feat(frontend): gate repository actions by exact permissions (4230fe0)
  • feat(frontend): restrict system settings by exact permissions (1bf9b03)
  • feat(account): separate personal and deployment profiles (1d90988)
  • feat(frontend): simplify repository access management (f35d739)
  • feat(backend): add persistent all-repositories access scope (a2c8e55)
  • fix(backend): preserve role-based users across legacy auth paths (5771ec9)
  • refactor(frontend): simplify app header account menu (15e58ee)
  • fix: harden auth user response (ce4b707)
  • chore(frontend): sync locale keys for roles and permission errors (798b760)
  • test(backend): fix activity API test fixtures (104c21c)
  • feat(backend): enforce repository-scoped access across backup APIs (1988321)
  • feat(backend): require operator access for schedules and mounts (7988540)
  • refactor(backend): centralize route authorization policy (e6bf972)
  • feat(backend): add repository permission management API (c5100aa)
  • feat(backend): add API token endpoints (b5b1743)
  • feat(backend): add user profile and deployment metadata (2879a61)
  • feat(backend): expose authorization model and user permissions (a254bf3)
  • refactor(backend): define central authorization model (2009f8d)
  • refactor(frontend): derive admin state from auth role (9cfd3c4)
  • chore: prettier fix (c03f902)
  • refactor(frontend): decompose settings page tabs (d1e0154)
  • feat(frontend): update sidebar branding and role-aware sections (aa0373e)
  • refactor(frontend): refresh sidebar navigation states (6f99152)
  • refactor(frontend): extract app header from layout (15c2734)
  • fix: stabilize repository wizard coverage (dd922e5)
  • chore: update favicon with new borg logo (602e1a0)
  • chore: simplify dev environment - make Redis optional (eef9e7c)
  • test: expand app auth and settings coverage (2fe1f11)
  • test: cover announcement and ssh wizard flows (d7d77bc)
  • test: harden frontend behavior coverage (870ca7e)
  • fix: centralize download authentication (10aaaaa)
  • test: cover auto theme mode and appearance picker (0350889)
  • feat: add auto theme mode and redesign appearance settings (434178d)
  • chore: require explicit local announcements override (0942fca)
  • docs: publish announcements manifest to pages (c8e9c8a)
  • feat: default announcements to remote manifest (2b6a8a3)
  • feat: add announcement modal system (442e4ae)
  • Refine plan drawer roadmap and fix startup volume permissions (71d99aa)
  • test(frontend): stabilize analytics-related suites and shared test harness (09c9e71)
  • test(analytics): update analytics coverage and mocks (4105b4a)
  • refactor(analytics): centralize repository payload shaping and add app_version (34291e1)
  • feat(analytics): expand structured telemetry coverage across the frontend (79d0717)
  • refactor(analytics): complete matomo to umami migration and consent handling (1db5c71)
  • refactor: wire i18n into DashboardV3, wizard, and plan components (3833130)
  • feat: add i18n keys for plan features, dashboard, and wizard across all locales (b3c2521)
  • feat: add plan badge, drawer, and upgrade prompt components (561396c)
  • chore: ignore .worktrees directory (f1f3990)
  • chore: remove redundant frontend unit test step in CI (64524f4)
  • feat: add Docker-based dev environment with isolated prod/dev setup (09dc903)
  • chore: prettier fix (90f690e)
  • fix: resolve CI annotation warnings (c27f6b9)
  • fix: update tests broken by recent component and hook changes (a87723d)
  • fix: scope backend CI to unit tests only; remove archive deletion guard (8ce85c7)
  • chore: prettier fix (3baf1d4)
  • fix: never-run check/compact is critical; clean up card status logic (1939e88)
  • fix: resolve Python 3.9 incompatible type syntax and ignore superpowers docs (22c1c2f)
  • refactor: merge dashboard bottom row into unified bento grid (34a85fc)
  • test: add and update tests for borg v2 and plan gating (c3ce6ca)
  • chore: add i18n keys for borg v2 and plan features (4eddfda)
  • feat: add frontend plan gating infrastructure (ffd4132)
  • refactor: extract AppSidebar from Layout.tsx (0e8b83f)
  • feat: extract sidebar components and add borg v2 version chip (24b58cb)
  • feat: add version-aware repository stats with plan gating (c11f123)
  • feat: add borg v2 support and plan gating to repository wizard (344fa92)
  • chore: extend repo capability helpers and type definitions (0345928)
  • feat: add plan feature gating infrastructure (d977b99)
  • refactor: adopt RepoSelect in all repository selector consumers (d912e31)
  • refactor: extract du-based directory size calculation into shared utility (170d796)
  • docs: add account page and nav restructure design spec (a496347)
  • feat: extract BorgVersionChip for consistent borg version badge rendering (7c11306)
  • chore: replace all local Repository interface definitions with shared type (2ef7391)
  • fix: prevent negative elapsed duration in time formatting (b42b382)
  • chore: extend Repository type and remove dead/duplicate type definitions (6b48b43)
  • feat: introduce BorgApiClient and migrate version-aware API calls (c2dd3a6)
  • chore: remove dead borg imports from v1 API and service files (06fac37)
  • refactor: route version-aware operations through BorgRouter (8086cac)
  • chore: gitignore .claude/worktrees/ (5afb8a1)
  • chore: add borg-live-debug Claude Code skill (4ce45d8)
  • feat: add Borg 2 repository support with versioned /api/v2/ routes (be50a5f)
  • feat: hide write actions for observe-only repositories (0455054)
  • docs: use theme-aware star history chart for light/dark mode (97af990)
  • docs: add star history graph to README (2287e1b)
  • fix: replace dynamic Discord badge with static badge to fix invalid server error (bfe688e)
  • fix: update mock_backup to accept skip_hooks kwarg in integration test (507db08)
  • feat: replace dashboard with DashboardV3 ops command center (b8cab13)
  • fix: prevent double execution of repo scripts in multi-repo schedules (d22f08e)
  • fix: wrap migrations 075 and 078 with PRAGMA foreign_keys = OFF/ON (aab77c2)
  • fix: set BORG_REMOTE_PATH env var in borg mount command (#378) (20ca20b)

Docker Images

Published to Docker Hub:

docker pull ainullcode/borg-ui:2.0.0-alpha.1
docker pull ainullcode/borg-ui:latest

Full Changelog: v1.78.0...v2.0.0-alpha.1

Don't miss a new borg-ui release

NewReleases is sending notifications on new releases.