Releases: ddev/ddev
v1.23.5: Automatic ports, automatic timezones, Windows ARM64
Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
. - Linux or WSL2: Use
apt install ddev
orapt upgrade ddev
see apt/yum installation - Traditional Windows: Use
choco upgrade -y ddev
, or download the ddev_windows_installer below. - 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:
- Windows ARM64 installer support.
- Your projects can be run with random ports when your main ports 80/443 are occupied by something else, thanks @agviu ! When DDEV tries to start up with default ports and finds them occupied by another application, it will open alternate ports instead of just failing.
- PostgreSQL 17 support.
- New
ddev dotenv
commands to set and get environment variables for add-ons customization. - Container timezone is read from
$TZ
variable or from/etc/localtime
if explicittimezone
is not specified in config. - Improved support for TYPO3 non-composer projects, thanks @sbuerk !
- PHP 8.4 is up to PHP 8.4.0 RC1
Behavior Changes:
- Refactor
ddev get
toddev add-on
and into sub-commands, thanks @GuySartorelli ! ddev get
is deprecated, useddev add-on
instead. (Note thatddev get
is still supported, with a deprecation notice, and will be supported for a long time.)- New
--project
flag forddev add-on
commands, thanks @GuySartorelli ! - Build warnings for things like updating Composer or installing the appropriate database client to
ddev-webserver
are now displayed duringddev start
(previously they were quietly skipped when internet connections timed out, etc.). - Allow overrides for Docker networks in
.ddev/docker-compose.*.yaml
files, which was previously not possible. - SVG support for ImageMagick, thanks @saitho !
ddev debug refresh
is renamed toddev debug rebuild
, with more features, seeddev help debug rebuild
. The old command was changed to an alias.bash-completion
package is added toddev-webserver
.vim
is replaced withvim-tiny
inddev-webserver
, thanks @deviantintegral !- If you composer-install
composer/composer
, that version of composer will now be used byddev composer
, overriding any configuredcomposer_version
. - Anything in your composer-installed
vendor/bin
will now be preferred in your$PATH
of things in/usr/local/bin
inside the container.
Bug Fixes:
- Traefik with Let's Encrypt works correctly as documented.
- A few people have had problems with
ddev pull
and Mutagen, which are finally resolved. ddev
commands no longer try to write/update file stubs when executed in the random directories, and don't rewrite files when in project directory.- DNS lookups now only check IPv4, but previously checked both IPv4 and IPv6, but we didn't need IPv6.
Minor Notes:
ddev snapshot --list
output is improved, thanks @GuySartorelli !- The waiting message on
ddev start
is more accurate and is not repeated forweb
anddb
containers.
What's Changed
- docs: Remove unnecessary and failing links to Travis CI by @rfay in #6466
- test: minor updates to avoid use of literals 80 and 443 by @rfay in #6470
- docs: add instruction how to brew upgrade ddev head by @rpkoller in #6467
- ci: add new check from golangci-lint by @stasadev in #6485
- fix: drupal class_loader_auto_detect no longer needed by @rfay in #6478
- docs: mention using docker builder for offline by @rfay in #6479
- feat: automatic timezone detection from
$TZ
env or/etc/localtime
symlink, fixes #6458 by @stasadev in #6468 - feat: output snapshot list as a table, fixes #6116 by @GuySartorelli in #6490
- fix: Lets Encrypt traefik formatting was broken, fixes #6486 by @rfay in #6494
- docs: ddev debug test should suggest current stable [skip ci] by @rfay in #6471
- feat: adds support to ephemeral ports for 80/443, fixes #5326 by @agviu in #6414
- docs: clearer statement about
ddev start
before offline, for #6499 by @rfay in #6502 - test: Improve several tests, make sure containers get removed by @rfay in #6504
- fix: Make sure that we actually wait for bound ports to be released by @rfay in #6507
- test: Rancher Desktop and other problems when non-default ports used by @rfay in #6506
- fix: flush mutagen after deletion of .downloads directory by @rfay in #6496
- refactor: Refactor
ddev get
toddev add-on
and into sub-commands, fixes #6146 by @GuySartorelli in #6482 - docs: fix link for advanced add-ons, for #6482 by @stasadev in #6514
- test: fix TestExtraPortExpose with correct URL by @rfay in #6509
- build: fix FromAsCasing warning from Dockerfile, for #6462 [skip ci] by @stasadev in #6520
- build: bump actions/setup-python from 5.1.1 to 5.2.0 by @dependabot in #6521
- test: leave docker desktop context as desktop-linux [skip ci] by @rfay in #6522
- feat: add
--project
flag toddev add-on
commands, fixes #6513 by @GuySartorelli in #6517 - feat: add SVG support for ImageMagick by @saitho in #6519
- test: apt key expiration management, fixes #5829 [skip buildkite] by @rfay in #6516
- fix: don't touch
.ddev
dir in everyddev
command, avoid overwriting.ddev/.gitignore
if unchanged, fixes php-perfect/ddev-intellij-plugin#361 by @stasadev in #6510 - test: Fix TestLagoonPush by upgrading lagoon CLI, replaces #6524 by @rfay in #6526
- docs: maintainer info about GitHub notifications by @stasadev in #6527
- test: Use 1password for test secrets [skip buildkite] by @rfay in #6536
- fix: Remove obsolete code that fixed up absolute mountpoints by @rfay in #6537
- test: Make forked PRs skip loading secrets by @rfay in #6540
- build: bump docker-compose to 2.29.3 by @rfay in #6538
- build: Revert "build: bump docker-compose to 2.29.3 (#6538)" by @rfay in #6545
- docs: fix link to ngrok agent config by @rfay in #6547
- build: bump docker-compose to 2.29.5 by @stasadev in #6548
- build: Use 1password secrets for most push secrets instead of github secrets by @rfay in #6541
- fix: allow overrides for Docker networks, fixes #5706, fixes #6376 by @stasadev in #6501
- docs: add Magento tools to docs by @cmuench in #6551
- fix: ddev debug test - show customizations in .ddev/nginx if they exist [skip ci] by @rfay in #6552
- fix: remove SVG policy to allow processing by @saitho in #6550
- feat: streamline TYPO3 non-composer mode configuration support by @sbuerk in #6525
- test: Remove brew setup for linux from buildkite testbot_maintenance.sh [skip ci] by @rfay in #6558
- docs: Typo fix, incorrect code section usage by @mxr576 in #6560
- refactor: Use DIR instead of dirname(FILE) by @mxr576 in #6555
- test: buildkite testbot_maintenance.sh apt upgrade hung on linux, remove it by @rfay in #6561
- build: change to new gitpod image with current ddev, make codespaces work [skip ci] by @rfay in #6562
- feat: Don't force Drush's Xdebug environment variable to 1 by @weitzman in #6565
- fix: remove unused file for router, for #5266 by @stasadev in #6581
- build: add bash-completion to standard packages by @rfay in #6575
- build: fix Docker's InvalidDefaultArgInFrom warning by @stasadev in #6582
- feat: support postgres:17, fixes #6566 by @stasadev in #6567
- feat: expand
.ddev/.env.*
files onddev start
, addddev dotenv
, add variable expansion toddev add-on get
, fixes #4430 by @stasadev in #6406 - feat: show warnings from stderr, auto rebuild for web image w/o cache on warnings, fixes #6451, for #5073 by @stasadev in #6546
- feat: rename refresh to rebuild in
ddev debug refresh
, allow to build different services, add cache f...
v1.23.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-get install ddev
orapt-get upgrade
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 --update
to update your projects to current configuration.
Highlights:
- PHP 8.4.0 Alpha 4 support with most extensions. (These extensions will be coming in later releases as they are supported upstream: apcu, opcache, redis, uploadprogress, xdebug, xhprof)
- Traefik v3 support.
Let's Encrypt works with Traefik, see contributor training and documentation.(A regression broke this, it will work in next DDEV release)- Autodetect Node.js version from a file, such as
.nvmrc
orpackage.json
withddev config --nodejs-version=auto
, see documentation. ddev phpmyadmin
command provided everywhere, will install the ddev-phpmyadmin add-on if wanted, thanks @nlighteneddesign- Custom DDEV commands can have aliases, and check out the new
ddev aliases
command.
Changes:
ddev config --omit-containers=""
and other flags work (clear the config) as expected, thanks @jonesrussell- PostgreSQL client versions in
web
container match with versions indb
container. - Replace underscores with hyphens in project-name, thanks @mbomb007
TARGETARCH
,TARGETOS
,TARGETPLATFORM
environment variables added to Docker builds in.ddev/web-build/Dockerfile.*
- DDEV add-ons can now use
ddev_version_constraint
in install.yaml to specify a constraint for the add-on. - Improved
ddev import-db
performance with MySQL 8.0, thanks @hkirsman
What's Changed
- build: Bump gitpod image for DDEV v1.23.3 [skip ci] by @rfay in #6371
- fix: Update to Traefik v3, make Let's Encrypt work with Traefik, fixes #6183, for #5940, fixes #4632 by @rfay in #6317
- build: Use ENV = in Dockerfile by @rfay in #6370
- build: percona xtrabackup changed install technique by @rfay in #6374
- test: stop testing deprecated nginx-proxy [skip ci] by @rfay in #6378
- fix: improve installation method for mariadb-client by @stasadev in #6377
- fix: Don't warn about Docker Desktop on WSL2, fixes #6339 [skip ci] by @rfay in #6384
- feat: Allow traefik merged static configuration override with
static_config.*.yaml
by @rfay in #6379 - docs: stop checking aur.archlinux.org link [skip ci] by @stasadev in #6387
- fix: Install matching postgresql client versions in ddev-webserver, fixes #6139 by @rfay in #6385
- fix: omit ddev-router for Gitpod (for DDEV PRs) [skip ci] by @stasadev in #6390
- fix: update regex for traefik v3 usage by @rfay in #6388
- fix: make
ddev launch
fully compatible with Gitpod and Codespaces, fixes #6389 by @stasadev in #6391 - fix: make composer subcommands ignore invalid flags on any errors, fixes #6380 by @stasadev in #6382
- feat: add ddev/ddev-utilities to the pulled images by @stasadev in #6395
- ci: update Codespaces link, fixes #6399 [skip ci] by @stasadev in #6400
- feat: add global phpmyadmin install command, fixes #6342 by @nlighteneddesign in #6343
- build(deps): bump actions/setup-python from 5.1.0 to 5.1.1 by @dependabot in #6402
- test: stop testing use_docker_compose_from_path, update related docs by @rfay in #6393
- fix: Use port 80 to get better headers for Codespaces, fixes #6102 by @rfay in #6398
- docs: correct config used to add extra-packages by @matlads in #6403
- docs: Update 'ddev get' example by @mfickers in #6404
- feat: Provide TARGETARCH, TARGETOS, TARGETPLATFORM to docker builds by @rfay in #6233
- test: make sure that volumes in buildkite are deleted at test start by @rfay in #6407
- feat: Replace underscores with hyphens in project-name, fixes #6206 by @mbomb007 in #6210
- docs: remove CircleCI badge as we aren't running their tests by @rfay in #6409
- build: try out docker-compose v2.29.0 by @rfay in #6408
- fix: clear omit_containers, additional_fqdns, additional_hostnames config with empty flag, fixes #6140 by @jonesrussell in #6202
- fix: Use turn off innodb_doublewrite to improve import-db performance, fixes #6244 by @rfay in #6411
- fix: default_container_timeout should work right, fixes #5133 again by @rfay in #6415
- test: Skip TestSSHAuth on Colima by @rfay in #6423
- fix: fail gently if sqlite3 can't be downloaded for drupal11, fixes #6425, for #6419 by @rfay in #6426
- docs: improve WSL2 buildkite install instructions by @rfay in #6396
- docs: Add tip how to setup additional hostnames debug by @maks-oleksyuk in #6436
- fix: create mutagen-agents tarball if it doesn't exist, fixes #6421 by @davearch in #6427
- docs: improve placement of .env for environment variables by @rfay in #6439
- feat: support PHP8.4, fixes #6205 by @rfay in #6446
- docs: show actual running context in
install.yaml
for add-ons by @stasadev in #6447 - feat: add
ddev_version_constraint
for add-ons, remove#ddev-nodisplay
, fixes #5969 by @stasadev in #6433 - build: bump github.com/docker/docker from 26.1.1+incompatible to 27.1.1+incompatible by @dependabot in #6450
- feat: add support for
n install auto
, addN_PREFIX
cache, replace node repo withn
, fixes #6418 by @stasadev in #6420 - docs: promote drupal 11 now that it's released, for #6452 by @rfay in #6453
- test: Update tests for Drupal11 to latest tarballs, fixes #6452 by @rfay in #6454
- docs: update magento1 and backdrop quickstarts, fixes #6448 by @stasadev in #6449
- docs: store magento2 credentials in the global config, for #5932, for #6380 by @stasadev in #6442
- test: mysql-client 9.0 in homebrew is broken, use 8.0 by @rfay in #6459
- feat: add aliases for custom commands,
art
alias forartisan
,ddev aliases
command, fixes #6443 by @stasadev in #6434 - feat: add
log-stderr.sh
command, for #6451, for #6420 by @stasadev in #6455 - fix: show containers we're waiting for and better error message on timeout/unhealthy by @rfay in #6422
- build: bump images to v1.23.4 and docker-compose to v2.29.1 by @stasadev in #6460
- docs: add readable tab anchors by @stasadev in #6464
New Contributors
- @nlighteneddesign made their first contribution in #6343
- @matlads made their first contribution in #6403
- @mfickers made their first contribution in #6404
- @jonesrussell made their first contribution in #6202
- @maks-oleksyuk made their first contribution in #6436
- @davearch made their first contribution in #6427
Full Changelog: v1.23.3...v1.23.4
v1.23.3: Fix results upstream Debian changes: [Errno 13] Permission denied: '/var/log/supervisord.log'
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-get install ddev
orapt-get upgrade
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 --update
to update your projects to current configuration.
Changes:
- Fixes problems some projects with extra packages had after Debian 12.6 was released (See #6363 and its links) "PermissionError: [Errno 13] Permission denied: '/var/log/supervisord.log'"
- New
--skip-hooks
global flag, thanks to @hanoii - Support for MariaDB 11.4 LTS
- Drupal 10 + 11 settings improvements (state cache)
- Improvements in
ddev composer create
thanks to @stasadev - Windows ARM64 support, thanks @dennisameling
mysqladmin
added back into web container
What's Changed
- build: use $XDG_CONFIG_HOME in Gitpod for v1.23.2 release, for #6228 [skip ci] by @stasadev in #6315
- feat: add
--skip-hooks
global flag to avoid running hooks, fixes #2129, fixes #6185 by @hanoii in #6195 - docs: Remove stray info about packages from hooks docs by @rfay in #6322
- docs: Add FAQ about checking in .ddev by @rfay in #6320
- docs: suggestion ddev --version, move mkcert -install to later by @rfay in #6319
- docs: update the link to upgrade DDEV in faq.md by @kiatng in #6325
- fix: generated gitignore is not working correctly by @rfay in #6324
- refactor: error handling for PR artifact comment [skip ci] by @stasadev in #6327
- docs: Warn about Codespaces by @rfay in #6321
- docs: Improve ddev debug test by offering suggestions early [skip ci] by @rfay in #6323
- feat: add support for MariaDB 11.4 LTS, fixes #6061 by @hussainweb in #6243
- docs: pacify textlint on mysql/https by @rfay in #6336
- docs: revisit WSL Docker Desktop setup instructions by @rfay in #6330
- fix: autodownload yarn from corepack, and set cache-folder, fixes #6332 by @stasadev in #6333
- docs: windows-wsl2-dd needs apt install for ngrok by @rfay in #6341
- build: check docker-compose 2.28.1 by @rfay in #6340
- fix: use real path to global config location, fixes #6328 by @stasadev in #6329
- test: stop running nightly tests [skip ci] by @rfay in #6347
- test: Attempt to debug TestProcessHooks intermittent failures, fixes #6313 by @rfay in #6314
- fix: Drupal 10 and Drupal 11 settings have migrated, set state_cache by @rfay in #6346
- build: use IPv4 inside a container, mariadb-client 11.4 for the webserver by @stasadev in #6334
- fix: pass all valid options to nested commands in
ddev composer create
, fixes #6300, fixes #6246, for #5058 by @stasadev in #6303 - build: enable building windows arm64 binaries, fixes #6344 by @dennisameling in #6348
- docs: Fix textlint usage, make textlint work on PRs by @rfay in #6354
- docs: Joomla Quickstart by @rpkoller in #6255
- docs: Initial draft for adding a quickstart for Sulu, fixes #6230 by @rpkoller in #6256
- fix: add mysqladmin to web container for mysql, fixes #6355 by @rfay in #6360
- fix: add chmod for /var/log, for #5898 by @stasadev in #6363
- fix: install extra content in Dockerfile earlier, for #4394 by @stasadev in #6365
- docs: remove bad link to deb.sury.org, confusing extra verbiage by @rfay in #6367
- fix: Check to see if IP address is local to determine whether to add to hosts by @rfay in #6359
- fix: do not explicitly set the backdrop_drupal_compatibility and update_free_access settings, fixes #6090 by @klonos in #6091
- build: bump images to v1.23.3 by @rfay in #6369
New Contributors
- @kiatng made their first contribution in #6325
- @hussainweb made their first contribution in #6243
Full Changelog: v1.23.2...v1.23.3
v1.23.2: MariaDB Dump BC Break recovery
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-get install ddev
orapt-get upgrade
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 --update
to update your projects to current configuration.
Changes:
- Extensive support for MySQL and MariaDB clients to resolve breaking changes caused by new MariaDB dump file format. See full details in blog
- MySQL 8.0 updated to 8.0.36
- Respect $XDG_CONFIG_HOME for DDEV global configuration by @danepowell, see docs
- Extended support for VIRTUAL_HOST in
ddev describe
by @kevinquillen ddev delete
,ddev clean
,ddev stop --unlist
are friendlier when then can't find the original project.- Lots and lots of bug fixes and docs and little improvements
What's Changed
- build: update .gitpod.yml for v1.23.1 release by @stasadev in #6200
- build: Remove concurrency/cancellation check on pr-check as it's useless [skip ci] by @rfay in #6214
- test: Update drupal11 test to 11.0.0-beta1 by @rfay in #6219
- fix: PHP CodeSniffer on settings.ddev.php for Drupal 8 - 11 by @truls1502 in #6217
- docs: add link to TYPO3 ddev guides by @mandrasch in #6218
- docs: Add Debugging long mutagen startup time by @rfay in #6213
- docs: Add fix to disable windows experience on windows test runners by @rfay in #6212
- fix: TYPO3 no longer has typo3cms command, update other out-of-date by @rfay in #6211
- fix: add more checks for existing approot by @stasadev in #6208
- docs: minor updates for Laravel quickstart guide by @mandrasch in #6221
- docs: add Vite infobox for Laravel quickstart by @mandrasch in #6220
- docs: typo in faq "thew" by @dahnte in #6224
- docs: Explain how to switch from nvm to
nodejs_version
, fixes #6204 by @syzygy333 in #6207 - fix: Improve instructional output on 'ddev config' by @rfay in #6223
- fix: do not remove mounted files directory, fixes #6188 by @rfay in #6199
- fix: do not validate config in ddev clean, delete -O, stop -U by @stasadev in #6209
- docs: make textlint stop complaining about command line tool by @rfay in #6227
- feat: output the VIRTUAL_HOST if specified in environment variables of a service by @kevinquillen in #6136
- feat: generalize HOMEDIR management and respect XDG_CONFIG_HOME, fixes #5807 by @danepowell in #5813
- test: fix broken tests, for #5813 by @stasadev in #6232
- fix: ImportDB() and ddev import-db should remove new mariadb-dump line, for #6249 by @rfay in #6253
- fix: Make export-db also remove new mariadb directive in dumpfile , fixes #6249 by @rfay in #6257
- test: Fix test failures on master of Rancher, Colima, Windows by @rfay in #6258
- fix: tail for mariadb export-db doesn't work on older mariadb by @rfay in #6261
- test: Skip TestAutocompletionForCustomCmds because of slow mount responses by @rfay in #6264
- build: download mkcert from github by @rfay in #6265
- build: bump upload-artifact to v4 and fix mkcert.exe in tarball/zipball [skip ci] by @rfay in #6266
- docs: install mysql-client instead of mariadb on macOS by @rfay in #6267
- test: Try to fix windows problems with TestPoweroffOnNewVersion by @rfay in #6262
- test: Don't use php package in TestExtraPackages by @rfay in #6269
- fix: detect Rancher Desktop, fixes #6259 by @stasadev in #6268
- docs: add link to contributor trainings by @mandrasch in #6248
- docs: improve FAQ - communication between projects by @mandrasch in #6238
- fix: Drupal - switch to sendmail transport always in settings.ddev.php by @doradovictor in #6192
- docs: Add a small update noting either a subdomain or arbitrary domain. by @kevinquillen in #6229
- docs: improve contributing via gitpod by @mandrasch in #6247
- docs: Update PHPStorm instructions to include COMPOSE_PROJECT_NAME in manual instructions by @michielgerritsen in #6226
- build: standardize apt-get usage, remove blackfire from apt sources, for #6235, for #6078 by @stasadev in #6236
- test: TestCopyIntoVolume should clean up after itself [skip ci] by @rfay in #6271
- refactor: make "waiting for" message more generic by @tyler36 in #6270
- build: Use github instead of dl.filippo.io to get mkcert binary by @rfay in #6272
- fix: prevent various Mutagen conflicts between daemons when changing versions or global directory, fixes #6234 by @rfay in #6239
- build: bump goreleaser to v2, update its action to v6 by @stasadev in #6278
- docs: fix mutagen example command by @stasadev in #6277
- refactor: remove backticks from ddev mailpit in ddev describe info text, fixes #6276 by @gitressa in #6279
- docs: update PR template by @stasadev in #6280
- refactor: Update to new amplitude/analytics-go by @rfay in #6283
- test: fix TestFileHash on Windows, fixes #6284 by @stasadev in #6285
- fix: make self-upgrade command respect spaces, fixes #6274 by @stasadev in #6282
- feat: don't override ddev-generated built-in project files created by add-on, fixes #6173, fixes #6190 by @stasadev in #6263
- docs: Update commands.md to add detail for
debug migrate-database
by @Nick-Hope in #6288 - fix: create
working_dir
forweb
if it doesn't exist, fixes #6158 by @stasadev in #6242 - build: Bump mysql to 8.0.36, fixes #6250 by @rfay in #6291
- fix: Use mariadb repositories for mariadb-client, for #6083 by @rfay in #6290
- docs: update first step in project-types.md by @kdambekalns in #6296
- build: bump yq to v4.44.1 by @juanjol in #6299
- fix: optionally load bash completion for npm and nvm, fixes #6106 by @stasadev in #6294
- feat: add warnings for global commands when they are "unknown", for #5523, for #6275 by @stasadev in #6293
- fix: Composer post-root-package-install didn't work with Mutagen enabled by @stasadev in #6281
- fix: Add matching mysql clients to mysql:5.7 and mysql:8.0, for #6083 by @rfay in #6297
- test: Fix TestAcquiaPush and TestLagoonPush, add mariadb-old clients, fixes #6295 by @rfay in #6304
- fix: Don't terminate mutagen sessions on upgrade/version change by @rfay in #6305
- docs: update instructions for cleaning up old
ddev
binaries by @stasadev in #6310 - fix: Support MySQL 5.5 and 5.6 on ddev-webserver by using MySQL 5.7 clients by @rfay in #6309
- build: prepare images for v1.23.2 by @rfay in #6312
New Contributors
- @dahnte made their first contribution in #6224
- @syzygy333 made their first contribution in #6207
- @kevinquillen made their first contribution in #6136
- @danepowell made their first contribution in #5813
- @doradovictor made their first contribution in #6192
- @michielgerritsen made their first contribution in #6226
- @kdambekalns made their first contribution in #6296
- @ju...
v1.23.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: Use
apt-get install ddev
orapt-get upgrade
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 --update
to update your projects to current configuration.
Changes:
- SQLite 3.45 support for Drupal 11.
- Xdebug 3.3 downgraded to Xdebug 3.2 in PHP 8.0, 8.1, 8.2 due to possible crashes for minority of users.
- New toggle option in
ddev xhprof toggle
, thanks @GuySartorelli ! - Support for negative default in confirm prompt for
ddev push
, thanks @cballenar ! - Improvements in some
ddev debug
commands. - And many, many bug fixes, docs, etc.
What's Changed
- build: update .gitpod.yml for v1.23.0 release [skip ci] by @stasadev in #6112
- build: update devcontainer-feature.json for v1.23.0 release [skip ci] by @stasadev in #6115
- docs: remove errant comma in codespaces devcontainer.json by @rfay in #6114
- fix: clean up test project on signal, fixes #6111 by @rfay in #6119
- refactor: move php folder permission fix to the end, for #6122 by @stasadev in #6124
- build: keep ddev-ssh-agent on gitpod, fixes #6132 [skip ci] by @rfay in #6134
- build: bump golangci/golangci-lint-action from 4 to 5 by @dependabot in #6138
- build: bump docker-compose to 2.27.0 by @rfay in #6129
- docs: Various cleanup items by @rfay in #6127
- fix: provide sqlite 3.45 for drupal11, fixes #6110 by @rfay in #6137
- fix: Add host.docker.internal and customizations to ddev debug test by @rfay in #6144
- build: show badges for Gitpod and GitHub Codespaces in PRs by @stasadev in #6151
- build: bump github.com/docker/docker from 26.0.0+incompatible to 26.1.1+incompatible by @dependabot in #6117
- docs: install curl for Debian/Ubuntu and WSL2, fixes #5915 by @stasadev in #6150
- docs: encourage people to use latest stable version by @rfay in #6171
- fix: show error in
ddev debug refresh
by @stasadev in #6154 - test: Use newer technique to cancel in-progress builds by @rfay in #6172
- fix: close global traefik file after creation by @testwill in #6153
- fix: getDatabaseBackups() should check error on .downloads deletion by @rfay in #6133
- fix: check for valid db version in
ddev debug migrate-database
by @stasadev in #6168 - fix: add timeout for install_nvm.sh by @stasadev in #6170
- docs: fix broken anchor links by @stasadev in #6177
- docs: Add info about #ddev-generated for apache-fpm users by @rfay in #6176
- feat: set Drupal database to mariadb default on config update, fixes #6160 by @stasadev in #6165
- fix: retrieve Drupal 11 sqlite3 packages from snapshot.debian.org by @rfay in #6175
- build: update hardened/prod healthcheck.sh, for #6033 by @stasadev in #6126
- build: bump golangci/golangci-lint-action from 5 to 6 by @dependabot in #6178
- build: install deb.sury.org key from debsuryorg-archive-keyring, fixes #6143 by @stasadev in #6180
- fix: typo in auth ssh command description by @stasadev in #6182
- build: compile Xdebug 3.2.2 for PHP 8.0, 8.1, 8.2, fixes #6159 by @stasadev in #6181
- fix: update d9simple to d10simple by @shaal in #6186
- build: bump images to v1.23.1 for release by @stasadev in #6184
- fix: hide custom ddev pull and ddev push commands from Amplitude, fixes #6128 by @stasadev in #6152
- fix: Skip hidden directories when creating commands by @GuySartorelli in #6081
- feat: Add toggle option for xhprof command, rework xdebug, fixes #5782 by @GuySartorelli in #6082
- feat: Add support for negative default in confirm prompt, fixes #6103 by @cballenar in #6118
- fix: Gitpod and Codespaces can use HTTPS by @stasadev in #5943
- docs: Fix a couple of broken link fragments by @rfay in #6197
- docs: Fix markdownlint problems by using different headers instead of different links by @rfay in #6198
- build: fix Codespaces link by @stasadev in #6196
- build: fix devcontainers postCreateCommand permissions, fixes #6187 by @stasadev in #6194
- fix: do not send autocomplete commands to Amplitude, fixes #6189 by @stasadev in #6193
New Contributors
- @cballenar made their first contribution in #6118
Full Changelog: v1.23.0...v1.23.1
v1.23.0: Drupal 11 support, new "drupal" project type, corepack, yarn v4, new defaults
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-get install ddev
orapt-get upgrade
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 --update
to update your projects to current configuration.
Highlights:
- Drupal 11 support, including
corepack
support withcorepack_enable: true
and automatic detection of the new type. ddev-webserver
is now upgraded to Debian 12 Bookworm, which means that many newer Debian packages are available.- Corepack and yarn v4 support.
- New
drupal
project type to cover Drupal 8+. If you are updating to usetype: drupal
you may want to useddev_version_constraint: '>=v1.23.0'
as well - New
cakephp
project type, thanks @ajibarra ! - Laravel 11 support for
mariadb
database connection. ddev pint
support for Laravel, thanks @penyaskito !- Autocompletion for custom/shell commands, thanks @GuySartorelli !
- PHP default version is now 8.2.
- Node.js default version is now 20, thanks @peter-neumann-dev !
- Default database is now
mariadb:10.11
. - Traefik Docker image is now 2.11, thanks @nilsandresen !
ddev composer create
is much more compatible withcomposer create-project
, thanks @gilbertsoft !ddev launch
can open full URLsddev launch https://ddev.com
and custom website portsddev launch :3000
.ddev config --update
is a new flag. It updates all known.ddev/config.yaml
settings based on detected code. Works great for most CMSs and frameworks. It's likeddev config --auto
, butddev config --auto
won't change existing settings.- On WSL2 DDEV uses a different version to figure out
host.docker.internal
for Xdebug. The new technique seems to work more generally; WSL2 seems to have changed the recommended technique. - And many, many bug fixes, docs, etc.
Breaking Changes:
- If you update to the new
drupal
project type, useddev_version_constraint: '>= v1.23.0'
as well to notify users of older DDEV versions what the problem is. - Check your
.ddev/config.yaml
, namelywebimage_extra_packages
for compatibility with Debian 12 Bookworm. - Check your custom Dockerfiles, e.g. if you made some customizations to
/etc/apt/sources.list
, it has been moved to/etc/apt/sources.list.d/debian.sources
with a different structure. - Python2 support has been removed from upstream, we recommend using an older DDEV if you really need it, see #5928.
- If you have used
localhost
TLD for your sites, thecurl
connection between them is broken, see #6040.
Behavior Changes:
- Your DDEV project list is located at
~/.ddev/project_list.yaml
, thanks @GuySartorelli ! CRAFT_WEB_URL
has been removed from Craft CMS auto-config as it's not necessary.ddev config
no longer requires the--create-docroot
flag, as it will create docroot automatically.- Improved performance for
ddev xhprof
as theXHPROF_FLAGS_CPU
flag has been removed by default. - Platform.sh legacy CLI replaced with the golang-based CLI.
- Our primary recommendation for macOS Docker provider changed to OrbStack.
- Missing projects are automatically removed from the
ddev list
after notification. - Website primary URL is correctly set to HTTPS when using custom certificates, thanks @tbmatuka !
- If you happen to downgrade DDEV to v1.22.7 or older it will cause the
ddev list
to be empty. Don't worry, runddev start
in the project directory and it will reappear in the list.
Bug Fixes:
- Affected version v1.22.7:
ddev config
could accidentally override your project type to a detected one. - Affected versions from v1.22.4 to v1.22.7: A race condition could break structure for
docker-compose config
, thanks @deviantintegral !
Minor Notes:
- Zsh completion instructions are improved, thanks @rpkoller !
- Kirby CMS quickstart, thanks @texnixe !
- Grav CMS quickstart, thanks @rpkoller !
- Pimcore CMS quickstart.
- Symfony Framework quickstart.
- TablePlus support from
Setapp
directory, thanks @peterkraume ! - DBeaver support in WSL2, thanks @Brupes !
- Magento 2.4.5+ is correctly detected, thanks @Morgy93 !
- DDEV documentation uses bundled external js/css libraries for more privacy, thanks @gitressa !
What's Changed
- docs: Add using current stable version to troubleshooting section by @rfay in #5808
- docs: Revert "docs: temporarily revert docs on not needing --create-docroot" by @rfay in #5768
- test: golangci-lint got pickier, satisfy it by @rfay in #5812
- feat: support TablePlus application located in setapp directory (#5815) by @peterkraume in #5816
- fix: follow the zsh naming conventions for completion scripts by @rpkoller in #5814
- docs: update buildkite installation to include icinga by @rfay in #5802
- docs: show initial and project-checkout Backdrop installation by @tyler36 in #5781
- feat: enable autocompletion for custom commands, fixes #5783 by @GuySartorelli in #5785
- build: bump ddev-php-base and ddev-webserver to base on Debian 12 bookworm, replaces #5278 by @rfay in #5579
- docs: update developer release instructions by @stasadev in #5789
- build: improve goreleaser, add testing capabilities, "head" release, docs, fixes #5821, fixes #5811 by @rfay in #5824
- build: revert implementation of 'head' release, fixes #5830 by @rfay in #5831
- build: bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #5827
- build: bump fuxingloh/multi-labeler from 2 to 3 by @dependabot in #5828
- build: filter binaries for deb and rpm on release, fixes #5734 by @stasadev in #5759
- docs: find all DDEV binaries using
which -a ddev
by @stasadev in #5834 - docs: update the section about zsh completions by @rpkoller in #5825
- build: bump traefik to 2.11 by @nilsandresen in #5833
- refactor: update to Node.js v20 LTS as current default by @peter-neumann-dev in #5453
- docs: improve buildkite setup for WSL2 by @rfay in #5846
- docs: use PHP 8.3 for the TYPO3 Quickstart by @jonaseberle in #5842
- feat: change php default version to 8.2, fixes #5767 by @rfay in #5835
- docs: add maintainer docs about remote-config testing by @rfay in #5850
- test: silence docker scout nonsense in buildkite [skip ci] by @rfay in #5851
- docs: don't link check a couple of unstable external urls [skip ci] by @rfay in #5852
- fix: make
ddev --version
work even if not in project and ~/.ddev/commands not yet created by @rfay in #5854 - feat: replace fsouza/go-dockerclient with docker/docker/client, fixes #3460 by @stasadev in #5787
- docs: stop checking all stack overflow links by @rfay in #5858
- docs: mostly warn people off of using xdebug_ide_location by @rfay in #5857
- docs: add auto light / dark mode by @stasadev in #5853
- build: bump fuxingloh/multi-labeler from 3 to 4 by @dependabot in #5867
- docs: buildkite wsl2 setup learning by @rfay in #5864
- docs: stop checking link to community.chocolatey.org by @rfay in #5869
- test: stop testing TestAutocompletionForCustomCmds on Windows, fixes #5870 by @rfay in #5872
- fix: do not create project network programmatically on
ddev start
, fixes #5810 by @stasadev in #5848 - test: Minor improvement to TestComposerVersion by @rfay in #5879
- test: Fix TestPantheonPush, broken due to php8.2 default by @rfay in #5874
- fix: don't panic in app.Describe() if container not found by @rfay in #5873
- fix: ddev start should not continue if web/db containers aren't healthy by @rfay in #5871
- docs: fix 404 link in phpstorm docs by @rfay in #5881
- docs: Link to 'Upgrading DDEV' in 'Usage' section by @amanire in #5877
- fix: error message 'Error converting to int' on
ddev import-db
by @rfay in #5856 - fix...
v1.23.0-rc2
Installation
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.) - Linux or WSL2: Download the appropriate deb file from this release and install it with
dpkg -i <file>.deb
- Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - 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. - Consider
ddev config --auto
to update your projects to current configuration.
Highlights:
ddev-webserver
is now upgraded to Debian 12 Bookworm, which means that many newer Debian packages are available.- Corepack and yarn v4 support.
- Drupal 11 support, including
corepack
support withcorepack_enable: true
and automatic detection of the new type. - New
drupal
project type to cover Drupal 8+. - New
cakephp
project type, thanks @ajibarra ! - Laravel 11 support for
mariadb
database connection. ddev pint
support for Laravel, thanks @penyaskito !- Autocompletion for custom/shell commands, thanks @GuySartorelli !
- PHP default version is now 8.2.
- Node.js default version is now 20, thanks @peter-neumann-dev !
- Default database is now
mariadb:10.11
. - Traefik Docker image is now 2.11, thanks @nilsandresen !
ddev composer create
is much more compatible withcomposer create-project
, thanks @gilbertsoft !ddev launch
can open full URLsddev launch https://ddev.com
and custom website portsddev launch :3000
.ddev config --update
is a new flag. It updates all known.ddev/config.yaml
settings based on detected code. Works great for most CMSs and frameworks. It's likeddev config --auto
, butddev config --auto
won't change existing settings.- And many, many bug fixes, docs, etc.
Breaking Changes:
- Check your
.ddev/config.yaml
, namelywebimage_extra_packages
anddbimage_extra_packages
for compatibility with Debian 12 Bookworm. - Check your custom Dockerfiles, e.g. if you made some customizations to
/etc/apt/sources.list
, it has been moved to/etc/apt/sources.list.d/debian.sources
with a different structure. - Python2 support has been removed from upstream, we recommend using an older DDEV if you really need it, see #5928.
- If you have used
localhost
TLD for your sites, thecurl
connection between them is broken, see #6040.
Behavior Changes:
- Your DDEV project list is located at
~/.ddev/project_list.yaml
, thanks @GuySartorelli ! CRAFT_WEB_URL
has been removed from Craft CMS auto-config as it's not necessary.ddev config
no longer requires the--create-docroot
flag, as it will create docroot automatically.- Update the deb.sury.org (upstream) package repository key, which will expire on 17 Feb 2024 (a little over a week).
- Improved performance for
ddev xhprof
as theXHPROF_FLAGS_CPU
flag has been removed by default. - Platform.sh legacy CLI replaced with the latest one.
- Our main recommendation for macOS Docker provider changed to OrbStack.
- Missing projects automatically removed from the
ddev list
after notification. - Website primary URL is correctly set to HTTPS when using custom certificates, thanks @tbmatuka !
Bug Fixes:
- Affected version v1.22.7:
ddev config
could accidentally override your project type to a detected one. - Affected versions from v1.22.4 to v1.22.7: A race condition could break structure for
docker-compose config
, thanks @deviantintegral !
Minor Notes:
- Zsh completion instructions are improved, thanks @rpkoller !
- Kirby CMS quickstart, thanks @texnixe !
- Grav CMS quickstart, thanks @rpkoller !
- Pimcore CMS quickstart.
- Symfony Framework quickstart.
- TablePlus support from
Setapp
directory, thanks @peterkraume ! - DBeaver support in WSL2, thanks @Brupes !
- Magento 2.4.5+ is correctly detected, thanks @Morgy93 !
- DDEV documentation uses bundled external js/css libraries for more privacy, thanks @gitressa !
What's Changed
- docs: Add using current stable version to troubleshooting section by @rfay in #5808
- docs: Revert "docs: temporarily revert docs on not needing --create-docroot" by @rfay in #5768
- test: golangci-lint got pickier, satisfy it by @rfay in #5812
- feat: support TablePlus application located in setapp directory (#5815) by @peterkraume in #5816
- fix: follow the zsh naming conventions for completion scripts by @rpkoller in #5814
- docs: update buildkite installation to include icinga by @rfay in #5802
- docs: show initial and project-checkout Backdrop installation by @tyler36 in #5781
- feat: enable autocompletion for custom commands, fixes #5783 by @GuySartorelli in #5785
- build: bump ddev-php-base and ddev-webserver to base on Debian 12 bookworm, replaces #5278 by @rfay in #5579
- docs: update developer release instructions by @stasadev in #5789
- build: improve goreleaser, add testing capabilities, "head" release, docs, fixes #5821, fixes #5811 by @rfay in #5824
- build: revert implementation of 'head' release, fixes #5830 by @rfay in #5831
- build: bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #5827
- build: bump fuxingloh/multi-labeler from 2 to 3 by @dependabot in #5828
- build: filter binaries for deb and rpm on release, fixes #5734 by @stasadev in #5759
- docs: find all DDEV binaries using
which -a ddev
by @stasadev in #5834 - docs: update the section about zsh completions by @rpkoller in #5825
- build: bump traefik to 2.11 by @nilsandresen in #5833
- refactor: update to Node.js v20 LTS as current default by @peter-neumann-dev in #5453
- docs: improve buildkite setup for WSL2 by @rfay in #5846
- docs: use PHP 8.3 for the TYPO3 Quickstart by @jonaseberle in #5842
- feat: change php default version to 8.2, fixes #5767 by @rfay in #5835
- docs: add maintainer docs about remote-config testing by @rfay in #5850
- test: silence docker scout nonsense in buildkite [skip ci] by @rfay in #5851
- docs: don't link check a couple of unstable external urls [skip ci] by @rfay in #5852
- fix: make
ddev --version
work even if not in project and ~/.ddev/commands not yet created by @rfay in #5854 - feat: replace fsouza/go-dockerclient with docker/docker/client, fixes #3460 by @stasadev in #5787
- docs: stop checking all stack overflow links by @rfay in #5858
- docs: mostly warn people off of using xdebug_ide_location by @rfay in #5857
- docs: add auto light / dark mode by @stasadev in #5853
- build: bump fuxingloh/multi-labeler from 3 to 4 by @dependabot in #5867
- docs: buildkite wsl2 setup learning by @rfay in #5864
- docs: stop checking link to community.chocolatey.org by @rfay in #5869
- test: stop testing TestAutocompletionForCustomCmds on Windows, fixes #5870 by @rfay in #5872
- fix: do not create project network programmatically on
ddev start
, fixes #5810 by @stasadev in #5848 - test: Minor improvement to TestComposerVersion by @rfay in #5879
- test: Fix TestPantheonPush, broken due to php8.2 default by @rfay in #5874
- fix: don't panic in app.Describe() if container not found by @rfay in #5873
- fix: ddev start should not continue if web/db containers aren't healthy by @rfay in #5871
- docs: fix 404 link in phpstorm docs by @rfay in #5881
- docs: Link to 'Upgrading DDEV' in 'Usage' section by @amanire in #5877
- fix: error message 'Error converting to int' on
ddev import-db
by @rfay in #5856 - fix: cache Docker client instead of creating a new one all the time, fixes #5861 by @stasadev in #5878
- test: exclude TestPHPOverrides on Colima and TestProcessHooks on Windows by @rfay in #5883
- fix: don't start 'mutagen daemon run' during ddev stop/delete by @rfay in #5868
- feat: change database default to mariadb:10.11, fixes #5797 by @rfay in #5836
- test: Run colima tests native instead of github, fixes #5598 by @rfay in #5886
- test: make sure buildkite leaves docker in sane setup by @rfay in https://github.com/ddev/dde...
v1.23.0-rc1
Installation
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.) - Linux or WSL2: Download the appropriate deb file from this release and install it with
dpkg -i <file>.deb
- Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - 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. - Consider
ddev config --auto
to update your projects to current configuration.
Highlights:
ddev-webserver
is now upgraded to Debian 12 Bookworm, which means that many newer Debian packages are available.- Corepack and yarn v4 support.
- Drupal 11 support, including
corepack
support withcorepack_enable: true
and automatic detection of the new type. - New
drupal
project type to cover Drupal 8+. - New
cakephp
project type, thanks @ajibarra ! - Laravel 11 support for
mariadb
database connection. ddev pint
support for Laravel, thanks @penyaskito !- Autocompletion for custom/shell commands, thanks @GuySartorelli !
- PHP default version is now 8.2.
- Node.js default version is now 20, thanks @peter-neumann-dev !
- Default database is now
mariadb:10.11
. - Traefik Docker image is now 2.11, thanks @nilsandresen !
ddev composer create
is much more compatible withcomposer create-project
, thanks @gilbertsoft !ddev launch
can open full URLsddev launch https://ddev.com
and custom website portsddev launch :3000
.ddev config --update
is a new flag. It updates all known.ddev/config.yaml
settings based on detected code. Works great for most CMSs and frameworks. It's likeddev config --auto
, butddev config --auto
won't change existing settings.- And many, many bug fixes, docs, etc.
Breaking Changes:
- Check your
.ddev/config.yaml
, namelywebimage_extra_packages
anddbimage_extra_packages
for compatibility with Debian 12 Bookworm. - Check your custom Dockerfiles, e.g. if you made some customizations to
/etc/apt/sources.list
, it has been moved to/etc/apt/sources.list.d/debian.sources
with a different structure. - Python2 support has been removed from upstream, we recommend using an older DDEV if you really need it, see #5928.
- If you have used
localhost
TLD for your sites, thecurl
connection between them is broken, see #6040.
Behavior Changes:
- Your DDEV project list is located at
~/.ddev/project_list.yaml
, thanks @GuySartorelli ! CRAFT_WEB_URL
has been removed from Craft CMS auto-config as it's not necessary.ddev config
no longer requires the--create-docroot
flag, as it will create docroot automatically.- Update the deb.sury.org (upstream) package repository key, which will expire on 17 Feb 2024 (a little over a week).
- Improved performance for
ddev xhprof
as theXHPROF_FLAGS_CPU
flag has been removed by default. - Platform.sh legacy CLI replaced with the latest one.
- Our main recommendation for macOS Docker provider changed to OrbStack.
- Missing projects automatically removed from the
ddev list
after notification. - Website primary URL is correctly set to HTTPS when using custom certificates, thanks @tbmatuka !
Bug Fixes:
- Affected version v1.22.7:
ddev config
could accidentally override your project type to a detected one. - Affected versions from v1.22.4 to v1.22.7: A race condition could break structure for
docker-compose config
, thanks @deviantintegral !
Minor Notes:
- Zsh completion instructions are improved, thanks @rpkoller !
- Kirby CMS quickstart, thanks @texnixe !
- Grav CMS quickstart, thanks @rpkoller !
- Pimcore CMS quickstart.
- Symfony Framework quickstart.
- TablePlus support from
Setapp
directory, thanks @peterkraume ! - DBeaver support in WSL2, thanks @Brupes !
- Magento 2.4.5+ is correctly detected, thanks @Morgy93 !
- DDEV documentation uses bundled external js/css libraries for more privacy, thanks @gitressa !
What's Changed
- docs: Add using current stable version to troubleshooting section by @rfay in #5808
- docs: Revert "docs: temporarily revert docs on not needing --create-docroot" by @rfay in #5768
- test: golangci-lint got pickier, satisfy it by @rfay in #5812
- feat: support TablePlus application located in setapp directory (#5815) by @peterkraume in #5816
- fix: follow the zsh naming conventions for completion scripts by @rpkoller in #5814
- docs: update buildkite installation to include icinga by @rfay in #5802
- docs: show initial and project-checkout Backdrop installation by @tyler36 in #5781
- feat: enable autocompletion for custom commands, fixes #5783 by @GuySartorelli in #5785
- build: bump ddev-php-base and ddev-webserver to base on Debian 12 bookworm, replaces #5278 by @rfay in #5579
- docs: update developer release instructions by @stasadev in #5789
- build: improve goreleaser, add testing capabilities, "head" release, docs, fixes #5821, fixes #5811 by @rfay in #5824
- build: revert implementation of 'head' release, fixes #5830 by @rfay in #5831
- build: bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #5827
- build: bump fuxingloh/multi-labeler from 2 to 3 by @dependabot in #5828
- build: filter binaries for deb and rpm on release, fixes #5734 by @stasadev in #5759
- docs: find all DDEV binaries using
which -a ddev
by @stasadev in #5834 - docs: update the section about zsh completions by @rpkoller in #5825
- build: bump traefik to 2.11 by @nilsandresen in #5833
- refactor: update to Node.js v20 LTS as current default by @peter-neumann-dev in #5453
- docs: improve buildkite setup for WSL2 by @rfay in #5846
- docs: use PHP 8.3 for the TYPO3 Quickstart by @jonaseberle in #5842
- feat: change php default version to 8.2, fixes #5767 by @rfay in #5835
- docs: add maintainer docs about remote-config testing by @rfay in #5850
- test: silence docker scout nonsense in buildkite [skip ci] by @rfay in #5851
- docs: don't link check a couple of unstable external urls [skip ci] by @rfay in #5852
- fix: make
ddev --version
work even if not in project and ~/.ddev/commands not yet created by @rfay in #5854 - feat: replace fsouza/go-dockerclient with docker/docker/client, fixes #3460 by @stasadev in #5787
- docs: stop checking all stack overflow links by @rfay in #5858
- docs: mostly warn people off of using xdebug_ide_location by @rfay in #5857
- docs: add auto light / dark mode by @stasadev in #5853
- build: bump fuxingloh/multi-labeler from 3 to 4 by @dependabot in #5867
- docs: buildkite wsl2 setup learning by @rfay in #5864
- docs: stop checking link to community.chocolatey.org by @rfay in #5869
- test: stop testing TestAutocompletionForCustomCmds on Windows, fixes #5870 by @rfay in #5872
- fix: do not create project network programmatically on
ddev start
, fixes #5810 by @stasadev in #5848 - test: Minor improvement to TestComposerVersion by @rfay in #5879
- test: Fix TestPantheonPush, broken due to php8.2 default by @rfay in #5874
- fix: don't panic in app.Describe() if container not found by @rfay in #5873
- fix: ddev start should not continue if web/db containers aren't healthy by @rfay in #5871
- docs: fix 404 link in phpstorm docs by @rfay in #5881
- docs: Link to 'Upgrading DDEV' in 'Usage' section by @amanire in #5877
- fix: error message 'Error converting to int' on
ddev import-db
by @rfay in #5856 - fix: cache Docker client instead of creating a new one all the time, fixes #5861 by @stasadev in #5878
- test: exclude TestPHPOverrides on Colima and TestProcessHooks on Windows by @rfay in #5883
- fix: don't start 'mutagen daemon run' during ddev stop/delete by @rfay in #5868
- feat: change database default to mariadb:10.11, fixes #5797 by @rfay in #5836
- test: Run colima tests native instead of github, fixes #5598 by @rfay in #5886
- test: make sure buildkite leaves docker in sane setup by @rfay in https://github.com/ddev/dde...
v1.23.0-beta1
Installation
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.) - Linux or WSL2: Download the appropriate deb file from this release and install it with
dpkg -i <file>.deb
- Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - 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. - Consider
ddev config --auto
to update your projects to current configuration.
Highlights:
ddev-webserver
is now upgraded to Debian 12 Bookworm, which means that many newer Debian packages are available.- Drupal 11 support, including
corepack
support withcorepack_enable: true
- New
drupal
project type to cover Drupal 8+ - New
cakephp
project type, thanks @ajibarra ! - Laravel 11 support for
mariadb
database connection - Autocompletion for custom/shell commands, thanks @GuySartorelli !
- PHP default version is now 8.2
- Node.js default version is now 20, thanks @peter-neumann-dev !
- Default database is now mariadb:10.11
- Traefik Docker image is now 2.11, thanks @nilsandresen !
ddev composer create
is much more compatible withcomposer create-project
, thanks @gilbertsoft !- And many, many bug fixes, docs, etc.
Behavior Changes:
CRAFT_WEB_URL
has been removed from Craft CMS auto-config as it's not necessaryddev config
no longer requires the--create-docroot
flag, as it will create docroot automatically.- Update the deb.sury.org (upstream) package repository key, which will expire on 17 Feb 2024 (a little over a week).
- Improved performance for
ddev xhprof
as theXHPROF_FLAGS_CPU
flag has been removed by default - Platform.sh legacy CLI replaced with the latest one
- Our main recommendation for macOS Docker provider changed to OrbStack
- Missing projects automatically removed from the
ddev list
after notification - If you made some customizations to
/etc/apt/sources.list
in a custom Dockerfile, it has been moved to/etc/apt/sources.list.d/debian.sources
with a different structure. - Website primary URL is correctly set to HTTPS when using custom certificates, thanks @tbmatuka !
Bug Fixes:
- Affected version v1.22.7:
ddev config
could accidentally override your project type to a detected one - Affected versions from v1.22.4 to v1.22.7: A race condition could break structure for
docker-compose config
, thanks @deviantintegral !
Minor Notes:
- Zsh completion instructions are improved, thanks @rpkoller !
- Kirby CMS quickstart, thanks @texnixe !
- Grav CMS quickstart, thanks @rpkoller !
- Pimcore CMS quickstart
- TablePlus support from
Setapp
directory, thanks @peterkraume ! - DBeaver support in WSL2, thanks @Brupes !
- Magento 2.4.5+ is correctly detected, thanks @Morgy93 !
- DDEV documentation uses bundled external js/css libraries for more privacy, thanks @gitressa !
What's Changed since v1.23.0-alpha1
- docs: add privacy plugins to not use external fonts, fixes #4982 by @gitressa in #6027
- docs: update CakePHP docs to include a link and instructions for 3.x by @ajibarra in #6021
- fix: rsync example should create db.sql.gz [skip ci] by @rfay in #6022
- fix: revert removal of Colima host.docker.internal setting by @rfay in #6031
- test: make circleci setup noninteractive so doesn't hang [skip buildkite] by @rfay in #6034
- fix: clean up missing project if it's gone, fixes #5322 by @rfay in #6029
- fix: handle wildcard hostnames when name resolution not available, fixes #4881 by @rfay in #6025
- test: try to fix sshfs-based failures on TestGetProjectsMissingApp by @rfay in #6041
- feat: more readable formatting of lists of files, fixes #5985 by @penyaskito in #6030
- build: bump actions/setup-python from 5.0.0 to 5.1.0 by @dependabot in #6038
- fix: ddev debug configyaml shouldn't double-report upload_dirs, fixes #6036 by @rfay in #6037
- feat: Keep hub.docker.com repositories updated, fixes #5847 [skip ci] by @rfay in #6032
- refactor: Use project_list.yaml as source of truth, fixes #5918 by @GuySartorelli in #5926
- fix: shutdown supervisor in healthcheck.sh on fatal error, fixes #5993 by @stasadev in #6033
- fix: Remove Craft CMS PHP version override by @AugustMiller in #5805
- docs: add a sticky warning about the latest version by @stasadev in #6048
- fix: make sure CGO_ENABLED is normally off, fixes #6046 by @rfay in #6050
- feat: Improve container errors messages format, fixes #6042 by @penyaskito in #6043
Full Changelog: v1.23.0-alpha1...v1.23.0-beta1
v1.23.0-alpha1: Drupal 11 support, `drupal` and `cakephp` project types
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.) - Linux or WSL2: Download the appropriate deb file from this release and install it with
dpkg -i <file>.deb
- Traditional Windows: Use
choco upgrade -y --pre ddev
to get this one, or download the ddev_windows_installer below. - 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-webserver
is now upgraded to Debian 12 Bookworm, which means that many newer Debian packages are available.- Drupal 11 support, including
corepack
support withcorepack_enable: true
- New
drupal
project type to cover Drupal 8+ - New
cakephp
project type, thanks @ajibarra! - Autocompletion for custom/shell commands, thanks @GuySartorelli !
- PHP default version is now 8.2
- Default database is now mariadb:10.11
ddev composer create
is much more compatible withcomposer create-project
, thanks @gilbertsoft !- And many, many bug fixes, docs, etc.
Caveats
- Xdebug is broken in Colima in this version. It will be fixed in #6031
What's Changed
- docs: Add using current stable version to troubleshooting section by @rfay in #5808
- docs: Revert "docs: temporarily revert docs on not needing --create-docroot" by @rfay in #5768
- test: golangci-lint got pickier, satisfy it by @rfay in #5812
- feat: support TablePlus application located in setapp directory (#5815) by @peterkraume in #5816
- fix: follow the zsh naming conventions for completion scripts by @rpkoller in #5814
- docs: update buildkite installation to include icinga by @rfay in #5802
- docs: show initial and project-checkout Backdrop installation by @tyler36 in #5781
- feat: enable autocompletion for custom commands, fixes #5783 by @GuySartorelli in #5785
- build: bump ddev-php-base and ddev-webserver to base on Debian 12 bookworm, replaces #5278 by @rfay in #5579
- docs: update developer release instructions by @stasadev in #5789
- build: improve goreleaser, add testing capabilities, "head" release, docs, fixes #5821, fixes #5811 by @rfay in #5824
- build: revert implementation of 'head' release, fixes #5830 by @rfay in #5831
- build: bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #5827
- build: bump fuxingloh/multi-labeler from 2 to 3 by @dependabot in #5828
- build: filter binaries for deb and rpm on release, fixes #5734 by @stasadev in #5759
- docs: find all DDEV binaries using
which -a ddev
by @stasadev in #5834 - docs: update the section about zsh completions by @rpkoller in #5825
- build: bump traefik to 2.11 by @nilsandresen in #5833
- refactor: update to Node.js v20 LTS as current default by @peter-neumann-dev in #5453
- docs: improve buildkite setup for WSL2 by @rfay in #5846
- docs: use PHP 8.3 for the TYPO3 Quickstart by @jonaseberle in #5842
- feat: change php default version to 8.2, fixes #5767 by @rfay in #5835
- docs: add maintainer docs about remote-config testing by @rfay in #5850
- test: silence docker scout nonsense in buildkite [skip ci] by @rfay in #5851
- docs: don't link check a couple of unstable external urls [skip ci] by @rfay in #5852
- fix: make
ddev --version
work even if not in project and ~/.ddev/commands not yet created by @rfay in #5854 - feat: replace fsouza/go-dockerclient with docker/docker/client, fixes #3460 by @stasadev in #5787
- docs: stop checking all stack overflow links by @rfay in #5858
- docs: mostly warn people off of using xdebug_ide_location by @rfay in #5857
- docs: add auto light / dark mode by @stasadev in #5853
- build: bump fuxingloh/multi-labeler from 3 to 4 by @dependabot in #5867
- docs: buildkite wsl2 setup learning by @rfay in #5864
- docs: stop checking link to community.chocolatey.org by @rfay in #5869
- test: stop testing TestAutocompletionForCustomCmds on Windows, fixes #5870 by @rfay in #5872
- fix: do not create project network programmatically on
ddev start
, fixes #5810 by @stasadev in #5848 - test: Minor improvement to TestComposerVersion by @rfay in #5879
- test: Fix TestPantheonPush, broken due to php8.2 default by @rfay in #5874
- fix: don't panic in app.Describe() if container not found by @rfay in #5873
- fix: ddev start should not continue if web/db containers aren't healthy by @rfay in #5871
- docs: fix 404 link in phpstorm docs by @rfay in #5881
- docs: Link to 'Upgrading DDEV' in 'Usage' section by @amanire in #5877
- fix: error message 'Error converting to int' on
ddev import-db
by @rfay in #5856 - fix: cache Docker client instead of creating a new one all the time, fixes #5861 by @stasadev in #5878
- test: exclude TestPHPOverrides on Colima and TestProcessHooks on Windows by @rfay in #5883
- fix: don't start 'mutagen daemon run' during ddev stop/delete by @rfay in #5868
- feat: change database default to mariadb:10.11, fixes #5797 by @rfay in #5836
- test: Run colima tests native instead of github, fixes #5598 by @rfay in #5886
- test: make sure buildkite leaves docker in sane setup by @rfay in #5897
- docs: point to HEAD version of TestSites array by @diegoe in #5895
- docs: show a warning banner for the latest docs (readthedocs+mkdocs) by @stasadev in #5855
- feat: change upgrade pester interval to 4 hours, for #5889 by @rfay in #5890
- feat: make
ddev composer create
fully compatible withcomposer create-project
by @gilbertsoft in #5058 - test: more buildkite work, windows not working [skip ci] by @rfay in #5902
- fix: set permissions on /run/php so php-fpm can run by @stasadev in #5900
- docs: update Debugging & Profiling for recent updates to phpstorm ui by @vanWittlaer in #5903
- docs: improve database type and version visibility by @tyler36 in #5884
- fix: make a copy of the bytes array before passing to the channel, fixes #5470 by @deviantintegral in #5893
- docs: add instructions for Grav CMS to quickstart.md by @rpkoller in #5796
- docs: add kirby to cms quickstart instructions by @texnixe in #5791
- docs: fix systemd unit example for casual hosting by @vanWittlaer in #5876
- refactor: point go code to the stable docs by @stasadev in #5905
- fix: ddev config should not change unspecified options, fixes #5882 by @stasadev in #5887
- docs: mention more Docker providers for macOS by @stasadev in #5914
- docs: Add Pimcore quickstart, fixes #5843 by @rfay in #5909
- docs: Use backticks when referencing custom command annotations, fixes #5820 by @GuySartorelli in #5927
- docs: update faq with new questions, fix menus by @rfay in #5924
- docs: fix extraneous '#' in FAQ by @rfay in #5930
- fix: magento2 requires mariadb 10.6, for #5919 by @rfay in #5922
- docs: remove 'just' by @rfay in #5933
- docs: standardize capitalization of Docker-ce by @tyler36 in #5934
- docs: use stable URL for 404 [skip ci] by @stasadev in #5931
- fix: add nginx support for webp images in hidden directory, sync nginx conf by @stephanie-ehrling in #5580
- feat: invoke dbeaver inside wsl2, fixes #5375 by @Brupes in #5916
- fix: don't call app.WriteConfig twice by @rfay in #5923
- fix: isMagento2App() ...