VuFind releases follow a regular cadence of minor and major versions. Upgrading involves replacing the application code, migrating configuration files, applying database schema changes, and re-running any Solr index rebuilds that the new version requires. Following the steps in order prevents data loss and reduces downtime.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vufind-org/vufind/llms.txt
Use this file to discover all available pages before exploring further.
Before you start
Check compatibility
Review the release notes for every version between your current version and the target version. Pay particular attention to:- Removed or renamed configuration keys
- Changes to the Solr schema that require reindexing
- PHP version requirements
- New required PHP extensions or Composer dependencies
Identify your current version
Step 1 — Back up your installation
Back up all three layers before touching any files.Step 2 — Install the new VuFind code
- Git
- Release archive
Step 3 — Upgrade configuration files
Theupgrade/config command compares your local configuration files against the new defaults, migrates settings that have moved or been renamed, and reports keys that could not be migrated automatically.
9.0 with your current VuFind version number.
Review the output
Resolve conflicts manually
- Settings removed in the new version (safe to delete)
- Settings whose accepted values have changed (update the value)
- New required settings with no obvious default (read the release notes)
Step 4 — Apply database migrations
Theupgrade/database command applies all pending schema migrations in order. It is safe to run against a database that is already partially migrated — it skips migrations that have already been applied.
What the migration command does
- Reads all migration classes from
module/VuFind/src/VuFind/Db/Migration/ - Compares the list against migrations already recorded in the
vufind_migrationtable - Applies any outstanding migrations in version order
- Records each successful migration so re-running the command is idempotent
Step 5 — Rebuild the Solr index (if required)
Check the release notes to determine whether the new version changes the Solr schema. If it does, a full reindex is required.Replace Solr configuration files
solrconfig.xml are shipped with VuFind. Copy them into place:Step 6 — Test after upgrade
Run a basic smoke test before returning the site to users.Verify the application loads
Run a test search
Test authentication
Check the alphabetic browse
Common upgrade issues
White screen or PHP fatal error after upgrade
White screen or PHP fatal error after upgrade
composer install --no-dev in $VUFIND_HOME to ensure all dependencies match the new lockfile. Also check that the PHP version meets the new minimum requirement.upgrade/config reports 'version not found'
upgrade/config reports 'version not found'
--from value must exactly match a version string that VuFind’s upgrade logic recognises. Use the version string from Version.php in the old installation (e.g. 9.0, 9.1, 10.0).Database migration fails with a duplicate column error
Database migration fails with a duplicate column error
vufind_migration table for any migrations that are recorded as complete but left the schema in an inconsistent state. You may need to manually correct the schema and insert or delete rows from vufind_migration before retrying.Search results disappear after upgrade
Search results disappear after upgrade
http://localhost:8983/solr) for schema mismatch warnings, then follow the full reindex procedure in Step 5.Alphabetic browse returns no results
Alphabetic browse returns no results
index-alphabetic-browse.sh and check for errors in its output. Common causes are: Solr not running, the alphabetical_browse/ directory being unwritable, or the Java classpath not finding the required .jar files.Custom theme is broken after upgrade
Custom theme is broken after upgrade
.phtml block structure. Compare your overriding templates against the updated base templates using diff to identify incompatibilities: