Releases: ddev/ddev
v1.22.5-alpha1: Testing release for ambiguous networks problem
This pre-release is very early, but the reason for it is to make it possible to do testing of an annoying but rare (Docker?) bug which results in ambiguous networks.
You're welcome to use this and it should be fine for all purposes, but it's wonderful for testing that the ambiguous networks problem is solved and maybe some other things:
Installation/Upgrade
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev-edge/ddev
or justbrew upgrade ddev/ddev-edge/ddev
(You may need abrew update
for homebrew to find the new release.) - Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version:
./install_ddev.sh <version>
or orcurl -LO https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version>
- If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it. - 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
after upgrading to free up disk space used by previous docker image versions. This does no harm.
What's Changed
- build: update .gitpod.yml for v1.22.4 release [skip ci] by @stasadev in #5464
- fix: make project network external, fixes #5193 by @stasadev in #5305
- docs: add info about disk space checking on wsl2 by @rfay in #5467
- feat: install shell competions on HEAD by @hanoii in #5456
- fix: we shouldn't show the amplitude warning on every ddev command by @rfay in #5471
- fix: remove unnecessary use of fmt.Sprintf by @testwill in #5461
- build: bump docker-compose to v2.23.0 by @rfay in #5472
- build: always use the latest go and golangci-lint for gitpod [skip ci] by @stasadev in #5481
- build: bump github.com/docker/docker from 24.0.4+incompatible to 24.0.7+incompatible by @dependabot in #5479
- ci: gather debugging information about possible TestExtraPackages failure by @rfay in #5473
- docs: minor fix of env to use for amplitude debugging by @rfay in #5482
- ci: stop testing no-bind-mounts and use drupal10 by default by @rfay in #5480
- docs: specify ddev tap in upgrading instructions for macOS with brew by @bencroker in #5484
- fix: add correct mimetype for xsl and xslt, fixes #5457 by @apotek in #5458
- fix: implement limit on number of hosts per line in /etc/hosts because Safari has problems with long lines, fixes #2817 by @rfay in #4805
New Contributors
Full Changelog: v1.22.4...v1.22.5-alpha1
v1.22.4
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
. - Traditional Windows: Use
choco upgrade -y ddev
, or download the ddev_windows_installer below. - Linux or WSL2: 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. - Consider
ddev config --auto
to update your projects to current configuration.
Highlights:
Most of what you want to know is in the v1.22.0 release notes. This point release adds:
- Amazee Lagoon provider integration with
ddev pull lagoon
andddev push lagoon
- PostgreSQL 16 support with
ddev config --database=postgres:16
- Linux and macOS: DBeaver database GUI support with
ddev dbeaver
, thanks to @MakerTim (If anyone wants to add Windows support, PRs are welcome.) - Improved Bash autocomplete, including your own custom commands.
- Add output that the container images are being built on
ddev start
, thanks to @hanoii - The new
ddev_version_constraint
configuration allows requiring a specific DDEV version on a project. Thanks to @hanoii
Behavior Changes:
- NodeJS 14 is EOL and has been removed (you can still install it with
ddev nvm
) ddev share --subdomain <ngrok-subdomain>
becameddev share --ngrok-args "--domain <ngrok-domain>"
- The old feature that allowed Drupal 9/10
drush
users to run drush on the host has been removed (#5328), so please useddev drush
or usedrush
inside the container. If you absolutely love running drush on the host side, thedrushonhost
add-on will let you still do that, https://github.com/rfay/ddev-drushonhost
What's Changed
- docs: use a stronger password for Magento 2 by @cmuench in #5360
- docs: mention the PR title rules with a link to them by @hanoii in #5374
- docs: platform.yaml shouldn't say it is an example by @rfay in #5369
- docs: update import-db parameter --target-db to --database by @gitressa in #5366
- feat: replace ngrok flags in
ddev share
with--ngrok-args
by @stasadev in #5331 - test: close xdebug listening port after opening to avoid "listen tcp :9003: bind: address already in use" errors by @hanoii in #5372
- ci: try to make TestDdevXhprofEnabled flake less often by @rfay in #5378
- ci: remove TestDdevPause because it's flaky and unuseful by @rfay in #5377
- feat: output that the container images are being built, fixes #5339 by @hanoii in #5340
- feat: provide more user info on ddev start by @rfay in #5370
- fix: remove test@example.org from BCC in mailpit sendmail_path, fixes #5381 by @joelpittet in #5383
- fix: drupal9+ shouldn't try to configure db if db container omitted by @rfay in #5382
- docs: fix suggested PR branch name format by @rocketeerbkw in #5389
- ci: don't check error in test because windows can't clean up by @rfay in #5391
- fix: make sure Platform.sh environment is not paused before pull/push by @rfay in #5390
- build: bump actions/setup-python from 4.7.0 to 4.7.1 by @dependabot in #5395
- feat: implement Amazee Lagoon provider integration, fixes #3188 by @rfay in #5371
- ci: change technique for PR artifact comment, fixes #5386 by @stasadev in #5396
- docs: improve troubleshooting instructions for changing ports by @rfay in #5403
- refactor: remove support for nodejs version 14 by @amayer5125 in #5405
- build: bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 by @dependabot in #5411
- fix: update node install method, fixes #5363 by @amayer5125 in #5400
- docs: docker desktop for mac may need extra setting by @rfay in #5388
- fix: pass domain/project name to
ddev sequelace
, fixes #5394 by @joachim-n in #5398 - feat: add ddev_version_constraint to config.yaml, fixes #4630 by @hanoii in #5379
- fix: cleanup ddev-webserver bashrc variables, fixes #5409 by @benwalch in #5410
- fix: command
ddev get --remove
should be run in.ddev
config folder, for #5342 by @stasadev in #5402 - docs: fix missing manual instructions in WSL2 install, fixes #5364 by @rfay in #5413
- ci: use only SHA to find PR number, for #5386 [skip ci] by @stasadev in #5414
- fix: warn about obsolete nodejs_version instead of failing by @rfay in #5412
- docs: improve port conflict troubleshooting by @rfay in #5416
- feat: add ddev dbeaver command, fixes #4947 by @MakerTim in #4950
- fix: revert "fix: make sure Platform.sh environment is not paused before pull/push" by @rfay in #5435
- docs: make sure sudo is done early in linux installation, fixes #5327 by @rfay in #5432
- build: remove nssm as choco dependency, fixes #5336 by @rfay in #5428
- fix: remove auto-restart-containers as no longer valid, fixes #5282 by @rfay in #5429
- fix: correct global router_mailpit_http_port, fixes #5404 by @rfay in #5431
- fix: remove many of the perf trackers from amplitude, fixes #5338 by @rfay in #5427
- feat: support postgres:16, fixes #5335 by @rfay in #5430
- fix: ddev describe shouldn't show router when disabled, fixes #5291 by @rfay in #5426
- fix: always include pre-releases on version constraint checking, fixes feedback on #4630 by @hanoii in #5424
- build: bump golang.org/x/net from 0.12.0 to 0.17.0 by @dependabot in #5421
- feat: assign label to external docker network, for #5305 by @stasadev in #5422
- ci: apply new rules from golangci-lint v1.55.0 by @stasadev in #5442
- docs: add mkcert tip for Firefox Dev and Flatpak in Linux, fixes #5415 by @gitressa in #5417
- feat: add output for removed network, for #5305 by @stasadev in #5436
- feat: update Bash and PowerShell autocomplete, fixes #2961, fixes #3085 by @stasadev in #5439
- feat: use the stable release version as part of the HEAD version on homebrew, fixes #5433 by @hanoii in #5438
- feat: process pre-start hooks earlier so exec-host hooks can do more by @rfay in #5443
- fix: don't pull omitted images, fixes #5292 by @stasadev in #5441
- fix: add comment required by wordpress for
wp config set
to work, fixes #3940 by @paulrudy in #5434 - fix: replace outdated nfs_mount_enabled comments with use_dns_when_possible by @BramDriesen in #5440
- ci: improve TestExtraPackages to not use deb.sury.org by @rfay in #5449
- fix: make yamlToDict give useful information instead of error in invalid config, fixes #5385 by @rfay in #5425
- fix: resolve inappropriate creation of .ddev/addon-metadata, fixes #5419 by @rfay in #5420
- ci: bump ddev-php-base and ddev-webserver for php8.3.0rc3 by @rfay in #5450
- build: bump images to v1.22.4 for release by @stasadev in #5460
- fix: the web container startup time should be more generous, fixes #5343 by @rfay in #5444
New Contributors
- @rocketeerbkw made their first contribution in #5389
- @amayer5125 made their first contribution in #5405
- @joachim-n made their first contribution in #5398
- @benwalch made their first contribution in #5410
- @MakerTim made their first contribution in #4950
- @paulrudy made their first contribution in #5434
Full Changelog: v1.22.3...v1.22.4
v1.22.4-alpha1
Installation/Upgrade
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev-edge/ddev
or justbrew upgrade ddev/ddev-edge/ddev
(You may need abrew update
for homebrew to find the new release.) - Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version:
./install_ddev.sh <version>
or orcurl -LO https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version>
- If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it. - 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
after upgrading to free up disk space used by previous docker image versions. This does no harm.
Highlights:
- Amazee Lagoon provider integration with
ddev pull lagoon
andddev push lagoon
- PostgreSQL 16 support with
ddev config --database=postgres:16
- Linux and macOS: DBeaver database GUI support with
ddev dbeaver
, thanks to @MakerTim (If anyone wants to add Windows support, PRs are welcome.) - New Bash autocomplete, including your own custom commands.
- Add output that the container images are being built on
ddev start
, thanks to @hanoii
Behavior Changes:
- NodeJS 14 is EOL and removed (you can still install it with
ddev nvm
) ddev share --subdomain <ngrok-subdomain>
becameddev share --ngrok-args "--domain <ngrok-domain>"
What's Changed
- docs: use a stronger password for Magento 2 by @cmuench in #5360
- docs: mention the PR title rules with a link to them by @hanoii in #5374
- docs: platform.yaml shouldn't say it is an example by @rfay in #5369
- docs: update import-db parameter --target-db to --database by @gitressa in #5366
- feat: replace ngrok flags in
ddev share
with--ngrok-args
by @stasadev in #5331 - test: close xdebug listening port after opening to avoid "listen tcp :9003: bind: address already in use" errors by @hanoii in #5372
- ci: try to make TestDdevXhprofEnabled flake less often by @rfay in #5378
- ci: remove TestDdevPause because it's flaky and unuseful by @rfay in #5377
- feat: output that the container images are being built, fixes #5339 by @hanoii in #5340
- feat: provide more user info on ddev start by @rfay in #5370
- fix: remove test@example.org from BCC in mailpit sendmail_path, fixes #5381 by @joelpittet in #5383
- fix: drupal9+ shouldn't try to configure db if db container omitted by @rfay in #5382
- docs: fix suggested PR branch name format by @rocketeerbkw in #5389
- ci: don't check error in test because windows can't clean up by @rfay in #5391
- fix: make sure Platform.sh environment is not paused before pull/push by @rfay in #5390
- build: bump actions/setup-python from 4.7.0 to 4.7.1 by @dependabot in #5395
- feat: implement Amazee Lagoon provider integration, fixes #3188 by @rfay in #5371
- ci: change technique for PR artifact comment, fixes #5386 by @stasadev in #5396
- docs: improve troubleshooting instructions for changing ports by @rfay in #5403
- refactor: remove support for nodejs version 14 by @amayer5125 in #5405
- build: bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 by @dependabot in #5411
- fix: update node install method, fixes #5363 by @amayer5125 in #5400
- docs: docker desktop for mac may need extra setting by @rfay in #5388
- fix: pass domain/project name to
ddev sequelace
, fixes #5394 by @joachim-n in #5398 - feat: add ddev_version_constraint to config.yaml, fixes #4630 by @hanoii in #5379
- fix: cleanup ddev-webserver bashrc variables, fixes #5409 by @benwalch in #5410
- fix: command
ddev get --remove
should be run in.ddev
config folder, for #5342 by @stasadev in #5402 - docs: fix missing manual instructions in WSL2 install, fixes #5364 by @rfay in #5413
- ci: use only SHA to find PR number, for #5386 [skip ci] by @stasadev in #5414
- fix: warn about obsolete nodejs_version instead of failing by @rfay in #5412
- docs: improve port conflict troubleshooting by @rfay in #5416
- feat: add ddev dbeaver command, fixes #4947 by @MakerTim in #4950
- fix: revert "fix: make sure Platform.sh environment is not paused before pull/push" by @rfay in #5435
- docs: make sure sudo is done early in linux installation, fixes #5327 by @rfay in #5432
- build: remove nssm as choco dependency, fixes #5336 by @rfay in #5428
- fix: remove auto-restart-containers as no longer valid, fixes #5282 by @rfay in #5429
- fix: correct global router_mailpit_http_port, fixes #5404 by @rfay in #5431
- fix: remove many of the perf trackers from amplitude, fixes #5338 by @rfay in #5427
- feat: support postgres:16, fixes #5335 by @rfay in #5430
- fix: ddev describe shouldn't show router when disabled, fixes #5291 by @rfay in #5426
- fix: always include pre-releases on version constraint checking, fixes feedback on #4630 by @hanoii in #5424
- build: bump golang.org/x/net from 0.12.0 to 0.17.0 by @dependabot in #5421
- feat: assign label to external docker network, for #5305 by @stasadev in #5422
- ci: apply new rules from golangci-lint v1.55.0 by @stasadev in #5442
- docs: add mkcert tip for Firefox Dev and Flatpak in Linux, fixes #5415 by @gitressa in #5417
- feat: add output for removed network, for #5305 by @stasadev in #5436
- feat: update Bash and PowerShell autocomplete, fixes #2961, fixes #3085 by @stasadev in #5439
- feat: use the stable release version as part of the HEAD version on homebrew, fixes #5433 by @hanoii in #5438
- feat: process pre-start hooks earlier so exec-host hooks can do more by @rfay in #5443
- fix: don't pull omitted images, fixes #5292 by @stasadev in #5441
- fix: add comment required by wordpress for
wp config set
to work, fixes #3940 by @paulrudy in #5434 - fix: replace outdated nfs_mount_enabled comments with use_dns_when_possible by @BramDriesen in #5440
- ci: improve TestExtraPackages to not use deb.sury.org by @rfay in #5449
- fix: make yamlToDict give useful information instead of error in invalid config, fixes #5385 by @rfay in #5425
- fix: resolve inappropriate creation of .ddev/addon-metadata, fixes #5419 by @rfay in #5420
- ci: bump ddev-php-base and ddev-webserver for php8.3.0rc3 by @rfay in #5450
New Contributors
- @rocketeerbkw made their first contribution in #5389
- @amayer5125 made their first contribution in #5405
- @joachim-n made their first contribution in #5398
- @benwalch made their first contribution in #5410
- @MakerTim made their first contribution in #4950
- @paulrudy made their first contribution in #5434
Full Changelog: v1.22.3...v1.22.4-alpha1
v1.22.3
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
). - 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.
Highlights:
Most of what you want to know is in the v1.22.0 release notes.
This is just a bugfix release to clean up a couple of mistakes in v1.22.2:
- The $DDEV_MAILHOG_PORT and $DDEV_MAILHOG_HTTPS_PORT environment variables have been reinstated. (They now point to the Mailpit process, but it's the same as it was). It was a mistake to remove those and they broke a few users with just a couple of DDEV add-ons. Note that it's still mailpit behind the curtain, but we don't want to break anything that was depending on DDEV_MAILHOG_PORT providing the port number.
- The
host_webserver_port
andhost_https_port
configurations were not functional in v1.22.2. This didn't affect many people but it madeddev launch
fail on Gitpod and probably GitHub Codespaces.
What's Changed
- build: bump docker/setup-qemu-action from 2 to 3 by @dependabot in #5347
- build: bump docker/login-action from 2 to 3 by @dependabot in #5348
- build: bump docker/setup-buildx-action from 2 to 3 by @dependabot in #5349
- build: bump goreleaser/goreleaser-action from 4 to 5 by @dependabot in #5350
- fix: add PHP 8.3 to list of versions in config template by @peterkraume in #5354
- fix: make host_webserver_port and host_https_port config work again, fixes #5341 by @rfay in #5353
- docs: typos in config.md in names of elements simple-formatting etc by @rfay in #5355
- fix: re-add DDEV_MAILHOG_PORT and related env vars, fixes #5351 by @rfay in #5352
- build: bump images to v1.22.3 for release by @rfay in #5357
Full Changelog: v1.22.2...v1.22.3
v1.22.2: Mailpit, PHP 8.3
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
). - 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.
Highlights:
Most of what you want to know is in the v1.22.0 release notes. This point release adds:
- Mailpit is used for capturing emails instead of the abandoned Mailhog. Almost everything works the same as it did, including
ddev launch -m
. However, if you were using the mailpit add-on from @tyler36 please remove it to avoid conflicts,ddev get --remove mailpit
. - PHP8.3 support (PHP8.3-beta3), but there are still a number of extensions missing: apcu, imagick, memcached, redis, uploadprogress, xdebug, xhprof, xmlrpc.
- MySQL 8.0 upgraded to 8.0.34
- DDEV_HOST_WEBSERVER_PORT finally works after years. This will allow custom commands like
ddev share
but with services other than ngrok. - Custom mysql configuration on traditional Windows now works thanks to @rokclimb15
- Improvements in GitHub Codespaces support, thanks to @mandrasch
What's Changed
- build: update readthedocs config per their email by @rfay in #5245
- feat: add php8.3 support by @rfay in #5238
- docs: remove information about obsolete omit-containers=dba config, fixes #5246 by @garvinhicking in #5247
- docs: update moodle quickstart to use MariaDB 10.6 by @rfay in #5252
- docs: step-debugging: add firewall tip at top, update Debug Configuration to use PHP Web Page, fixes #5248 by @gitressa in #5249
- docs: add FAQ about migrating between Docker providers by @rfay in #5159
- docs: store ddev.gpg in keyrings instead of trusted.gpg.d by @ted933 in #5172
- fix: make GetDockerPlatform() more accurate, fixes #5250 by @rfay in #5258
- ci: colima no longer needs to be installed on macOS runners on github actions by @rfay in #5259
- docs: explain how to examine data on Amplitude by @rfay in #5261
- ci: don't install libpq on macOS any more, postgresql is installed by @rfay in #5264
- docs: fix yarn commands link by @rfay in #5265
- fix: provide consistent hash per drupal/backdrop project name, fixes #5255 by @rfay in #5262
- fix: properly support DDEV_HOST_WEBSERVER_PORT, fixes #1812 by @rfay in #5263
- fix: add dedicated ddev-traefik-router, fixes #5239, fixes #5209 by @rfay in #5266
- fix: remove cruft from DdevApp by @rfay in #5274
- build: bump docker-compose to 2.20.3 by @rfay in #5276
- fix: additional MySQL config on Windows, fixes #3801 by @rokclimb15 in #5242
- ci: use explicit choices for image name to push [skip ci] by @rfay in #5283
- docs: fix custom cert issues - default router has changed by @rfay in #5287
- docs: fix URL in error message, remove warning in NFS docs by @rfay in #5284
- codespaces - remove docker-in-docker since it's installed via universal image by @mandrasch in #5267
- fix: change codespaces forwarding domain name to app.github.dev by @mandrasch in #5257
- ci: update devcontainer package since we have new devcontainer stuff by @rfay in #5289
- fix: import-files should work with any project type by @stasadev in #5234
- feat: adjust the ddev golang files to the textlint rules by @rpkoller in #5188
- feat: initial JSON schemas for global config and project/app config, fixes #4511 by @jamesmacwhite in #5281
- docs: add next steps to improve guiding new users, enable footer links by @mandrasch in #5279
- docs: initial draft for restructuring the CMS quickstarts guide by @rpkoller in #5207
- feat: amplitude should report installed add-ons, fixes #5260, fixes #5254 by @rfay in #5271
- docs: fix broken links to provider directory on GitHub by @mamoschli in #5297
- docs: mention alternate docker providers in faq, fixes #5014 by @rfay in #5293
- ci: try another technique to get colima running again by @rfay in #5308
- docs: fix broken chocolatey link by @rfay in #5311
- ci: simplify colima/homebrew setup by @rfay in #5309
- docs: mention xdebug_ide_location setting in xdebug troubleshooting section by @ultimike in #5307
- docs: fix a tab in "CMS Quickstarts" by @adriendupuis in #5302
- docs: improve and simplify codespaces guide, use separate script by @mandrasch in #5290
- docs: add Ibexa DXP to "CMS Quickstarts" by @adriendupuis in #5301
- ci: more work to get homebrew sorted out on colima by @rfay in #5312
- refactor: use StrictHostKeyChecking=accept-new by @jonaseberle in #5104
- build: bump actions/checkout from 3 to 4 by @dependabot in #5317
- build: use gsudo.exe directly from gerardog/gsudo, for #4701 by @rfay in #5314
- docs: textlint is complaining about Zip usage - use ZIP by @rfay in #5323
- build: bump docker-compose to 2.21.0 by @rfay in #5320
- docs: note that the CLI flag
--project-name
is what setsname
in config.yaml by @mlncn in #5315 - docs: add info about mutagen sync slow due to node_modules by @damienmckenna in #5303
- feat: replace MailHog with Mailpit, provide global router port configuration, fixes #4827, fixes #5220, for #4701 by @rfay in #5313
- fix: drupal9 and drupal10 shouldn't be used with host-side drush so remove facility by @rfay in #5328
- docs: add --project-tld to global config by @rfay in #5330
- ci: make github action build dbserver images, fixes #3748 by @rfay in #5329
- docs: document bind_all_interfaces project config, fixes #5280 by @rfay in #5334
- build: bump images to v1.22.2, fixes #5310 by @rfay in #5333
New Contributors
- @ted933 made their first contribution in #5172
- @rokclimb15 made their first contribution in #5242
- @jamesmacwhite made their first contribution in #5281
- @mamoschli made their first contribution in #5297
- @adriendupuis made their first contribution in #5302
- @mlncn made their first contribution in #5315
Full Changelog: v1.22.1...v1.22.2
v1.22.1
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
). - 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.
Highlights:
Most of what you want to know is in the v1.22.0 release notes but this tune-up release fixes a few frictions people encounted and adds explicit Silverstripe CMS support:
- Silverstripe CMS support, thanks to @Firesphere
- Move default Traefik monitoring port from 9999 to 10999 to avoid conflicts with other things that use 9999 (and make it configurable)
Minor
- Fix
upload_dirs
default for Magento 2 - Improve
ddev debug test
withddev debug testcleanup
- Fix broken use of hardened images with Drupal7
- sendmail_path includes
-t
flag - Correct detection of xdebug port on (unsupported) Linux Colima
- Fix serialize_precision value in ddev-webserver
What's Changed
- build: update .gitpod.yml for v1.22.0 release [skip ci] by @rfay in #5190
- ci: update .textlintrc to fix capitalization and typo by @rpkoller in #5187
- docs: improve docs example on building-contributing.md by @bmartinez287 in #5183
- fix: ddev debug dockercheck logic error and typo by @rfay in #5192
- ci: fix out of space trouble on github actions, fixes #5201 by @rfay in #5202
- fix: default upload_dirs incorrect for magento2, fixes #5197 by @rfay in #5198
- docs: make a few cases of Bash upper case in the docs by @rpkoller in #5205
- fix: chmod ugo+rwx /usr/local/bin after dirs have been added, fixes #5191 by @rfay in #5199
- feat: add
ddev debug testcleanup
, fixes #5210 by @stasadev in #5212 - refactor: add
sendmail -t
flag to mailhog call for symfony/mailer native transport compat, fixes #4363 by @rfay in #5151 - fix: correct xdebug port detection for colima on linux, fixes #5222 by @rfay in #5223
- fix: make traefik monitoring port configurable, not just 9999, fixes #5196 by @rfay in #5216
- docs: traefik capitalization incorrect by @rfay in #5230
- build: update mkdocs version for readthedocs by @rfay in #5221
- fix: php serialize_precision should be -1 in php >= 7.1, fixes #5092 by @rfay in #5231
- feat: add Silverstripe project type by @Firesphere in #5119
New Contributors
- @bmartinez287 made their first contribution in #5183
- @Firesphere made their first contribution in #5119
Full Changelog: v1.22.0...v1.22.1
v1.22.0: `ddev get` improvements, Mutagen/Traefik default
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
). - 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.
Highlights:
ddev get
add-ons have many new improvements with tracking versions of add-ons, allowing removal, etc.- Warning: To see versions you have to update your add-on with
ddev get
after installing DDEV v1.22+ ddev get --installed
shows installed add-ons with their versionsddev get --version <someversion <some-add-on>
will get a specific version of an add-on.ddev get --installed
shows installed add-ons and their versions.ddev get --remove <add-on>
- If you
ddev get
and add-on that has dependencies, you’ll be warned about the situation. - Note to Add-on maintainers: Check that the value of
name
is what you want it to be. In previous versions of DDEV this wasn’t actually used, and there are some odd values out there in some add-ons. - Note to Add-on maintainers: You now have the option of adding removal actions. If your add-on doesn’t just add listed files but also takes actions during installation, you can reverse those actions on removal.
- Warning: To see versions you have to update your add-on with
- Mutagen is now enabled by default on macOS and traditional Windows. It’s normally configured globally with
performance_mode: mutagen
, but can be overridden at the project level.performance_mode: nfs
still works but is considered deprecated. (These used to be calledmutagen_enabled
andnfs_mount_enabled
) - Traefik router is the default: The default router is now the traefik router, configured with
ddev config global --router=traefik
. The old router (now deprecated) can be enabled withddev config global --router-nginx-proxy
- Experimental Python/Django support: See docs.
Behavior Changes:
- Changes to defaults on new projects:
nodejs_version
defaults to 18php_version
defaults to 8.1
config.*.yaml
no longer gitignored:.ddev/.gitignore
no longer gitignores allconfig.*.yaml
, now it just ignoresconfig.local.yaml
. Portions of people’s add-ons were inadvertently being gitignored and could be lost by teams.- PhpMyAdmin has been removed from DDEV core, so
ddev launch -p
no longer works, etc. If you’d like to use PHPMyAdmin,ddev get ddev/ddev-phpmyadmin
and useddev phpmyadmin
. - Traefik is now the default router. If you want the traditional router,
ddev config global --router=nginx-proxy
- Traefik incompatible with
disable_http2
: If you need todisable_http2
in the global configuration, use the traditional router,ddev config global --router=nginx-proxy
- Traefik router uses port 9999: If you have a custom service using port 9999, you'll have to either change the port used by the service or use the legacy nginix-proxy router,
ddev config global --router=nginx-proxy
- Mutagen is enabled by default on macOS and traditional Windows. Use
ddev config global --performance-mode=none
orddev config global --performance-mode=nfs
to change, and this can also be overridden on the project level.
Minor Notes:
ddev pantheon pull
no longer requires an SSH key to be configured.ddev pause
has been removed- Multiple upload dirs: A project can now have multiple upload dirs are now supported, so a Drupal project, for example, could have
upload_dirs: ["sites/default/files", "../private"]
.ddev import-files
has the new--target
flag to specify which should be targeted on upload. - Craft CMS .env file creation improved; Craft 3 detected and folks are warned to use project type
php
. - post-stop hooks are no longer called if project is already stopped.
ddev list
can now be filtered withddev list --type=<projecttype>
, thanks @cmuench- Tip of the Day: On
ddev start
there’s a tip of the day once a day. These come from [ddev/remote-config](https://github.com/ddev/remote-config/blob/main/remote-config.jsonc) and your suggestions and PRs are welcome. This can be turned off withticker_interval: -1
in themessages
section of~/.ddev/global_config.yaml
. - Global configuration for
router_http_port
androuter_https_port
. Note that project-level configuration still overrides the global configuration, and projects which were created prior to v1.22.0 will likely have project defaults, so you’ll need to remove the project defaults to use the global values. - MySQL updated to 8.0.33 and 5.7.42
Caveats:
- Casual Webhosting: If you’re using the Casual Webhosting feature with Lets Encrypt, be aware that although
router: traefik
is the new default, the Traefik router does not yet have preconfigured Lets Encrypt capability. You’ll need toddev config global --router=nginx-proxy
-
- Default Traefik router uses port 9999: If you have a custom service using port 9999, you'll have to either change the port used by the service or use the legacy nginix-proxy router,
ddev config global --router=nginx-proxy
- Default Traefik router uses port 9999: If you have a custom service using port 9999, you'll have to either change the port used by the service or use the legacy nginix-proxy router,
What's Changed (WOW!)
- [tests only] TestPantheonPull: Remove stray quote, give more info by @rfay in #4741
- [docs] Requirements: reduce tab width, eliminate redundancy by @mattstein in #4740
- [docs] Fix formatting and phrasing by @mattstein in #4739
- [docs] Shorten install script URL by @mattstein in #4738
- Bump .gitpod.yml to 20230310 [skip ci] by @rfay in #4737
- [docs] Document exposing additional non-HTTP ports on web by @deviantintegral in #4736
- [docs] Add ExecRaw annotation documentation. by @ultimike in #4735
- [docs] Improve formatting, fix typos, remove duplicates by @stasadev in #4726
ddev debug test
should not try to work in subdir of project [skip ci] by @rfay in #4743- [docs] Fix up ExecRaw spellcheck trouble by @rfay in #4744
- [docs] Use standard notation for ExecRaw by @rfay in #4746
- [docs] Fix empty tip in additional services/add-ons by @mattstein in #4751
- [docs] Fix typo "without touching to your code" -> "without touching your code" by @maxfenton in #4756
- Bump drush8 to 8.4.12, fixes #4189 by @rfay in #4754
- [docs] Typo in port numbers in example by @maxfenton in #4761
- [docs] Adjusted the FAQ 'communication between projects faq' by @jeroenpeters1986 in #4757
- Revert indentation specifier from editorconfig settings by @rfay in #4745
- Improve install_ddev.sh by making it create /usr/local/bin, replaces #4747 [skip ci] by @rfay in #4752
- Fix Traefik trying to load Traefik plugin files as dynamic configurations, fixes #4758 by @titouanmathis in #4759
- Append DDEV_EXECUTABLE to the Host commands environment by @hanoii in #4724
- Enclose exported environment variable values with quotes, fixes #3499 by @DigitalFrontiersMedia in #4594
- Add CODEOWNERS file by @mattstein in #4764
- [docs] Rescue intentional line breaks by @mattstein in #4763
- Pacify lint for newly revived revive linter by @rfay in #4770
- [docs] SequelPro is dead as its its website. Deprecate it even more by @rfay in #4772
- [docs] Add @mattstein review of Sequel Pro change by @rfay in #4773
- [tests only] Bump actions/setup-go from 3 to 4 by @dependabot in #4771
- [docs] Quickstart for ExpressionEngine by @rfay in #4777
- [docs] Fix Magento 2 quickstart for Magento 2.4.6, fixes #4762 by @cmuench in #4767
- Bump go-dockerclient for security issue, replaces #4787 by @rfay in #4788
- [docs] Improve colima disk allocation methods to show new increase capability by @rfay in #4798
- [docs] Fix code block (missing closing mark) by @tyler36 in #4801
- [docs] Refactor install and upgrade instructions by @mattstein in #4789
- [docs] Fix markdown in profiling doc page by @oleksii-lisovyi in #4806
- Drupal: Enable verbose error logging by @RobLoach in #4689
- Overwrite copies of embedded files if they're empty on target filesystem by @rfay in #4775
- [docs] Update creds...
v1.22.0-rc1
Installation/Upgrade
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev-edge/ddev
or justbrew upgrade ddev/ddev-edge/ddev
). (You may need abrew update
for homebrew to find the new release.). - Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version:
./install_ddev.sh <version>
or orcurl -LO https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version>
- If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it. - 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
after upgrading to free up disk space used by previous docker image versions. This does no harm.
Highlights:
ddev get
add-ons have many new improvements with tracking versions of add-ons, allowing removal, etc.- Warning: To see versions you have to update your add-on with
ddev get
after installing DDEV v1.22+ ddev get --installed
shows installed add-ons with their versionsddev get —version <someversion <some-add-on>
will get a specific version of an add-on.ddev get —installed
shows installed add-ons and their versions.ddev get —remove <add-on>
- If you
ddev get
and add-on that has dependencies, you’ll be warned about the situation. - Note to Add-on maintainers: Check that the value of
name
is what you want it to be. In previous versions of DDEV this wasn’t actually used, and there are some odd values out there in some add-ons. - Note to Add-on maintainers: You now have the option of adding removal actions. If your add-on doesn’t just add listed files but also takes actions during installation, you can reverse those actions on removal.
- Warning: To see versions you have to update your add-on with
- Mutagen is now enabled by default on macOS and traditional Windows. It’s normally configured globally with
performance_mode: mutagen
, but can be overridden at the project level.performance_mode: nfs
still works but is considered deprecated. (These used to be calledmutagen_enabled
andnfs_mount_enabled
) - Traefik router is the default: The default router is now the traefik router, configured with
ddev config global --router=traefik
. The old router (now deprecated) can be enabled withddev config global --router-nginx-proxy
- Experimental Python/Django support: See docs.
Behavior Changes:
- Changes to defaults on new projects:
nodejs_version
defaults to 18php_version
defaults to 8.1
config.*.yaml
no longer gitignored:.ddev/.gitignore
no longer gitignores allconfig.*.yaml
, now it just ignoresconfig.local.yaml
. Portions of people’s add-ons were inadvertently being gitignored and could be lost by teams.- PhpMyAdmin has been removed from DDEV core, so
ddev launch -p
no longer works, etc. If you’d like to use PHPMyAdmin,ddev get ddev/ddev-phpmyadmin
and useddev phpmyadmin
. - Traefik is now the default router. If you want the traditional router,
ddev config global --router=nginx-proxy
- Traefik incompatible with
disable_http2
: If you need todisable_http2
in the global configuration, use the traditional router,ddev config global --router=nginx-proxy
- Mutagen is enabled by default on macOS and traditional Windows. Use
ddev config global --performance-mode=none
orddev config global --performance-mode=nfs
to change, and this can also be overridden on the project level.
Minor Notes:
ddev pantheon pull
no longer requires an SSH key to be configured.ddev pause
has been removed- Multiple upload dirs: A project can now have multiple upload dirs are now supported, so a Drupal project, for example, could have
upload_dirs: ["sites/default/files", "../private"]
.ddev import-files
has the new--target
flag to specify which should be targeted on upload. - Craft CMS .env file creation improved; Craft 3 detected and folks are warned to use project type
php
. - post-stop hooks are no longer called if project is already stopped.
ddev list
can now be filtered withddev list --type=<projecttype>
, thanks @cmuench- Tip of the Day: On
ddev start
there’s a tip of the day once a day. These come from [ddev/remote-config](https://github.com/ddev/remote-config/blob/main/remote-config.jsonc) and your suggestions and PRs are welcome. This can be turned off withticker_interval: -1
in themessages
section of~/.ddev/global_config.yaml
. - Global configuration for
router_http_port
androuter_https_port
. Note that project-level configuration still overrides the global configuration, and projects which were created prior to v1.22.0 will likely have project defaults, so you’ll need to remove the project defaults to use the global values. - MySQL updated to 8.0.33 and 5.7.42
Caveats:
- Casual Webhosting: If you’re using the Casual Webhosting feature with Lets Encrypt, be aware that although
router: traefik
is the new default, the Traefik router does not yet have preconfigured Lets Encrypt capability. You’ll need toddev config global --router=nginx-proxy
What's Changed
- build: bump actions/setup-python from 4.6.1 to 4.7.0 by @dependabot in #5153
- docs: add messages configuration to config.md by @rfay in #5156
- docs: add v1.22 to version-history [skip ci] by @rfay in #5155
- ci: stop caching colima and homebrew on colima by @rfay in #5157
- fix: settings for django need to import os, fixes #5123 by @rfay in #5152
- fix: default_container_timeout should actually work, fixes #5133 by @rfay in #5154
- fix: revert "refactor: start reporting all commands to amplitude" by @rfay in #5163
- docs: fix broken link on docker by @rfay in #5166
- docs: update outdated reference to Drupal 9 in phpunit section by @rfay in #5165
- fix: bad link was output when asking permission on instrumentation by @rfay in #5170
- fix: don't report json-formatted commands to Amplitude by @rfay in #5169
- fix: don't run MutagenSyncFlush on non-running project during config, fixes #5168 by @rfay in #5175
- fix: show docker platform in ddev describe by @rfay in #5176
- fix: correctly return notification and ticker interval, fixes #5177 by @gilbertsoft in #5178
- build: bump docker image tags for v1.22.0 by @rfay in #5179
Full Changelog: v1.22.0-beta4...v1.22.0-rc1
v1.22.0-beta4
Highlights of this release
- MySQL updated to 8.0.33 and 5.7.42
- Better handling on detection of Craft CMS 3, better Craft CMS .env variable creation and management
- Bugfixes, especially a mutagen sync failure in some situations
- post-stop hooks aren't called if project is already stopped
- If project type is
php
but another project type is detected, it doesn't automatically switch to the other project type. #1919 - Mutagen is enabled by default on macOS and traditional Windows. Uses new
performance-mode
configuration flag - Multiple upload_dirs can be configured, `ddev config --upload-dirs=dir1,dir2,...
- Removed
ddev pause
- PhpMyAdmin is removed from DDEV core, use
ddev get ddev/ddev-phpmyadmin
if you like it. - Traefik is now the default router,
ddev config --router=...
- Python and Django support
- Filtering
ddev list
withddev list --type=<projecttype>
, thanks @cmuench - drush8 is updated to 8.4.12 (only useful for Drupal 7 users)
- Verbose logging by default for Drupal 7+ users, thanks @RobLoach
- Add basic-auth flag to ngrok by @stasadev
- Support for multiple upload dirs
- Show a tip of the day on start once a day
- Plenty of bugfixes and docs fixes
Caveats
Installation/Upgrade
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev-edge/ddev
or justbrew upgrade ddev/ddev-edge/ddev
). (You may need abrew update
for homebrew to find the new release.). - Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version:
./install_ddev.sh <version>
or orcurl -LO https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version>
- If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it. - 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
after upgrading to free up disk space used by previous docker image versions. This does no harm.
What's Changed
- ci: ensure go modules have a clean state by @gilbertsoft in #5115
- ci: minor cleanup for TestPantheonDoMonthlyPush [skip ci] by @rfay in #5116
- refactor: anonymize user-defined custom commands by @gilbertsoft in #5110
- ci: remove TestPantheonDoMonthlyPush [skip ci] by @rfay in #5124
- refactor: update settings.php for the Drupal 10 project type, fixes #5121 by @rpkoller in #5122
- docs: improve “Additional Project Hostnames” intro and add YAML syntax highlighting by @mattstein in #5120
- docs: rename feature section in readme.md by @tyler36 in #5118
- fix: empty global table style should revert to "default" by @rfay in #5117
- build: bump docker-compose to 2.20.0 by @rfay in #5006
- refactor: reintroduce removed flags and remove dba from
omit_containers
, fixes #5095 by @gilbertsoft in #5109 - docs: use import-db --file instead of import-db --src and import-files --source by @rfay in #5130
- fix: fix panic when upload_dirs=false, improve upload_dirs tests, fixes #5126, fixes #5127 by @rfay in #5128
- refactor: revert
upload_dirs=false
, fixes #5131 by @rfay in #5134 - docs: change code refs of Mac M1 to Apple Silicon by @marklabrecque in #5129
- build: clean up Windows installer, fixes #1945 by @gilbertsoft in #5098
- fix: composer create project must restart to fix broken bind mounts, fixes #5031 by @rfay in #5132
- refactor: start reporting all commands to amplitude by @rfay in #5136
- build: bump mysql to 8.0.33 and 5.7.42, fixes #5114 by @rfay in #5140
- fix: detect Craft CMS version and warn user on type mismatch and introduce new env vars, fixes #4650 by @gilbertsoft in #5108
- fix: ddev config should not stumble on invalid app type, fixes #5146 by @rfay in #5148
- build: update all of vendor directory by @rfay in #5144
- refactor: make many mutagen debug outputs only verbose, fixes #5143 by @rfay in #5147
- refactor: make GetDockerPlatform() give more useful information, fixes #5142 by @rfay in #5145
- fix: repair broken received HTTP*EXPOSE that breaks ports statement by @rfay in #5150
- ci: minor improvement to TestDdevNoProjectMount [skip ci] by @rfay in #5149
- feat: add new disable-upload-dirs-warning configuration by @rfay in #5139
- fix: always clean up ddev-global-cache, fixes #5135 by @stasadev in #5137
Full Changelog: v1.22.0-beta3...v1.22.0-beta4
v1.22.0-beta3
Highlights of this release
- Bugfixes, especially a mutagen sync failure in some situations
- post-stop hooks aren't called if project is already stopped
- If project type is
php
but another project type is detected, it doesn't automatically switch to the other project type. #1919 - Mutagen is enabled by default on macOS and traditional Windows. Uses new
performance-mode
configuration flag - Multiple upload_dirs can be configured, `ddev config --upload-dirs=dir1,dir2,...
- Removed
ddev pause
- PhpMyAdmin is removed from DDEV core, use
ddev get ddev/ddev-phpmyadmin
if you like it. - Traefik is now the default router,
ddev config --router=...
- Python and Django support
- Filtering
ddev list
withddev list --type=<projecttype>
, thanks @cmuench - drush8 is updated to 8.4.12 (only useful for Drupal 7 users)
- Verbose logging by default for Drupal 7+ users, thanks @RobLoach
- Add basic-auth flag to ngrok by @stasadev
- Support for multiple upload dirs
- Show a tip of the day on start once a day
- Plenty of bugfixes and docs fixes
Installation/Upgrade
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev-edge/ddev
or justbrew upgrade ddev/ddev-edge/ddev
). (You may need abrew update
for homebrew to find the new release.). - Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version:
./install_ddev.sh <version>
or orcurl -LO https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version>
- If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it. - 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
after upgrading to free up disk space used by previous docker image versions. This does no harm.
What's Changed
- ci: increase cache update interval to one week by @gilbertsoft in #5091
- refactor: avoid calling stop hooks if app is already stopped by @gilbertsoft in #4877
- fix: terminate mutagen sessions on DDEV upgrade, fixes #5040 by @rfay in #5096
- fix: create upload dirs before generating Mutagen config, fixes #5093 by @gilbertsoft in #5094
- docs: point to new location of DDEV GitHub Action by @jonaseberle in #5105
- ci: prevent job from failing if cleanup fails by @gilbertsoft in #5097
- fix: ddev-webserver process kill function was incorrect by @rfay in #5107
- build: revert to upstream Amplitude, fixes #5101 by @marklabrecque in #5103
- fix: solve mutagen failure, restart should check for new version, check composer.json in container, fixes #5089 by @rfay in #5106
New Contributors
- @marklabrecque made their first contribution in #5103
Full Changelog: v1.22.0-beta2...v1.22.0-beta3