github ddev/ddev v1.23.0

23 days ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2: Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: 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 or ddev 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:

  • Drupal 11 support, including corepack support with corepack_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+.
  • 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 with composer create-project, thanks @gilbertsoft !
  • ddev launch can open full URLs ddev launch https://ddev.com and custom website ports ddev 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 like ddev config --auto, but ddev 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:

  • Check your .ddev/config.yaml, namely webimage_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, the curl 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 the XHPROF_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, run ddev 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: 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 with composer 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() should detect version 2.4.5+, update test URLs by @Morgy93 in #5804
  • fix: make the primary URL https if the custom cert exists by @tbmatuka in #5684
  • build: use correct key pattern for blackfire, fixes #5929 by @rfay in #5944
  • docs: some fixes for the cms quickstarts, fixes #5919 by @rpkoller in #5935
  • docs: Improve magento2 quickstart and remember composer auth by @rfay in #5932
  • fix: Adds text/javascript MIME type to gzip_types and mod_deflate.conf, fixes #5937 by @mmikkel in #5938
  • fix: Don't kill supervisord when processes exit, for #5906, fixes #5358 by @stasadev in #5936
  • feat: Add native lima Docker provider support by @rfay in #5892
  • docs: Improve suggestions about WSL2 docker options by @rfay in #5952
  • docs: change recommendation for colima to vz by @rfay in #5948
  • fix: just delete compose orphans, fixes #5755 by @rfay in #5950
  • docs: explain how to delete snapshots by @rfay in #5961
  • fix: ddev debug test should check to make sure project is in homedir, for #3679 by @rfay in #5956
  • docs: be more explicit about where projects go in home dir by @rfay in #5955
  • fix: remove mutually exclusive COMPOSE_IGNORE_ORPHANS variable, for #5950 by @stasadev in #5957
  • fix: remove debug code, fixes #5942 by @rfay in #5959
  • docs: Use mysql:8.0 instead of mariadb for ExpressionEngine quickstart by @ssssct in #5965
  • docs: update ddev-drupal9-solr to ddev-drupal-solr by @rfay in #5972
  • feat: Laravel 11 support, fixes #5962 by @stasadev in #5963
  • fix: Rewrite ComposeCmd() with just dots goroutine, fixes #5913 by @rfay in #5964
  • build: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #5970
  • fix: Build and run with race detection by @deviantintegral in #5901
  • test: fix broken if for race-detection and add doc on BUILDARGS by @rfay in #5983
  • docs: add disk space and memory check to troubleshooting by @rfay in #5980
  • docs: add tip about using 0.0.0.0 not localhost by @rfay in #5981
  • test: disable TestPHPConfig on Lima/Colima by @rfay in #5982
  • build: bump docker-compose to v2.25.0 by @rfay in #5939
  • test: Check goroutine count on several tests at completion, fixes #5920 by @rfay in #5975
  • refactor: standardize suggested commands for container log, fixes #5899 by @stasadev in #5978
  • feat: accept full URLs in ddev launch, fixes #5685 by @stasadev in #5986
  • fix: make ddev launch test work on Windows, for #5986 by @stasadev in #5999
  • build: show gitpod testing link in PR comment by @rfay in #5989
  • fix: Revert setting 192.168.5.2 for host.docker.internal on colima, fixes #5537 by @rfay in #5994
  • build: turn off verbose output of make build [skip ci] by @rfay in #5992
  • build: use new go-based platform.sh CLI, fixes #4668 by @rfay in #5995
  • docs: Fix "webimage_extra_packages" code example by @tyler36 in #6005
  • test: minor updates to buildkite testbot_maintenance.sh [skip ci] by @rfay in #6007
  • feat: add PR build link to test on Codespaces [skip ci] by @rfay in #6010
  • fix: use natural sort for project+database types, fixes #3561 by @rfay in #6001
  • docs: stop recommending colima by @rfay in #6008
  • build: bump docker library to v26.0.0 by @stasadev in #6000
  • fix: hide obsolete ddev config --http-port by @rfay in #6009
  • build: use the official script to install Upsun by @stasadev in #6003
  • feat: remove segment.io support, fixes #5365 by @rfay in #5997
  • fix: add restart for database commands after ddev start, fixes #5949 by @stasadev in #5976
  • fix: improve ddev debug test, fixes #3679, fixes #5345, fixes #5376 by @rfay in #6002
  • feat: add cakephp project type, fixes #5713 by @ajibarra in #5888
  • build: bump docker-compose to v2.26.0 by @stasadev in #6015
  • feat: provide corepack_enable config, fixes #5987, replaces #5988 by @rfay in #6012
  • fix: make TestCmdDebugTest work on trad Windows by @rfay in #6017
  • docs: update dev docs to run mkdocs locally [skip buildkite] by @rfay in #6016
  • fix: alphabetize global config storage and output, fixes #5046 by @rfay in #5998
  • feat: Add a drupal project type that handles Drupal8-11, fixes #4957 by @rfay in #5991
  • 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
  • fix: Fix spelling for DEBUG_KIT_SAFE_TLD env variable by @ajibarra in #6054
  • feat: copy commands into volume, not into project, for #4416 by @GuySartorelli in #5753
  • docs: fix the scroll margin for links with anchors, for #6048 by @stasadev in #6059
  • docs: several maintenance items by @rfay in #6057
  • docs: update FAQs on Chrome, large webserver, php-patch-build by @rfay in #6056
  • docs: clarify additional compose service configuration by @manuelmeister in #6019
  • docs: add instruction how to update add-ons by @mscieszka in #5990
  • fix: Update defaults for config overrides by @rfay in #6058
  • build: bump all images to v1.23.0 by @rfay in #6062
  • feat: accept port in ddev launch, for #5525 by @stasadev in #6024
  • feat: add pint command to laravel projects by @penyaskito in #6020
  • fix: provide example .ddev/php folder and README, fixes #6052 by @rfay in #6063
  • docs: Improve ddev_version_constraint by @rfay in #6064
  • feat: add Docker API version to ddev version by @stasadev in #6065
  • build: bump docker-compose to v2.26.1 by @stasadev in #6066
  • test: Remove docker login from buildkite tests by @rfay in #6074
  • test: Fix TestPHPOverrides on Windows by @rfay in #6075
  • build: fix deprecated goreleaser configs, fixes #6049 [skip ci] by @rfay in #6076
  • docs: limactl create needs --name=default, fixes #6068 by @rfay in #6073
  • docs: add more examples how to use ddev nvm, fixes #6013 by @stasadev in #6067
  • docs: Add drupal9/11 tabs and symfony to quickstart by @rfay in #6060
  • feat: Add symfony cli by @rfay in #6080
  • docs: Replaced --target-db by --database by @pcambra in #6084
  • build: pin blackfire to working package, fixes #6078 by @rfay in #6079
  • feat: add ddev debug capabilities with corepack, version-history.md, fixes #6051 by @rfay in #6077
  • feat: Add ddev config --update flag, fixes #6035 by @penyaskito in #6055
  • fix: revert additions to php/craftcms expires in nginx-site.conf, fixes #6087 by @rfay in #6093
  • fix: use ip route show default to get WSL2 addr of windows by @rfay in #6094
  • fix: don't label transient containers and run without healthcheck, fixes #6085 by @rfay in #6089
  • docs: Updates to the quickstarts by @rpkoller in #6095
  • feat: update JSON schemas for global config and project/app config, fixes #6097, fixes #6100 by @stasadev in #6099
  • fix: update links for stable documentation by @stasadev in #6104
  • fix: add Docker filter by label without value, fixes #6088 by @stasadev in #6098
  • docs: updates to the quickstarts, for #6095 by @stasadev in #6107
  • build: Update to latest ddev-webserver prior to v1.23.0 release, fixes #6086 by @rfay in #6105

New Contributors

Full Changelog: v1.22.7...v1.23.0

Don't miss a new ddev release

NewReleases is sending notifications on new releases.