Installation
See the installation instructions for details, but it's easy:
- macOS:
brew install ddev/ddev/ddev
or justbrew upgrade ddev
. - Linux: Use
apt install ddev
orapt upgrade ddev
see apt/yum installation - Windows and WSL2: Download the
ddev_windows_amd64_installer.exe
below; you can run it for install or upgrade. - 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 Installer handling Traditional Windows, WSL2/Docker CE, and Docker/Rancher Desktop. Read more, with video
- Support added for MariaDB 11.8 LTS,
ddev config --database=mariadb:11.8
- New
ddev-hostname
binary for hosts editing (with improved elevation/escalation technique) (gsudo
is no longer required on Windows, andddev.exe
installation is no longer required on Windows WSL2. Read more - New Linux
ddev-wsl2
package is built specifically for WSL2 and includes Windows-side binaries, so separate upgrading of Windows-side binaries is not needed - WSL2 Mirrored Mode now has automated testing
- New minimally supported Docker providers:
- Docker Desktop for Linux - has had limited manual testing only; prefer the documented
docker-ce
installation - Rancher Desktop for Windows - has had limited manual testing only; currently the only open-source provider on traditional Windows
- It's recommended to run
ddev delete images
after the upgrade
Breaking Changes
- If you rely on
## Flags
annotation in custom commands, there is a change: unknown flags will no longer be parsed and will causeError: unknown flag
orError: unknown shorthand flag
. Either define all possible flags explicitly or remove the## Flags
annotation.
Features
- Enhanced Docker images cleanup in
ddev delete images
,ddev delete
,ddev clean
- Shell completion support for flags in
ddev config
andddev config global
- New
DDEV_USER
environment variable for use in custom.ddev/docker-compose.*.yaml
files ddev launch
in WSL2 works without installingxdg-utils
(which can be safely removed on existing installations after update)- Support for
NO_COLOR
variable, see UsingNO_COLOR
Inside Containers - Return real exit code from
ddev exec
and add quiet-q
flag to it, thanks to @andreashager
Bug Fixes
- Fix
ddev composer create-project
to acceptstdin
- Remove unused Node.js version cache in
ddev-global-cache
Docker volume, thanks to @lozcalver - Add overrides from all
.ddev/config.*.yaml
files to.DdevProjectConfig
(used in Go templates, see example) - Make
--json-output
/-j
work as expected for debug/verbose output. - Fix issue where the
db
container couldn't restart alone when extra config was present in.ddev/mysql/*.cnf
, thanks to @das-peter
Minor Updates
- PHP 8.3.23 and 8.4.10
- Xdebug 3.4.4
docker-compose
v2.38.2- Update
debian-archive-keyring
for EOL database images (mysql:5.5
,mysql:5.6
,postgres:9
,postgres:10
,postgres:11
) - Display user defined
router-compose.*.yaml
andssh-auth-compose.*.yaml
duringddev start
- Align Craft CMS quickstart with official docs, thanks to @AugustMiller
- Normalize default values in
ddev help config
andddev help config global
What's Changed
- build: apply more staticcheck rules from golangci-lint, fixes [#7155] by @stasadev in https://github.com/ddev/ddev/pull/7317
- docs: trailing whitespace on template by @hanoii in https://github.com/ddev/ddev/pull/7321
- build: update debian-archive-keyring for archived debian repos, fixes [#7320] by @stasadev in https://github.com/ddev/ddev/pull/7324
- docs: use latest markdownlint, update "here" links by @stasadev in https://github.com/ddev/ddev/pull/7327
- feat: prune orphaned Node.js versions after install, fixes [#7325] by @lozcalver in https://github.com/ddev/ddev/pull/7326
- docs: add tip on initial PhpStorm plugin setup by @stasadev in https://github.com/ddev/ddev/pull/7331
- refactor: improve message about missing docroot on
ddev start
by @stasadev in https://github.com/ddev/ddev/pull/7332 - docs: clarify instructions for using PhpStorm inside WSL2 by @pbowyer in https://github.com/ddev/ddev/pull/7333
- fix: make
ddev composer create-project
work with stdin by @stasadev in https://github.com/ddev/ddev/pull/7336 - docs: update
vendor/bin/composer
examples, for [#6772] by @stasadev in https://github.com/ddev/ddev/pull/7344 - docs: align Craft CMS quickstart with official documentation by @AugustMiller in https://github.com/ddev/ddev/pull/7323
- docs: update ngrok link by @tyler36 in https://github.com/ddev/ddev/pull/7359
- feat: display user-defined
router-compose.*.yaml
onddev start
by @stasadev in https://github.com/ddev/ddev/pull/7355 - test: update check for starter page in Silverstripe CMS by @stasadev in https://github.com/ddev/ddev/pull/7368
- fix: Allow Docker Desktop for Linux (DDFL) but warn about it, fixes [#7307] by @rfay in https://github.com/ddev/ddev/pull/7363
- build: Update google/go-github to v72, remove obsolete dependencies, replaces [#7369] by @rfay in https://github.com/ddev/ddev/pull/7370
- feat: add
DDEV_USER
env var forweb
container user, sync env tests with docs by @stasadev in https://github.com/ddev/ddev/pull/7365 - feat: Support new LTS MariaDB 11.8 by @rfay in https://github.com/ddev/ddev/pull/6983
- refactor: clarify comment on legacy PostgreSQL, for [#7324] by @stasadev in https://github.com/ddev/ddev/pull/7382
- build: use yaml/go-yaml instead of unmaintained yaml.v3, fixes [#7280] by @rfay in https://github.com/ddev/ddev/pull/7381
- feat: add shell completion for
ddev config
andddev config global
by @stasadev in https://github.com/ddev/ddev/pull/7356 - docs: improve xhgui documention, fixes [#7376] by @michaellenahan in https://github.com/ddev/ddev/pull/7377
- fix: Remove COMPOSE_CONVERT_WINDOWS_PATHS to make Rancher Desktop (Windows) work by @rfay in https://github.com/ddev/ddev/pull/7375
- build: bump ddev-webserver and ddev-traefik-router, for [#7282] by @stasadev in https://github.com/ddev/ddev/pull/7378
- test: Add testing for wsl2 mirrored networking, fixes [#7379] by @rfay in https://github.com/ddev/ddev/pull/7380
- test: remove
TestCmdAddon
leftovers in~/.ddev
by @stasadev in https://github.com/ddev/ddev/pull/7387 - feat: display user-defined
ssh-auth-compose.*.yaml
onddev start
by @stasadev in https://github.com/ddev/ddev/pull/7388 - feat: improve images cleanup in
ddev delete images
,ddev delete
,ddev clean
, fixes [#5073], fixes [#7201] by @stasadev in https://github.com/ddev/ddev/pull/7151 - refactor: normalize defaults in
ddev help config
andddev help config global
, update docs by @stasadev in https://github.com/ddev/ddev/pull/7386 - build: remove go-homedir, fixes [#7366] by @rfay in https://github.com/ddev/ddev/pull/7390
- test: use
main
for setup-homebrew action instead ofmaster
by @chenrui333 in https://github.com/ddev/ddev/pull/7395 - build: upgrade mapstructure to v2 by @dolmen in https://github.com/ddev/ddev/pull/7396
- test: use bats-core/bats-core homebrew tap instead of kaos by @rfay in https://github.com/ddev/ddev/pull/7405
- fix: treat argument as literal in
ddevcd
despite leading dash by @stasadev in https://github.com/ddev/ddev/pull/7401 - fix: make DdevProjectConfig include overrides, fixes [#7154] by @stasadev in https://github.com/ddev/ddev/pull/7397
- feat: Improve elevation/escalation for hosts editing, including WSL2, fixes [#6440], fixes [#5324] by @rfay in https://github.com/ddev/ddev/pull/7392
- test: Pin umbrelladocs/action-linkspector@v1.2.5 temporarily to sort out failures [skip buildkite] by @rfay in https://github.com/ddev/ddev/pull/7411
- docs: Improve windows install docs by @rfay in https://github.com/ddev/ddev/pull/7410
- fix: make xdg-utils optional, use explorer.exe on WSL2 [skip buildkite] by @rfay in https://github.com/ddev/ddev/pull/7402
- test: Ignore existing golangci-lint/revive package complaints by @rfay in https://github.com/ddev/ddev/pull/7415
- ci: use
skip-package-name-checks
, pingolangci-lint
to v2.2.1, removeonly-new-issues
, for [#7415] by @stasadev in https://github.com/ddev/ddev/pull/7416 - build: bump umbrelladocs/action-linkspector from 1.2.5 to 1.3.5 by @dependabot[bot] in https://github.com/ddev/ddev/pull/7417
- fix: route all logging through
output
to respect--json-output
by @stasadev in https://github.com/ddev/ddev/pull/7403 - docs: add blog and add-on registry to navigation by @stasadev in https://github.com/ddev/ddev/pull/7427
- build: Use new cooldown to slow dependabot updates [skip ci] by @rfay in https://github.com/ddev/ddev/pull/7425
- feat: add
NO_COLOR
variable support, fixes [#7058] by @stasadev in https://github.com/ddev/ddev/pull/7419 - refactor: centralize table style configuration by @stasadev in https://github.com/ddev/ddev/pull/7434
- fix: use
output.UserOut
for JSON output, retry on invalid input in interactiveddev config
, for [#7403] by @stasadev in https://github.com/ddev/ddev/pull/7433 - build: drop direct dependency on
github.com/pkg/errors
by @stasadev in https://github.com/ddev/ddev/pull/7432 - feat: add JSON output to
ddev -v
by @stasadev in https://github.com/ddev/ddev/pull/7431 - refactor: move
ddevapp.RenderHomeRootedDir
tofileutil.ShortHomeJoin
by @stasadev in https://github.com/ddev/ddev/pull/7430 - docs: add Terminus downgrade tips, fixes [#7352] by @bserem in https://github.com/ddev/ddev/pull/7353
- feat: return real exit code from
ddev exec
and add quiet flag to it, fixes [#3518] by @andreashager in https://github.com/ddev/ddev/pull/7385 - fix: Include ddev-hostname in main build zipballs, fixes [#7420] by @rfay in https://github.com/ddev/ddev/pull/7443
- feat: Windows Native and WSL2 GUI installer by @rfay in https://github.com/ddev/ddev/pull/7404
- build: bump github.com/spf13/cobra to latest commit, fixes [#7361] by @stasadev in https://github.com/ddev/ddev/pull/7445
- fix: avoid mutating input slice in
cmd.prettyCmd()
by @stasadev in https://github.com/ddev/ddev/pull/7448 - fix: remove unneeded
ddev-hostname
dependencies to reduce size, fixes [#7408], fixes [#7444] by @stasadev in https://github.com/ddev/ddev/pull/7446 - fix: Improve Windows installer behavior (actually exit on errors) by @rfay in https://github.com/ddev/ddev/pull/7452
- docs: add info about proxy for Docker client, fixes [#7412] by @stasadev in https://github.com/ddev/ddev/pull/7454
- docs: How to use Xdebug with Composer for plugin development by @obriat in https://github.com/ddev/ddev/pull/7423
- fix: show errors for custom commands when flags are parsed, fixes [#7409] by @stasadev in https://github.com/ddev/ddev/pull/7451
- build: Add a ddev-wsl2 package especially for ddev-hostname.exe, fixes [#7428] by @rfay in https://github.com/ddev/ddev/pull/7449
- fix: temporarily allow write to
/etc/mysql/conf.d/*
fordb
container restart, fixes [#7457] by @das-peter in https://github.com/ddev/ddev/pull/7458 - test: do tests of windows installer, fixes [#7440] by @rfay in https://github.com/ddev/ddev/pull/7459
- fix: Windows installer shouldn't be so aggressive in removing CAROOT by @rfay in https://github.com/ddev/ddev/pull/7461
- build: bump images to v1.24.7 for release, docker-compose v2.38.2 (
COMPOSE_BAKE=false
), fixes [#7383] by @stasadev in https://github.com/ddev/ddev/pull/7456 - docs: add
.wslconfig
example for mirrored networking mode in WSL2 by @stasadev in https://github.com/ddev/ddev/pull/7463 - docs: minor update to manual ddev instructions and use apt-get by @rfay in https://github.com/ddev/ddev/pull/7465
New Contributors
- @lozcalver made their first contribution in https://github.com/ddev/ddev/pull/7326
- @chenrui333 made their first contribution in https://github.com/ddev/ddev/pull/7395
- @dolmen made their first contribution in https://github.com/ddev/ddev/pull/7396
- @obriat made their first contribution in https://github.com/ddev/ddev/pull/7423
- @das-peter made their first contribution in https://github.com/ddev/ddev/pull/7458
Full Changelog: https://github.com/ddev/ddev/compare/v1.24.6...v1.24.7