Skip to content

v1.21.4: WSL2 improvements, PHP 8.2 with all extensions, Drupal 10, Traefik Router

Compare
Choose a tag to compare
@rfay rfay released this 15 Dec 23:27
· 856 commits to master since this release
a8b6469

Highlights

Major features of this significant release:

  • Improved WSL2 support, see install docs and PhpStorm docs.
    • Correct Xdebug behavior when docker-ce is installed inside WSL2
    • Use the hosts file on the Windows side by default.
    • Provide complete install scripts for both docker-ce and Docker Desktop.
    • For best results on existing projects, please install the traditional Windows DDEV, choco install -y ddev.
  • PHP 8.2.0 is now supported with all the normal extensions. Note that php8.1-xhprof and php8.2-xhprof have a [bug](longxinH/xhprof#76) that may affect using ddev xhprof with those versions. You can fix this with webimage_extra_packages: [php8.2-xhprof] or webimage_extra_packages: [php8.1-xhprof].
  • Drupal 10 is fully supported, including support for specific MariaDB/MySQL/PostgreSQL requirements.
  • Traefik optional new ddev-router. This will become the default router in the future. See docs
  • .ddev/.env files for setting environment variables inside the web container, see docs.
  • ddev pull now supports the --environment option so you can provide environment variables to the pull recipe on the command line.
  • Command flags for wrapper commands now can use the flags on the wrapped command. For example, ddev composer --help will now return the composer help instead of ddev’s help for ddev composer. ddev php --help will show php’s help, etc. Thanks to @hanoii for sorting this out!
  • Friendlier ddev get output.
  • ddev self-upgrade command helps you remember how to upgrade your DDEV version.
  • ddev pull platform can now pull multiple databases from your Platform.sh project.
  • Attention ddev add-on maintainers: Each action in an add-on can now have a #ddev-description:<description> annotation that helps explain what’s happening as the add-on runs.
  • Ongoing major documentation improvements by @mattstein, thanks!

Installation

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

  • macOS: brew install drud/ddev/ddev or just brew upgrade ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2: Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh script: curl -fsSL https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • 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.

Minor Changes

  • postgres:9, postgres:10, and postgres:11 were broken due to upstream changes, but are fixed here
  • ddev launch and postgres database now work on Gitpod.
  • DDEV is ready for Drupal 9.5 and 10 with setting the “MySQL transaction isolation level” and adding the pg_trgm extension on postgres.
  • NFS works again on macOS Ventura after a Ventura/Docker regression
  • Shopware 6 and Laravel .env files are now managed by DDEV where necessary. This can be turned off, as always, with disable_settings_management: true.
  • New ddev querious command supports the Querious database browser on macOS if it’s installed, thanks to @brianjhanson.
  • Docker 20.10+ is now required no matter what your Docker provider; most people on Colima, Docker Desktop or Linux already have this.
  • New ddev config --xdebug-ide-location allows configuring many IDE setups, see docs.
  • ddev launch works on gitpod, thanks to @bajuku-daniel
  • PostgreSQL databases work on gitpod, thanks to @bajuku-daniel

Caveats

  • If using Windows WSL2, please install the current version of DDEV on the WIndows side, choco upgrade -y ddev; ddev.exe is used as a helper to add or remove hosts from the Windows hosts file when needed.
  • If using Windows WSL2 and you often add or remove hostnames, you will be annoyed by gsudo escalation all the time, consider turning on the gsudo cache with gsudo.exe cache on and gsudo.exe config CacheMode auto; that way it won't escalate for every single addition or removal from the hosts file.

What's Changed

  • Bump .gitpod.yml to new image by @rfay in #4311
  • [docs] Remove inappropriate link from chocolatey deploy by @rfay in #4316
  • nsis_setup.sh was broken, fix it [skip ci] by @rfay in #4315
  • Fix custom nginx configuration links by @bencroker in #4308
  • Make host.docker.internal work with all WSL2 permutations and gitpod, fixes #4242, fixes #3772, fixes #3813 by @rfay in #4252
  • [docs] fix manual chocolatey push instructions by @rfay in #4321
  • Minor tweak followups for xdebug PR [skip ci] by @rfay in #4325
  • Improve test_ddev.sh curl to show what it's doing [skip ci] by @rfay in #4333
  • [docs] Image cleanup by @mattstein in #4336
  • Fix ddev import-db with postgres on gitpod by changing PGHOST=127.0.0.1 by @bajuku-daniel in #4328
  • Fix TYPO3 project detection to work with non existent symlinks, fixes #4326 by @gilbertsoft in #4330
  • Update process of adding the gpg key by @mtelgkamp in #4324
  • Don't try to stop default mutagen daemon on ddev poweroff by @rfay in #4291
  • upload_dir support in Craft CMS, fixes #4302 by @rfay in #4317
  • Gitignore .DS_Store and similar files by @mattstein in #4337
  • Make ddev settings management less chatty for Drupal by @rfay in #4334
  • [docs] Improve Craft CMS Quickstart - how to add environment variables by @flynnt in #4314
  • Optimize composer create to also work without --no-install by @gilbertsoft in #4273
  • [docs] Reformat config reference by @mattstein in #4332
  • [docs] Craft CMS quickstart should not have --no-install, fixes #4338 by @rfay in #4340
  • [docs] Improve buildkite-agent configuration by @rfay in #4344
  • [docs] Add docs warning about macOS Ventura and NFS by @rfay in #4343
  • Make ddev launch work right on gitpod by @bajuku-daniel in #4342
  • Setting the MySQL transaction isolation level (Fixes #4281) by @tyler36 in #4339
  • See if docker-compose v2.12.2 works with ddev by @rfay in #4350
  • Add postgres:15 support by @rfay in #4348
  • Add pg_trgm extension on postgres for Drupal9+, fixes #4341, fixes #3584, fixes #3653 by @rfay in #4347
  • [docs] Remove the mutagen.yml in troubleshooting by @rfay in #4352
  • Round 2 for Drupal transaction isolation, fixes #4281 by @rfay in #4351
  • [docs] QuickStart Laravel Git Clone by @ibrah3m in #4320
  • Improve developer docs discussing secrets and accounts for #3962 [skip ci] by @rfay in #4175
  • Web environment variables - allow spaces, fixes #4220 by @AronNovak in #4221
  • Fix UID collision with host-side uid 999 and make docker-compose username override work again, fixes #4243, fixes #4313 by @rfay in #4346
  • Minor github workflow cleanup by @rfay in #4358
  • Don't run /etc/bash_profile ~/.bash_profile or .bashrc in ddev-webserver healthcheck by @rfay in #4356
  • Set NFS wsize/rsize options for Ventura (Fixes #4122) by @karlshea in #4359
  • [docs] correct url in the docker install command by @webseppel in #4361
  • Improve WSL2 Installation experience with a PowerShell script [skip ci] by @rfay in #4150
  • [docs] Don't use inappropriate ~ for path in PhpStorm location for docker-compose by @pyrello in #4368
  • Improve detection of craftcms project type even when not in project root, fixes #4329 by @flynnt in #4331
  • [tests] Add xq and yq to brew install in master-build [skip ci] by @rfay in #4369
  • [tests only] xq and yq are no longer needed by @rfay in #4370
  • [docs] Add web_extra_daemons and web_extra_exposed_ports to settings page by @mattstein in #4373
  • [docs] Add command reference by @mattstein in #4354
  • [docs] Add docker-inside script for wsl2 [skip ci] by @rfay in #4366
  • [docs] Clean up filenames + update links by @mattstein in #4378
  • [docs] Fix mysqlworkbench custom command instructions by @bananabendera in #4381
  • [tests only] TestDdevStart should not rely on DDEV_DEBUG by @rfay in #4384
  • Warn about usage of Docker Desktop for Linux by @rfay in #4380
  • [docs] Contributing to open source URL no longer at github by @rfay in #4387
  • [docs] Stylistic cleanup by @mattstein in #4386
  • [docs] Add consolidated Architecture page by @mattstein in #4379
  • Don't warn about Docker Desktop for Linux on WSL2 by @rfay in #4388
  • Bump rojopolis/spellcheck-github-actions from 0.27.0 to 0.28.0 by @dependabot in #4392
  • ddev share --subdomain should use ngrok --subdomain, fixes #4390 by @rfay in #4393
  • Fix postgres 9-11 build broken, fixes #4391 by @rfay in #4394
  • WSL2: Manage hosts on the Windows side, fixes #3818 by @rfay in #4377
  • Implement traefik as optional/future ddev-router, fixes #3458, fixes #2653 by @rfay in #4248
  • AUR: bring dependencies back to PKGBUILD recipe by @stasadev in #4396
  • [docs] Fix 404 on wsl2 docker desktop download by @rfay in #4400
  • [docs] WSL2 instructions should specify PowerShell 5 by @rfay in #4401
  • Restore proper hosts file removal, fixes #4404 by @rfay in #4408
  • Allow setting environment in ddev pull on command line, fixes #4180, fixes ddev/ddev-platformsh#63 by @rfay in #4399
  • [docs] Fixing indentation in multiple exposed ports example YAML. by @quicksketch in #4412
  • Disable flags from custom commands when the annotation is not present, fixes #4225 by @hanoii in #4283
  • Make ddev get output friendlier by @rfay in #4414
  • No localhost in ddev describe, minor formatting cleanup by @rfay in #4420
  • Bump docker-compose to v2.13.0 by @rfay in #4422
  • Add support for .ddev/.env file, fixes #4309 by @rfay in #4418
  • ddev self-upgrade command, fixes #2680 by @rfay in #4419
  • Bump docker-compose to 2.14.0 by @rfay in #4424
  • [docs] Improvements on addition of .ddev/.env file (for #4418) by @mattstein in #4425
  • Add .env file parsing, fix laravel to use it, fix Shopware 6 overwriting, fixes #3636, fixes #3590 by @rfay in #4197
  • [docs] Minor - new linter version insists on _ for emphasis by @rfay in #4433
  • Improve output from ddev get, fixes #4423 by @rfay in #4431
  • Web image maintenance: Bump mkcert, yq versions, use real mkcert repo by @rfay in #4434
  • [docs] Craft CMS: Remove manual download instructions by @AugustMiller in #4428
  • Fix help message when deleting a project by @juampynr in #4438
  • Get config.yaml in ddev debug test by @rfay in #4435
  • Add ddev querious command by @brianjhanson in #4429
  • Fix over-eager project env replacement, for #4197 by @rfay in #4437
  • Bump all images for v1.21.4 by @rfay in #4440
  • Disable platformsh and terminus CLI update checks, fixes ddev/ddev-platformsh#40 by @rfay in #4442
  • [docs] Improve Drupal 10 quickstart by @rfay in #4448
  • Update php 8.2 extensions (xdebug, memcached, redis now there) by @rfay in #4445
  • Bump actions/setup-python from 4.3.0 to 4.3.1 by @dependabot in #4451
  • Platform integration: Download all databases, Allow a primary relationship for the main 'db', fixes #4415, fixes ddev/ddev-platformsh#59 by @rfay in #4426
  • Improve output of ddev get in failure cases and add --verbose flag by @rfay in #4441
  • [docs] Laravel quickstart had duplicated ddev composer create by @rfay in #4455
  • [Tests only] Refresh homebrew/lima caches since colima/lima upgraded by @rfay in #4458
  • Fix typo on primary relationship command by @bserem in #4457
  • [docs] Multiple release prep docs changes, fixes #4411 by @rfay in #4456

New Contributors

Full Changelog: v1.21.3...v1.21.4