github ddev/ddev v1.23.0-rc1

latest releases: v1.23.0, v1.23.0-rc2
pre-release28 days ago

Installation

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

  • macOS: brew install ddev/ddev-edge/ddev or just brew upgrade ddev/ddev-edge/ddev (You may need a brew 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 with corepack_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 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.
  • And many, many bug fixes, docs, etc.

Breaking Changes:

  • Check your .ddev/config.yaml, namely webimage_extra_packages and dbimage_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.
  • 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 the XHPROF_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 #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

New Contributors

Full Changelog: v1.22.7...v1.23.0-rc1

Don't miss a new ddev release

NewReleases is sending notifications on new releases.