CMS Updates

Keep Pubvana up to date from the admin panel or command line.

TL;DR

Go to Admin → Updates. Click Check Now to check for a new version. Click Update to apply it — a backup is created automatically first. CLI alternative: php spark pubvana:update.

Details

Checking for Updates

The Updates page shows:

  • The currently installed Pubvana version.
  • The latest available version (fetched from GitHub CHANGES.json).
  • Changelog for the new version, including any breaking changes.
  • A list of installed extensions that are incompatible with the new version (based on their max_pubvana_version).

Safe target calculation: if some extensions do not support the absolute latest version, Pubvana calculates the highest version that all your installed extensions support and offers to update to that version instead. This prevents extension breakage.

Pre-Flight Checks

Before applying any update, Pubvana verifies:

  • PHP version meets the new version's requirements.
  • CodeIgniter 4 and Shield versions are compatible.
  • All writable/ directories are writable by the web server.
  • At least 500 MB of free disk space is available.
  • PHP exec() is available (for background processing).

If any check fails, the update is blocked and the issue is described so you can resolve it.

Update Process

  1. Pre-update backup — a full backup (files + DB dump) is created in writable/backups/.
  2. Download — the release zip is downloaded from GitHub to writable/updates/.
  3. Extract — the zip is extracted and file changes are identified.
  4. Apply — new and changed files are copied to the installation. Protected files (.env, App.php, Database.php) are never overwritten.
  5. Migratephp spark migrate is run to apply any new database schema changes.
  6. Clear cache — all Pubvana and framework caches are flushed.

Progress is shown in real time via Server-Sent Events (SSE). If SSE is not supported by your environment, the page falls back to periodic polling.

After a Failed Update

If the update fails partway through, restore the pre-update backup from Admin → Backups or via CLI:

php spark pubvana:rollback <backup-filename>

The backup filename is shown on the Backups page and follows the format YYYY-MM-DD_HHmmss-full.zip.