For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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.

What Changed in 9.2.0 — Read Before Upgrading

  • Varbase 9.2.0 is Drupal ~11.4-only and drops Drupal 10. It is the continuation of the 9.1.x line (9.1.139.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 the modules/lb_ux submodule (with the Drupal 11 fixes from #3464547 ported). If your composer.json requires drupal/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.

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).

  1. 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.

  1. 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.

  1. 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).

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 Varbase 9.2.x.

  • google_analytics_reports (+ google_analytics_reports_api) — dropped from Varbase Total Control on 9.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

Open the root composer.json and change these lines so the site targets the 9.2.x line.

  1. 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.

  1. Move the Drupal core helpers to Drupal 11:

These keep the scaffolded files and the project message in step with Drupal ~11.4.

  1. 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).

  1. Allow the two patch plugins to run:

Composer only lets listed plugins execute; these two apply the patches.

  1. Allow both patch packages to patch other dependencies:

This lets the Varbase and Drupal core patches be applied to their target packages.

  1. 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.

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.

  1. Delete the lock files and the vendor tree:

  1. 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.

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:

  1. Check the version:

You should now see Drupal ~11.4 and Varbase 9.2.

  1. Check the log is clean:

This should print nothing (no errors).

  1. Open the front end — visit the homepage as an anonymous visitor and confirm it renders.

  2. Open the admin pagesAdministration \ Content (/admin/content) and Administration \ Reports \ Status report (/admin/reports/status).

  3. Create or edit a page and save it, to confirm content editing works.

7. Troubleshooting

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.0 because the provider modules lag Social Auth 4.2, plus the Social Auth LinkedIn route patch (upstream #3507495).

  • theme_get_setting() is deprecated in Drupal 11; themes now read settings through ThemeSettingsProvider::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.2 install 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.

Switch from CKEditor 4 to CKEditor 5 in Varbase ~9.1.0

Last updated