github ddev/ddev v1.25.2

latest release: v1.25.3
2 months ago

Installation

See the installation instructions for details, but it's easy:

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
  • Linux: Use sudo apt-get update && sudo apt-get install ddev, see apt/yum installation
  • Windows and WSL2: Download the Windows Installer; you can run it for install or upgrade.
    ⚠️ Traditional Windows users (not WSL2): If needed, the installer will prompt you to uninstall the previous system-wide installation to avoid conflicts with the new per-user installation.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous Docker image versions. This does no harm.
  • Consider ddev config --auto to update your projects to current configuration.

Highlights

  • Faster ddev start: Reduced fresh-router healthcheck wait
  • New project types and quickstarts: 3 new project types (wp-bedrock, asterios, joomla) and 2 new quickstarts (Tempest, October CMS)
  • Auto-start on command: DDEV now automatically starts stopped projects when you run ddev exec, ddev ssh, ddev share, ddev xhgui, ddev pull, ddev push, or ddev snapshot restore
  • New diagnostic commands: ddev utility port-diagnose to identify port conflicts, ddev utility check-custom-config to detect unexpected configuration, ddev utility tls-diagnose to identify TLS/SSL problems with DDEV projects.

Quickstarts

Features

  • Support bare variable names in web_environment for host environment passthrough
  • Add project path to the interactive dashboard, thanks to @yanniboi
  • Add global omit_snapshot_on_delete setting, thanks to @marklabrecque-ab
  • Add --project flag to ddev exec, thanks to @penyaskito
  • Use runtime environment variables in wp-config-ddev.php for WordPress, thanks to @jonesrussell
  • Add support for symfony_mailer 2.x in Drupal config, thanks to @hchonov
  • Display project info (name and environment) when calling ddev pull/ddev push, thanks to @mariano-dagostino
  • Support virtioproxy WSL2 networking mode
  • Support "1"/"0" for DDEV_* environment variables (e.g. DDEV_DEBUG=1), thanks to @deviantintegral
  • Automatically set com.ddev.* labels for Docker images, containers, and networks
  • Add aggregate_gc_threshold=0 to Drupal 12 config, thanks to @rpkoller

Bug Fixes

  • Detect custom configuration files and show unexpected configuration on ddev start
  • Prevent Path Traversal (ZipSlip), thanks to @SnailSploit
  • Normalize PHP_IDE_CONFIG (PhpStorm) for uppercase project names
  • Reduce file permissions for system directories /usr/bin and /usr/sbin inside the container, thanks to @AkibaAT
  • Ensure ddev-ssh-agent and ddev-router are up to date on DDEV upgrade
  • Respect webimage for all use cases; don't pull the default web image when it's not in use
  • Simplify ddev composer create-project by removing the composer update step
  • Add timeout to yarn config set in start.sh for the ddev-webserver Docker image
  • Fix malformed WSLENV on Windows install/uninstall

Internal Improvements

  • Implement config model using Viper, thanks to @agviu
  • Improve testing in GoLand by prebuilding the ddev binary, thanks to @jonesrussell
  • Add missing php8.5-memcached for ARM64 to ddev-webserver Docker image
  • Use newer deb822 format (*.sources instead of *.list) for Docker and DDEV repositories (Linux and WSL2)

Minor Updates

  • PHP 8.4.20 and 8.5.5
  • Docker Compose v5.1.3
  • Remove obsolete ddev sequelpro command and vestiges in documentation

