Highlights
Major features of this release:
- DDEV has moved to github.com/ddev/ddev. You do not have to change anything on your system. But if you are using homebrew, you can now use the ddev/ddev tap if you want to, although the old drud/ddev tap still works fine. So
brew untap drud/ddev && brew install ddev/ddev/ddev
. - WSL2 hosts management is improved. Hosts management is only required when using a non
*.ddev.site
URL, but now when it is needed, the Windows hosts file is edited (using DDEV installed on Windows side, activated from inside WSL2). This allows apps like browsers to properly look up hostnames in this situation. Please upgrade DDEV on Windows withchoco upgrade -y ddev
or by running the installer in this release. - Container start hooks (
.ddev/web-entrypoint.d/*.sh
) are introduced so that actions can be taken earlier in the web container lifecycle. For example, environment variables can be set that will be known in php-fpm. - GitHub Codespaces is supported.
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
). (You may need abrew 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 (macOS works too): Use
apt install ddev
orapt upgrade ddev
see apt/yum installation or use the install_ddev.sh:curl -fsSL <https://raw.githubusercontent.com/ddev/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
orddev delete images --all
after upgrading to free up disk space used by previous docker image versions. This does no harm.
Minor Changes
- MySQL 8.0 is updated to 8.0.31, with full snapshot support.
composer_root
is respected for.env
creation and also forddev composer create
nodejs_version: 18
works again after a regression in the upstream nodejs installer.- The Traefik router is improved to respect $VIRTUAL_HOST; note that the Traefik router will become the default in DDEV v1.22.0.
- $DDEV_PHP_VERSION is provided in
.ddev/web-build/Dockerfile.*
so that custom Dockerfiles don’t have to hard-code the PHP version. ddev nvm
works properly after a regression in v1.21.4.- Many other bugfixes and docs improvements. Thanks DDEV community!
Caveats
- If you have a custom Dockerfile that does an ADD or similar activity, the context of ADD has changed, and it’s now the full project. So instead of the old
ADD somefile.conf /etc/somefile.conf
you’ll doADD .ddev/web-build/somefile.conf /etc/somefile.conf
- Is you use WSL2, please install/upgrade the Windows version of DDEV,
choco upgrade -y ddev
- it’s used as a proxy in cases where the hosts file has to be manipulated (when not using*.ddev.site
URLs). This isn’t needed for anything else, and it doesn’t require Docker Desktop to do this work, so Docker Desktop is not required if you use “Docker inside WSL2”,docker-ce
.
What's Changed
- [docs] Fixes Arch yay install/update; to match package name, fixes #4461 by @z3cka in #4462
- Add DDEV_PHP_VERSION to image build time, docs for building extension by @rfay in #4463
- [docs] Update Arch Linux section in ddev-installation.md by @mattstein in #4464
- [docs] Add ddev-platformsh as officially supported by @rfay in #4460
- [docs] nginx/snippet/restart cleanup for #4456 by @mattstein in #4470
- [docs] Minor tidying for
ddev pull platform
PRs #4441 and #4426 by @mattstein in #4469 - Bump goreleaser/goreleaser-action from 3 to 4 by @dependabot in #4468
- Add package build for install-ddev (for github codespaces) [skip ci] by @rfay in #4484
- Update fsouza/go-dockerclient for upstream security issue by @rfay in #4485
- Support GitHub Codespaces, fixes #3914 by @rfay in #4476
- Fix typo in project type by @bencroker in #4491
- [docs] Update “Testing a PR” by @mattstein in #4490
- Fix example "debug dockercheck" on Commands page by @jmpala in #4489
- Fix additional_hostnames example by @skeemer in #4487
- Bump actions/setup-python from 4.3.1 to 4.4.0 by @dependabot in #4493
- [docs] Change colima recommendation for installation by @rfay in #4494
- Update pull request template by @mattstein in #4496
- [docs] Add disclaimer about DDEV_PHP_VERSION in image build, fixes #4497 [skip ci] by @rfay in #4498
- Improve custom configuration information message by @skeemer in #4488
- [docs] “Details” and “Hosting integration” restructuring by @mattstein in #4495
- [docs] “Developers” → “Development” by @mattstein in #4503
- [docs] Update readme links and reformat screenshot by @mattstein in #4502
- [docs] Refactor “Guides” content by @mattstein in #4505
- Bump rojopolis/spellcheck-github-actions from 0.28.0 to 0.29.0 by @dependabot in #4512
- [docs] Private docker-compose not available until a project has been started by @jeroenimpres in #4513
- [tests only] Fix broken colima tests by @rfay in #4515
- CircleCI security episode, rotate tokens, clean up by @rfay in #4525
- Make TestPull and TestPush actually work by @rfay in #4527
- [docs] Fix link in WSL2 upgrade section, fixes #4523 by @ibrah3m in #4528
- [docs] formatting issue in installation instructions, fixes #4518 [skip ci] by @mbomb007 in #4520
- [docs] Improve instructions about how to build/use HEAD by @rfay in #4529
- [docs] Enable SmartyPants by @mattstein in #4531
- [docs] Remove notes about composer limitations by @tbal in #4532
- [docs] typo: small typo error in drupal git clone section by @Romaixn in #4534
- [docs] Correct a mistake in Bedrock description wording by @gturpin-dev in #4535
- Add Plausible analytics snippet by @mattstein in #4540
- [docs] Add google site verifier to docs [skip ci] by @rfay in #4543
- Updates write path for
.env
files to respect app-specific locations. by @flynnt in #4526 - [docs] Add Google verification meta tag by @mattstein in #4548
- Bump actions/setup-python from 4.4.0 to 4.5.0 by @dependabot in #4554
- [docs] “Database Management” touch-up by @mattstein in #4559
- [docs] Gentler “Getting Started” with less CMS emphasis by @mattstein in #4558
- WSL2: Improve hosts management on Windows side, fixes #4482 by @rfay in #4553
- Fix regression where it always adds *.ddev.site to hosts by @rfay in #4563
- [docs] Fix link on “Commands” page, fixes #4541 by @mattstein in #4564
- [docs] Remove space and backtick from Windows installation instructions. by @mattstein in #4567
- Improve visual balance of README.md. by @mattstein in #4566
- Change DockerCompose version to 2.15.1 to test by @rfay in #4565
- [wsl install scripts] Use choco upgrade instead of choco install [skip ci] by @rfay in #4571
- [docs] Fix GitHub Codespaces badge repository ID [skip ci] by @mattstein in #4572
- [docs] Add removing containers to port troubleshooting by @rfay in #4575
- [tests only] Fix broken docker context list problem, for docker/for-win/#13180 by @rfay in #4576
- [docs] Fix readme sponsor logos by @mattstein in #4584
- Fix include dirs for php-fpm, fixes #4590, fixes #4589, fixes #4588, fixes #4587 by @rfay in #4591
- [docs/tests] Exclude deb.sury.org from link check by @rfay in #4592
- [docs] update custom nginx configuration docs by @Morgy93 in #4583
- Make
ddev ssh
exit more predictable, not outputting useless info, fixes #3738 by @DigitalFrontiersMedia in #4569 - Fix 'n' panic in ddev-platformsh, fixes #4579, fixes ddev/ddev-platformsh#94 by @rfay in #4581
- Provide container start hooks and ability to RUN dockerfile with code mounted, fixes #4233 by @rfay in #4549
- Don't enable xdebug by default in ddev-webserver, fixes #4597 by @rfay in #4599
- [debugging] better vscode launch.json [skip ci] by @rfay in #4601
- Update service name typo in ddev ssh example by @kronthto in #4602
- Traefik needs to properly handle $VIRTUAL_HOST, fixes #4537 by @rfay in #4582
- [docs] Update DrupalEasy logo in readme + optimize all logos by @mattstein in #4605
- Make sure that traefik items get properly managed in .gitconfig by @rfay in #4604
- Use 'ddev' for official add-ons, fix test, fixes #4608 by @rfay in #4609
- Make nodejs installation work, changed npm --unsafe-perm behavior by @rfay in #4610
- [docs] Fix typos, especially in developer docs by @stasadev in #4603
- Make 'ddev composer create' respect composer_root, fixes #4475 by @rfay in #4611
- Make ddev nvm work right again, fixes #4499 by @rfay in #4620
- [docs] add Statamic setup guide by @tyler36 in #4622
- [docs] Update release management docs by @gilbertsoft in #4627
- Fix line break in
ddev exec
help, fixes #4634 by @miromichalicka in #4636 - Bump golang to v1.20, fixes #4443 by @rfay in #4639
- If /mnt/ddev_config is not mounted, don't fail, just warn by @rfay in #4642
- Bump docker-compose to 2.16.0, which is built with go 1.20, fixing DNS issues on macOS by @rfay in #4641
- Add .ddev/.downloads to mutagen exclusions, fixes #4645 by @rfay in #4646
- Bump fsouza/go-dockerclient for upstream security issues by @rfay in #4660
- [tests only] Attempt to get actions/cache working again [skip ci] by @rfay in #4663
- [docs] pantheon.yaml.example comments: changed sequence of items #6 and #7 by @ops-andy in #4661
- [docs] Fix docs suggestions from @mattstein by @rfay in #4654
- [docs] Improve bash-completion instructions by @ultimike in #4638
- Fix chatty docker-compose output, fixes #4655 by @rfay in #4664
- [docs] Fix copy pasta on webserver_type description by @chellman in #4657
- Bump mysql to 8.0.31 and 5.7.41, fixes #4619, fixes #4504 by @rfay in #4644
- [tests/release] Fix upload artifacts/cross-os caching failure by @rfay in #4669
- [docs] Prepend project-relative path and capitalize Supervisor by @mattstein in #4666
- [docs] Fix typo in manual installation doc by @tyrann0us in #4665
- [tests only] Try to make pr-build not fail all the time - github actions weirdness by @rfay in #4673
- Fix
ddev import-db
andddev import-files
queries for path to artifacts by @gilbertsoft in #4656 - [docs] Bump mkdocs-material for possible improved search behavior by @rfay in #4670
- [docs] Re-enable copy and edit icons by @rfay in #4675
- Make hardened images properly handle web-entrypoint.d, fixes #4631 by @rfay in #4672
- Don't allow Let's Encrypt with Traefik router, fixes #4632 by @rfay in #4671
- Provide more useful message if removing of volume fails. by @miromichalicka in #4635
- [docs] Change edit button to pencil again by @rfay in #4678
- Bump rojopolis/spellcheck-github-actions from 0.29.0 to 0.30.0 by @dependabot in #4682
- [docs] Fix “TYPO3 Specifics” formatting by @mattstein in #4687
- [docs] Fix Wordpress Git Clone by @mattstein in #4686
- [docs] Fix PHP code block highlighting by @mattstein in #4685
- Make sure all containers get cleaned up on stop and poweroff, fixes #4676 by @rfay in #4680
- Switch devcontainer/github codespaces to use apt install by @rfay in #4612
- Bump all images for v1.21.5 by @gilbertsoft in #4700
- [docs] adds link to colima disk resize tutorial by @riconeitzel in #4690
- [docs] Update guidance about Colima/Docker Desktop requirements and Mutagen by @rfay in #4694
- [docs] Add Drupal Multisite recommendations by @laetus007 in #4600
- [tests only] Use major versions for actions on some tests by @gilbertsoft in #4705
- Change references to former repos to https://github.com/ddev/ by @gilbertsoft in #4706
- [docs] Explain how to push devcontainer feature for GitHub Codespaces by @rfay in #4710
- [docs] Update version-history.md for release by @rfay in #4709
- Cleanup from drud->ddev move by @rfay in #4708
- Rename markdownlint settings to avoid duplicate settings in VSC [skip ci] by @gilbertsoft in #4711
- Improve .editorconfig [skip ci] by @gilbertsoft in #4712
New Contributors
- @z3cka made their first contribution in #4462
- @jmpala made their first contribution in #4489
- @skeemer made their first contribution in #4487
- @jeroenimpres made their first contribution in #4513
- @tbal made their first contribution in #4532
- @Romaixn made their first contribution in #4534
- @gturpin-dev made their first contribution in #4535
- @DigitalFrontiersMedia made their first contribution in #4569
- @kronthto made their first contribution in #4602
- @miromichalicka made their first contribution in #4636
- @ops-andy made their first contribution in #4661
- @ultimike made their first contribution in #4638
- @tyrann0us made their first contribution in #4665
- @riconeitzel made their first contribution in #4690
- @laetus007 made their first contribution in #4600
Full Changelog: v1.21.4...v1.21.5