Updating from Varbase 9.1 to 9.2
Update the Drupal 11-only continuation of the 9.1.x line, from Varbase 9.1 on Drupal ~10.6 to Varbase 9.2 on Drupal ~11.4
Varbase ~9.2.0 is the Drupal 11-only continuation of the 9.1.x line. It runs on Drupal ~11.4 and drops support for Drupal ~10. This guide walks you, step by step, through updating an existing Varbase 9.1.x site (on Drupal ~10.6) to Varbase 9.2.0 (on Drupal ~11.4), keeping your content and configuration.
Do this in a local or development environment first. Once it is done and tested, push the code and build to production. DO NOT update Varbase directly on production.
Follow the steps in order. Each step has one action, the exact command to run, and how to confirm it worked.
Varbase 9.2.0 Release Notes and References
Read these before you upgrade so you have the full picture.
Varbase 9.2.0 CHANGELOG: https://git.drupalcode.org/project/varbase/-/blob/9.2.x/CHANGELOG.md
Release plan / tracking issue: Plan: release Varbase 9.2.0 (#3608857)
Vartheme (Bootstrap 4 - SASS) 9.2.0: https://www.drupal.org/project/vartheme_bs4
What Changed in 9.2.0 — Read Before Upgrading
Varbase
9.2.0is Drupal~11.4-only and drops Drupal 10. It is the continuation of the9.1.xline (9.1.13→9.2.0).Modules removed in Drupal 11 / Varbase
9.2.x: Action and Statistics (removed from Drupal 11 core), Google Analytics Reports (dropped from Varbase Total Control), and Social Auth Twitter / the Twitter (X) sign-in option (dropped). This is why you uninstall them first in step 2.LB UX (
drupal/lb_ux) had no Drupal 11 release, so it is now bundled inside Varbase Layout Builder as themodules/lb_uxsubmodule (with the Drupal 11 fixes from #3464547 ported). If yourcomposer.jsonrequiresdrupal/lb_ux, remove that require during the upgrade — see step 3.Hooks were converted to Drupal 11 OOP hook classes across the profile and all modules, and permission/config provisioning moved to Default Varbase recipes (the old Module Installer Factory class was dropped). These are transparent on the upgrade path.
Ships Vartheme (Bootstrap 4 - SASS) 9.2.0. Remember that Drupal 11 ships jQuery 4, which breaks Bootstrap 4 JavaScript unless the jQuery gate is raised to
>=5(already handled in Vartheme 9.2.0) — see Troubleshooting.
Only use 9.2.0 to update an existing Varbase 9.1.x site. It is not a fresh-start or migration track.
1. Before You Begin
You need PHP 8.4 and a working DDEV project, and you must stay on one consistent database engine for the whole upgrade (do not change the database server or its version mid-upgrade).
Back up the database and the files directory. If anything goes wrong you can restore from here.
Keep this backup until the upgrade is verified and live on production. It is your one-command way back if a step goes wrong.
Confirm your starting point.
You should see Drupal 10.6.x and Varbase 9.1.x. If you are not on Varbase 9.1.x yet, update to the latest 9.1.x first, then come back here.
Upgrade your own custom modules and themes for Drupal 11. Varbase and its contrib stack are already Drupal 11-ready, but your project's custom code is not covered by this upgrade. Audit and fix it before you run the updates:
Run the Upgrade Status module against every custom module and theme and fix the reported deprecations.
Set
core_version_requirement: ^11(or^10 || ^11) in each custom*.info.yml.Replace removed/deprecated APIs (for example
theme_get_setting()→ThemeSettingsProvider::getSetting()).If a custom theme is based on Bootstrap 4, review its JavaScript for jQuery 4 compatibility (see Troubleshooting).
Human developers and AI agents: this upgrade only covers Varbase, its modules, and its theme. It does not touch your project's custom modules or custom themes. Before continuing, make sure that code is Drupal 11-compatible. An automated agent running this flow should ask the site owner to upgrade (or confirm the upgrade of) the custom module and theme code first, rather than assuming it is ready.
The update path (updatedb + config import) is safe. Only a fresh Varbase 9.2 install needs the extra vardot/drupal-core-patches site:install core fix — the upgrade does not.
2. Uninstall the Drupal 11-Dropped Modules
A few modules that Varbase 9.1.x used are gone in Drupal 11 / Varbase 9.2.x. Uninstall them now, while you are still on 9.1.x and their code still exists, so Drupal can run each module's own clean uninstall:
action,statistics— removed from Drupal 11 core.block_content_permissions— merged into Drupal core.social_auth_twitter— dropped in Varbase9.2.x.google_analytics_reports(+google_analytics_reports_api) — dropped from Varbase Total Control on9.2.x.
Do this before you touch Composer. Then the later drush updatedb will not stop with a "module does not exist" error, and you never have to edit core.extension or system.schema by hand.
3. Repoint the composer.json File
composer.json FileOpen the root composer.json and change these lines so the site targets the 9.2.x line.
Point Varbase at the new line:
~9.2.0 resolves to the latest stable Varbase 9.2 release, which is what pulls in Varbase 9.2 and Drupal 11.
Move the Drupal core helpers to Drupal 11:
These keep the scaffolded files and the project message in step with Drupal ~11.4.
Point the patch package at the new line:
This brings in the Varbase 9.2.x patch set and, through it, vardot/drupal-core-patches (the Drupal core patches).
Allow the two patch plugins to run:
Composer only lets listed plugins execute; these two apply the patches.
Do not add vardot/drupal-core-patches here. It is a metapackage (a store of Drupal core patches), not a plugin. The only Varbase patch plugin is vardot/varbase-patches.
Allow both patch packages to patch other dependencies:
This lets the Varbase and Drupal core patches be applied to their target packages.
Remove any standalone LB UX require, if your project has one:
Delete that line. LB UX is now bundled inside Varbase Layout Builder as the modules/lb_ux submodule.
Remove drupal/lb_ux from composer.json. It has no Drupal 11 release, so a standalone require will fail to resolve. Varbase Layout Builder now ships it as the modules/lb_ux submodule (with the Drupal 11 fixes from #3464547 ported), so you get the same functionality without the separate package.
4. Update Composer and Reapply Patches
With composer.json repointed, do a full clean rebuild so Composer resolves everything from scratch and reapplies every patch in one pass.
Delete the lock files and the vendor tree:
Reinstall from scratch:
Deleting composer.lock, patches.lock.json and vendor/ lets ddev composer install resolve everything fresh in a single pass. It switches the patch system to cweagans/composer-patches ~2.0, brings in the new Drupal ~11.4 vendor tree, and pulls the Drupal core patches from vardot/drupal-core-patches ~11.4.0 (through vardot/varbase-patches).
Because the lock file is gone, ddev composer install resolves fresh, writes a new composer.lock, and applies all patches. So you do not need a separate composer update -W followed by composer install — this one command does it all.
If ddev drush status afterwards still shows Varbase 9.1.x, require the new version explicitly and reinstall:
5. Run the Database Updates
With the code on the 9.2.x line, apply the database updates and rebuild the cache:
A successful run lists each pending update, prints [success] for each, and ends without any [error]. If it stops on a leftover module, see Troubleshooting below.
If your site tracks configuration, export and review the changes before you commit them:
6. Verify Your Site
Click through this checklist:
Check the version:
You should now see Drupal ~11.4 and Varbase 9.2.
Check the log is clean:
This should print nothing (no errors).
Open the front end — visit the homepage as an anonymous visitor and confirm it renders.
Open the admin pages — Administration \ Content (
/admin/content) and Administration \ Reports \ Status report (/admin/reports/status).Create or edit a page and save it, to confirm content editing works.
When the version reads Drupal ~11.4 / Varbase 9.2, the log is empty, and content editing works, the upgrade is done. Now push your code and build to production.
7. Troubleshooting
updatedb stops with "module X does not exist". A module was still enabled when its code was removed. Uninstall it the same way as in step 2 and run the updates again:
A Bootstrap 4 theme's JavaScript breaks after the update. Drupal 11 ships jQuery 4, which breaks Bootstrap 4 JavaScript. Raise the theme's jQuery gate to >=5 (as Vartheme (Bootstrap 4) does in #3607041), or move the front end to Bootstrap 5. See the jQuery 4.0 upgrade guide.
A social login provider throws an error. The 9.2.x line already pins Social Auth / Social API to ~4.1 / ~4.0 (the provider modules lag Social Auth 4.2) and applies a patch that removes the dangling configure route on Social Auth LinkedIn (#3507495). Make sure vardot/varbase-patches is allowed to run (step 3) so these fixes are applied.
Reference: Drupal 11 Changes Carried by the 9.2.x Line
You do not need to act on these — the 9.2.x components and their patches already handle them. They are listed so you know what changed under the hood.
Social Auth / Social API are pinned to
~4.1/~4.0because the provider modules lag Social Auth4.2, plus the Social Auth LinkedIn route patch (upstream #3507495).theme_get_setting()is deprecated in Drupal 11; themes now read settings throughThemeSettingsProvider::getSetting().jQuery 4 in Drupal 11 core breaks Bootstrap 4 JavaScript; the jQuery gate is raised to
>=5(#3607041), or move to Bootstrap 5.The contrib Default Content module is dropped. On a fresh Varbase
9.2install the demo content is now provided by Drupal core Default Content. This has no effect on the upgrade path — your existing content is untouched.
For AI Agents and Automated Upgrades
The varbase-upgrade-9-1-to-9-2 agent in Vardot/dev-ai-agents runs this exact flow end to end (uninstall dropped modules → repoint composer → reapply patches → run updates → verify), always through review-gated MRs/PRs and never releasing. The agent should also ask the site owner to upgrade the project's custom modules and custom themes for Drupal 11 (see step 1) before running the updates — that code is outside the Varbase upgrade.
Last updated