What's Changed

  • fix(commands): use /usr/bin/env bash in web console command by @tyler36 in #8182
  • build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #8193
  • fix(composer): ddev composer create-project can ignore .devcontainer [skip buildkite] by @rfay in #8192
  • docs(buildkite): Minor fixups to WSL2 buildkite setup by @rfay in #8172
  • build(deps): bump goreleaser/goreleaser-action from 6 to 7 by @dependabot[bot] in #8175
  • docs(quickstart): Use mkdir -p and more descriptive names [skip buildkite] by @rfay in #8200
  • docs: suggest trivial project in troubleshooting by @rfay in #8199
  • build(deps): bump docker/login-action from 3 to 4 (#8211) [skip ci] by @dependabot[bot] in #8211
  • build(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #8210
  • docs: clarify usage for TUI by @stasadev in #8203
  • test(quickstart): pause d12 bats test in github actions by @rpkoller in #8217
  • chore(docs): remove Plausible [skip ci] by @stasadev in #8228
  • fix(quickstart): do not use gunicorn for wagtail by @stasadev in #8229
  • feat: support bare variable names in web_environment for host env passthrough by @rfay in #8209
  • fix(buildkite): use proper check for skip by @stasadev in #8231
  • build: update go deps, vendor docker-compose SDK, for #8234 by @stasadev in #8198
  • style: Fix minor typo: skiped → skipped by @penyaskito in #8243
  • chore(quickstart): Make quickstart drupal.bats drush launch usage less fragile by @rfay in #8247
  • fix: prevent path traversal (ZipSlip) in Untar and Unzip by @rfay in #8213
  • fix: lowercase PHP_IDE_CONFIG serverName for uppercase project names, fixes #8225 (#8248) [skip ci] by @rfay in #8248
  • docs(sharing): Improve ngrok setup instructions, fixes #8101 (#8205) [skip ci] by @samcrichard in #8205
  • refactor: bump Laravel to latest version by @tyler36 in #8238
  • chore(go): Use go fix to update golang usage, fixes #7963 by @rfay in #8249
  • feat(tui): Added ddev project path to TUI project browser, for #8184 by @yanniboi in #8185
  • build: update go deps, vendor viper, for #8181 by @dependabot[bot] in #8237
  • fix: reduce world writeable directories and files, fixes #8194 by @AkibaAT in #8195
  • feat: add aggregate_gc_threshold of 0 to drupal12 settings.ddev.php (#8215) [skip ci] by @rpkoller in #8215
  • build(pecl): add php8.5-memcached for ARM64, fixes ddev/ddev-memcached#20 by @stasadev in #8252
  • docs: document Mailpit plus-address auto-tagging and how to disable it (#8222) [skip ci] by @maks-oleksyuk in #8222
  • fix: use Lstat in PurgeDirectory to handle symlinks without following them by @rfay in #8254
  • build: bump 1password/load-secrets-action from 3 to 4 (#8266) [skip ci] by @dependabot[bot] in #8266
  • fix(test): check for GitHub token in TestAddonGetCircularDependencies by @stasadev in #8257
  • fix(docker): use ContainerInspect polling instead of ContainerWait to avoid hangs by @stasadev in #8265
  • fix: bump action-linkspector from v1.3.5 to v1.4.0 to resolve setup-node@v4 warning [skip ci] by @rfay in #8269
  • fix: use deb822 format for DDEV and Docker apt repositories, fixes #8232 (#8233) [skip ci] by @stasadev in #8233
  • feat(autostart): automatically start projects on command when project stopped, fixes #8245 by @rfay in #8258
  • test(lagoon): use new amazee.io testing environment for Lagoon integration (#8270) [skip ci] by @rocketeerbkw in #8270
  • build(arm64): php8.5-memcached from repos, refactor ddev-webserver tests, for #8252 by @stasadev in #8268
  • test(webserver): wait for FPM reload to settle after xdebug disable (#8272) [skip ci] by @stasadev in #8272
  • refactor: implement config model using viper, fixes #5763 (#8181) [skip ci] by @agviu in #8181
  • feat(cmd): ddev exec accepts a --project flag, fixes #8241 by @penyaskito in #8244
  • feat(wordpress): use runtime DDEV_PRIMARY_URL for WP_HOME, fixes #8098 by @jonesrussell in #8176
  • chore(drupal): add support for symfony_mailer 2.x to drupal settings.ddev.php by @hchonov in #8274
  • test(wsl2): add cleanup for ddev/docker apt sources leftovers, for #8233 by @stasadev in #8275
  • feat: Display project info (name and environment) when calling ddev pull/push, fixes #8201 by @mariano-dagostino in #8202
  • fix(config): detect custom files, add ddev utility check-custom-config by @stasadev in #8218
  • fix(docker): use ddev-utilities image for volume/utility RunSimpleContainer calls to fix Lima/Colima 10-30m hangs by @rfay in #8271
  • test(traefik): skip TestCustomGlobalConfig on Rancher Desktop, fixes #8167 (#8283) [skip ci] by @rfay in #8283
  • fix(docker): use ddev-utilities for remaining RunSimpleContainer calls (#8282) [skip ci] by @rfay in #8282
  • fix(mutagen): tolerate transient staging files during volume chown by @rfay in #8281
  • refactor: detect custom files in ddev utility diagnose by @stasadev in #8279
  • docs: Update Contao Quickstart Recipe (#8278) [skip ci] by @fkaminski in #8278
  • docs: improve AI agent instructions and dev workflow guidance [skip ci] (#8284) [skip ci] by @rfay in #8284
  • fix(addons): sleep 500ms after creating config files on Lima/Colima/Rancher Desktop (#8288) [skip ci] by @rfay in #8288
  • chore: remove obsolete commands, fixes #8291 (#8292) [skip ci] by @stasadev in #8292
  • fix: normalize path separators in check-custom-config output on Windows by @rfay in #8286
  • docs: add october cms to quickstart instructions (#8285) [skip ci] by @daftspunk in #8285
  • test: fail fast when command tests would use PATH ddev by @jonesrussell in #8280
  • build(ci): pin textlint@15.5.2 by @stasadev in #8300
  • refactor(wordpress): make wp-config-ddev.php a static asset, fixes #8098 by @rfay in #8287
  • docs: rewrite Windows installation instructions, fixes #7996, fixes #7703 (#8290) [skip ci] by @rfay in #8290
  • docs(quickstart): add Tempest (#8299) [skip ci] by @stasadev in #8299
  • feat: support "virtioproxy" WSL2 networking mode, fixes #8220 by @rfay in #8262
  • build(ci): remove pin for textlint, for #8300 (#8303) [skip ci] by @stasadev in #8303
  • fix: ensure up-to-date images for ddev-ssh-agent and ddev-router (#8305) [skip ci] by @stasadev in #8305
  • fix(webserver): always use webimage from app config (#8304) [skip ci] by @stasadev in #8304
  • feat: add global omit_snapshot_on_delete setting, fixes #8263 (#8264) [skiop ci] by @marklabrecque-ab in #8264
  • feat: support "1" for environment variables by @deviantintegral in #8246
  • chore: add link to blog about buildx requirement, for #8234 (#8310) [skip ci] by @stasadev in #8310
  • build: bump actions/github-script from 8 to 9 by @dependabot[bot] in #8314
  • fix(composer): remove composer update from create-project, for #7864 (#8315) [skip ci] by @stasadev in #8315
  • fix(webserver): add timeout to yarn config set in start.sh (#8309) [skip ci] by @stasadev in #8309
  • refactor(debug): simplify RunSimpleContainer reporting, for #8271 (#8311) [skip ci] by @stasadev in #8311
  • feat: add ddev utility port-diagnose command to identify port conflicts, fixes #8085 (#8260) [skip ci] by @rfay in #8260
  • feat: add wp-bedrock project type, fixes #8179 by @jonesrussell in #8219
  • feat(docker): set ddev labels for images, containers, networks, fixes #7389 by @stasadev in #8312
  • refactor(debug): improve reporting for RunSimpleContainer timeout, for #8311 by @stasadev in #8317
  • perf(router): reduce fresh-router healthcheck wait, refs #8096 by @rfay in #8316
  • test: update moodle quickstart by @stasadev in #8319
  • fix(test): use local apt repo with fake packages to avoid flakiness in TestExtraPackages by @stasadev in #8323
  • feat(asterios): Add Asterios project type (#8313) [skip ci] by @asteriosphp in #8313
  • feat: add ddev utility tls-diagnose command, fixes #8224 (#8259) [skip ci] by @rfay in #8259
  • fix(installer): fix malformed WSLENV on Windows install/uninstall, fixes #8324 (#8325) [skip ci] by @rfay in #8325
  • fix(traefik): don't mark README.txt as stale (#8329) [skip ci] by @stasadev in #8329
  • build(deps): bump go.mod and docker-compose to v5.1.3 by @stasadev in #8318
  • test(wsl): mkcert installation on Windows too hard for WSL by @rfay in #8333
  • refactor: remove obsolete ddev sequelpro command (#8331) [skip ci] by @rfay in #8331
  • feat: add joomla project type by @renekreijveld in #8226
  • build(docker): bump images to v1.25.2 for release, fixes #8320 by @stasadev in #8332
  • build(ci): remove -failfast, support MAKE_TARGET/TESTPKG/TESTFILE for targeted test runs, increase timeout to 6h by @rfay in #8336
  • ci: improve Buildkite test result visibility for FAIL/PASS/SKIP (#8338) [skip ci] by @rfay in #8338
  • test(wsl): fix CAROOT propagation for buildkite-agent on WSL2 by @rfay in #8334
  • chore(assets): add .ddev/addon-metadata/README.txt (#8343) [skip ci] by @stasadev in #8343
  • fix: flush Mutagen before container chmod and after settings file write, fixes #8340 (#8341) [skip ci] by @rfay in #8341
  • fix: warn instead of silently ignoring RemoveProjectInfo error, for #8339 (#8342) [skip ci] by @rfay in #8342
  • fix(installer): prevent CI timeout in WSL2 Docker CE installer test by @rfay in #8337

New Contributors

Full Changelog: v1.25.1...v1.25.2

Don't miss a new ddev release

NewReleases is sending notifications on new releases.