github marcpope/borgbackupserver v2.0.2

latest releases: v2.18.7, v2.18.6, v2.18.4...
one month ago

Caution

This is a major upgrade and a complete re-write of the core catalog system. If you have a large catalog of files, this upgrade may take some time to complete as it migrates your data to the new format. If you have shell access, we recommend running the update from the command line:

sudo /var/www/bbs/bin/bbs-update

What's New

Catalog System Overhaul

  • Flat per-agent catalog tables — replaces the old normalized file_paths + file_catalog schema with simple file_catalog_{agent_id} tables. Eliminates expensive JOINs and deduplication overhead.
  • MyISAM + server-side LOAD DATA INFILE — catalog imports that previously took 7+ minutes now complete in under 70 seconds for ~1M files.
  • Instant directory browsing — new catalog_dirs index table enables sub-second folder expansion in the file recovery UI, even for catalogs with millions of files.
  • Automatic schema upgrades — existing catalog tables are automatically converted (InnoDB→MyISAM, TEXT→VARCHAR, optimized indexes) during update.
  • Catalog cleanup on prune — pruned archives now have their catalog entries automatically removed, preventing unbounded table growth.

SSH-Piped Catalog Streaming

  • Catalog data now streams directly from agent to server via SSH pipe instead of HTTP batch upload — faster, more reliable, and handles arbitrarily large file lists.

Background Upgrade Page

  • Clicking "Upgrade" now runs the update in the background and redirects to a dedicated progress page with a live progress bar, streaming log output, and elapsed timer. All other pages redirect to the upgrade page while an update is in progress. Future upgrades will use this new flow automatically.

Split Updater

  • bbs-update is now a two-stage process: thin shell wrapper pulls code, then bbs-update-run executes post-pull steps using the freshly-pulled version. Ensures update steps always match the new code.

PHP Migration Support

  • The migration system now supports .php migration files alongside .sql, enabling complex data migrations that require application logic.

Reliability Fixes

  • Auto-prune now waits for catalog import to complete before starting, preventing table lock contention on MyISAM tables
  • Fixed catalog tree root path browsing (LIKE pattern and SUBSTRING offset bugs)

Quality of Life

  • Real-time status messages in queue UI (plugin phase, file counting, etc.)
  • Detailed timing logs for catalog imports visible in the server log
  • Agent self-update fixes for ASCII-only systems
  • Borg cache lock cleanup before each task
  • Bulletproof catalog upload with stream-to-disk, retry, and resume

Agent Updates (v2.0.2)

  • SSH catalog streaming support
  • Fixed update failures on ASCII-only locales
  • Fixed Unicode encoding errors on non-UTF-8 systems
  • Auto-clear stale borg cache locks

Don't miss a new borgbackupserver release

NewReleases is sending notifications on new releases.