Install

Works with Drupal: ^10.3 || ^11

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 758.02 KB
MD5: c823a2ccaa2e6fb20642b8deae6f4fe9
SHA-1: 380757b529336ba3a5725ef86062d7d59657013f
SHA-256: 39201f092f29eec8b9a5c86435846cc91712e7b117e90875eb43ad05e898be27
Download zip 1.27 MB
MD5: c73c0d508b524fc8012b1d923cb9ab95
SHA-1: ac90119501bb85ce4b556225ea5b86a3f36403ff
SHA-256: 7d43d679b5e49653f01284c84b3bc9e438689b81dac47e7e87e16058618f6e86

Release notes

Fixed
- Long-running child processes no longer let the database connection time out.
Package installs (up to 600s), Vite builds, tsc and SSR builds ran through a
blocking Process::run() while the parent PHP process held an idle MySQL
connection; on hosts with a lowered wait_timeout (60-120s is common on shared
hosting) the server dropped the connection mid-build and the next query -
typically Drupal's own shutdown cache writes - failed with "MySQL server has
gone away", leaving half-written caches behind. Every long-running spawn now
goes through a shared keepalive runner (sdx.process_runner) that pings the
connection every 30 seconds while the child runs, so the connection never
idles past any realistic wait_timeout regardless of server configuration.
Covers the package-manager plugins, the Vite bundler including vendor and
library-asset builds, tsc, vitest, the CSS pipeline, SSR builds and the
dev/watch servers.

Added
- drush sdx:build prints phase timings: total wall-clock plus the JS and CSS
phases, per-framework build durations and the library-asset compile time, so
slow builds can be profiled from their own output.
- Per-extension CSS builds run concurrently through a bounded pool; sdx:build
and sdx:build:css accept --concurrency (default 4). Failures still report
per extension once all builds finish.

Changed
- The Vite bundler no longer runs a package-manager install on every build. The
materialised package.json (plus the install command) is fingerprinted into
node_modules/.sdx-install-stamp after a successful install and the install is
skipped while the stamp matches; dependency changes and a wiped node_modules
still trigger a fresh install.

Created by: vzsigmond
Created on: 9 Aug 2026 at 21:24 UTC
Last updated: 9 Aug 2026 at 21:24 UTC
Bug fixes
New features

Other releases