Skip to content

Releases: ddev/ddev

v1.24.2: MySQL 8.4 support, improved ddev composer create

20 Jan 21:17
4de8645
Compare
Choose a tag to compare

Installation

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

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

  • Support for MySQL 8.4: DDEV now uses bitnami/mysql as the base image for mysql:8.x.
  • Improved argument handling for ddev composer create: The ddev composer create-project alias has been added for better usability.
  • Global DDEV commands available inside the web container: Commands like ddev xdebug toggle can now be run directly within the web container, e.g., simply use xdebug toggle.
  • New ddev mariadb command: The ddev mysql command remains available for MariaDB users, but you can now also use ddev mariadb. (MariaDB is moving away from having mysql in the names of its commands.)

Breaking Changes:

  • ddev config location restriction: You can no longer run ddev config from the parent directory of a project, preventing accidental setups in incorrect locations.

Behavior Changes:

  • Subdirectory support for ddev config: You can now run ddev config in the subdirectories of an existing project, aligning it with other DDEV commands.
  • Improved database output: The environment variable PAGER="less -SFX" has been added to both the web and db containers for cleaner database output. You can modify or disable this behavior by setting export DDEV_PAGER="" outside of DDEV. Thanks to @tyler36.

Bug Fixes:

  • OpenSSH certificates for ddev auth ssh: Fixed missing OpenSSH certificates when using ddev auth ssh.
  • ddev pull acquia fix for multiple databases, thanks to @charginghawk.
  • A fix for Drupal 7 settings.ddev.php prevents problems with Mutagen not being able to update settings.php after doing a Drupal installation. Thanks to @eporama.
  • The nginx-site.conf was not being properly updated for projects of type drupal and drupal11, causing problems during update.php.

Minor Updates:

  • PHP 8.3.16 and 8.4.3.
  • A dummy ddev command is available inside the web container to help users understand the context they're working in.
  • Laravel Installer quickstart.
  • Drupal CMS quickstart, thanks to @rpkoller.
  • CiviCRM Standalone quickstart, thanks to @gitressa.
  • Repository update: The master branch of the ddev/ddev repository has been renamed to main.
  • Quickstarts in docs can now have automated tests, and the Drupal, Backdrop, WordPress, and TYPO3 examples already do, thanks to @rpkoller.
  • CI status added to Amplitude instrumentation, so we can exclude/count usages when projects are run in CI. Thanks to @IndraGunawan.

What's Changed

  • test: Add configuration verification tests for mariadb and mysql by @rfay in #6831
  • docs: buildkite lima setup needs --mount-writable by @rfay in #6833
  • docs: how to add unsupported PHP versions without ddev config, fixes #6835 by @stasadev in #6836
  • docs: Remove run-ddev-on-old-mac from faq by @rfay in #6843
  • fix: don't copy Dockerfiles to *imageBuild folder, add examples to assets, fixes #6757 by @stasadev in #6810
  • fix: mount OpenSSH certificate for auth ssh, fixes #6832 by @stasadev in #6837
  • build: reorganize ddev-webserver packages, add vim alternative, fixes #6840 by @wazum in #6839
  • feat: accept all args in ddev composer create, add create-project alias, fixes #6766 by @stasadev in #6784
  • feat: Add pager to database output by @tyler36 in #6842
  • fix: add CI to instrumentation tags by @IndraGunawan in #6834
  • fix: Use bitnami/mysql as base for mysql:8.x images, and support MySQL 8.4, fixes #6241, fixes #6511 by @rfay in #6589
  • build: bump go-pretty and x/crypto, fixes #6844 by @rfay in #6849
  • fix: remove nfs setup script from install_ddev.sh [skip ci] by @rfay in #6855
  • docs: add Laravel Installer quickstart by @stasadev in #6850
  • test: Use linkspector instead of markdown-link-check, fixes #6859 by @rfay in #6860
  • docs: bump mkdocs/readthedocs dependencies for python 3.13 by @stasadev in #6862
  • docs: Update mkdocs installation as docker doesn't work [skip ci] by @rfay in #6864
  • docs: Add link to hostnames article on ddev.com by @rfay in #6863
  • docs: Add a quickstart for drupal cms by @rpkoller in #6829
  • docs: add CiviCRM Standalone to quickstart.md by @gitressa in #6846
  • docs: Add database management examples including how to create empty database by @gitressa in #6848
  • build: new ddev mariadb command, adjust ~/.my.cnf to always use root, hide some Docker build warnings, fixes #6462 by @stasadev in #6851
  • test: Minor updates to linux-setup.sh by @rfay in #6869
  • test: get more disk space on hosted runner, switch to ubuntu 24.04, fixes #6865 by @rfay in #6866
  • build: dependabot complaint about net/html by @rfay in #6867
  • test: Add bats test coverage for backdrop quickstart, for #6222 by @rfay in #6868
  • docs: add setup step for macOS test runners (full disk access) [skip ci] by @rfay in #6871
  • docs: Update maintained date to 2025 in README [skip ci] by @rfay in #6877
  • fix: Make xhprof-prepend.php mount writable, for #3782 by @rfay in #6873
  • docs: Add funding.json to apply for funding via floss.fund [skip ci] by @rfay in #6878
  • docs: Stop checking stopwords 'just' and 'simply' [skip ci] by @rfay in #6881
  • refactor: rename branch master to main, fixes #6476 by @stasadev in #6876
  • fix: In acquia.yaml, specify default site source for ddev pull acquia. by @charginghawk in #6874
  • feat: disable ddev config in parent folders of a project, but allow it in subfolders, fixes #6783, fixes #5493 by @stasadev in #6852
  • fix: Fix Acquia push, Minor cleanup in provider integrations [skip buildkite] by @rfay in #6883
  • fix: DB container: Remove MYSQL_PWD, use ARG in mysql/mariadb Dockerfile, remove OPTIMIZE TABLES, fixes #6886 by @rfay in #6887
  • test: Quickstart tests for TYPO3 quickstart by @rpkoller in #6895
  • test: Use new ddev/test-typo3 repo for automated testing of typo3 by @rfay in #6896
  • docs: replace GOOS and GOARCH for a DDEV_ alternative, for #6752 by @stasadev in #6901
  • docs: Improve windows buildkite setup workflow by @rfay in #6889
  • docs: change the quickstart repo for typo3 to test-typo3 by @rpkoller in #6904
  • feat: override PAGER with DDEV_PAGER env variable, for #6842 by @stasadev in #6900
  • refactor: remove outdated move-issue config , fixes #6899 by @tyler36 in #6906
  • test: Improve WP quickstart and add wordpress bats tests by @rpkoller in #6897
  • test: Add bats test coverage for Drupal Core and Drupal CMS quickstarts by @rpkoller in #6893
  • fix: provide a dummy ddev command inside container, allow web commands there, fixes #6574 by @rfay in #6902
  • build: bump docker-compose to 2.32.4 by @rfay in #6905
  • test: add force flag to the remove cmd and a fixed dl link to the latest version of Drupal CMS by @rpkoller in #6907
  • fix: remove noise from docker-compose on build and reformat ddev start output, for #6905 by @stasadev in #6909
  • test: some tests should skip skippable testsites by @rfay in #6914
  • fix: update Drupal 7 settings.ddev.php and settings.php to match Drupal 7.103 by @eporama in #6913
  • fix: nginx-site-drupal11.conf wasn't being installed, fixes #6910 by @rfay in #6911
  • build: bump images to v1.24.2 for release by @stasadev in #6915

New Contributors

Full Changelog: v1.24.1...v1.24.2

v1.24.1: More default locales, Quickstart improvements, bugfixes

10 Dec 07:39
4936e69
Compare
Choose a tag to compare

Installation

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

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

Bug Fixes:

  • Unsupported PHP (< 8.1) couldn't be installed in environments requiring additional SSL certificates, thanks @TerrorSquad !
  • Reverted pinned SQLite 3.45.1 (leave it only for Drupal 11), which could block some package installations.

Changes:

  • Added more default locales: es_ES, es_MX, pt_PT, and pt_BR, thanks @jonhattan !
    If you want more, use webimage_extra_packages: ["locales-all"] in .ddev/config.yaml.
  • Show system databases for MySQL in ddev dbeaver.
  • Improved Silverstripe CMS quickstart, thanks @GuySartorelli !
  • Fixed some quickstarts.

What's Changed

  • fix: show system databases in DBeaver, add more Windows binaries, fixes #6730, fixes #6654 by @stasadev in #6805
  • fix: improve ddev debug test by @stasadev in #6801
  • build: extend default locales with es_ES, es_MX, pt_PT and pt_BR by @jonhattan in #6804
  • fix: move pre.Dockerfile injection before installing PHP by @TerrorSquad in #6809
  • test: Stop testing for NFS capability by @rfay in #6813
  • docs: use shortlink for discord access by @rfay in #6819
  • fix: remove python leftovers, for #6733 by @stasadev in #6815
  • feat: add CLI completion for sake for Silverstripe CMS 6+ (plus some docs changes) by @GuySartorelli in #6814
  • refactor: pre-download sqlite3 3.45.1 for Drupal 11, fixes #6807 by @stasadev in #6817
  • fix: unset DDEV_NONINTERACTIVE in Gitpod by @stasadev in #6823
  • fix: correct panic on ddev describe on gitpod by @rfay in #6821
  • test: Remove a couple of tests from lima/colima/rancher execution by @rfay in #6826
  • fix: show correct warning for Dockerfiles in web-build and db-build by @stasadev in #6824
  • build: bump images to v1.24.1 for release by @stasadev in #6825
  • docs: update magento2, pimcore, sulu quickstarts by @stasadev in #6822

New Contributors

Full Changelog: v1.24.0...v1.24.1

v1.24.0: PHP8.4.1, Stasadev Birthday Release!

03 Dec 03:59
c6aacd6
Compare
Choose a tag to compare

Highlights:

This is a major version of DDEV, with some changes in defaults.

  • PHP 8.4.1 is included, with all of the normal extensions, including Xdebug.
  • The drupal11 project type is added, and the drupal project type simply becomes an alias for it.
  • ddevcd command can be used to switch between projects. See ddev debug cd.
  • The ddev-webserver image is at least 25% smaller. Only a few locales are included by default, and only currently-supported versions of PHP are built in by default (but all the other versions still work). It was 480MB compressed, is now 361MB compressed.
  • ddev auth ssh can now be used with individual key files and can follow symlinks. This is really nice for people with many SSH keys that have passwords, because you can just add the key you want, instead of having it add all the keys in the ~/.ssh folder. For example, ddev auth ssh -f ~/.ssh/id_rsa or ddev auth ssh -f ~/.ssh/id_rsa -f ~/.ssh/second_key.
  • Explicit support for the symfony project type, thanks to @IndraGunawan!

Change in defaults:

  • PHP 8.3 becomes the default for new projects for most project types. As always, you can set the php_version to anything from 5.6 to 8.4.
  • Node.js 22 becomes the default nodejs_version unless configured otherwise in the project's .ddev/config.yaml. As always, you can specify any nodejs_version down to the patch level, for example, nodejs_version: 23 or nodejs_version: 21.7.3.

Questions

Do I have to change how I use the drupal project type?
If your project is actually a Drupal 11 project, there's no reason to make any changes. If your project is Drupal 8-10, you may want to change it to project type drupal10, for example although there's no meaningful difference in this release.
What if I want more locales than the ones provided by default?
The default locales installed in the web container for v1.24.0 are en_CA.UTF-8, en_US.UTF-8, en_GB.UTF-8, de_DE.UTF-8, de_AT.UTF-8, fr_CA.UTF-8, fr_FR.UTF-8, ja_JP.UTF-8, ru_RU.UTF-8. If you need other locales, all locales will be installed if you add locales-all to your webimage_extra_packages in .ddev/config.yaml For example, webimage_extra_packages: ["locales-all"]. (If you use other locales that you think should be added by default, we're happy to hear about them.)
What should I do after upgrading DDEV?
DDEV will already ask you to do a ddev poweroff, but consider doing a ddev config --update on your projects. This will auto-detect your project type and required PHP version. It may switch the drupal type to drupal10 or drupal11.

Installation

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

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

Reversions and removals:

  • drupal project type is no longer a generic project type, but instead is an alias to latest stable Drupal (drupal11 right now)
  • In v1.23.5 we started preferring vendor/bin/composer to the specified composer_version but users thought that was a mistake, so this was reverted
  • The nginx-proxy router has been removed.
  • The ddev service enable and ddev service disable commands were deprecated, as they have long been superseded by the use of ddev add-on get and ddev add-on remove
  • Removed support for Python and Django4 projects.

Behavior Changes and Smaller Items:

  • Added dynamic timeout handling for scripts on start based on setting of default_container_timeout.
  • ddev describe changes how exposed ports are displayed for better clarity (thanks @hanoii)
  • Only a limited set of locales is now installed in ddev-webserver by default. If you need more, use webimage_extra_packages: [locales-all]
  • Complex ddev composer command usage with json or args with spaces is fixed. (Bug was introduced in v1.23.5)

What's Changed

  • build: make latest tag same hash, push latest for most by @rfay in #6622
  • docs: separate Debian and Homebrew install instructions for previous DDEV versions, link to it from Building, Testing, and Contributing page by @gitressa in #6631
  • build: disable repo tagging for devcontainers, for #6613 [skip ci] by @stasadev in #6625
  • docs: add docker volumes to ddev uninstall docs by @IanEdington in #6632
  • build: update Gitpod ports, update Gitpod README.md, for #6613 [skip ci] by @stasadev in #6624
  • docs: Fix copy-paste error in add-on list docs by @GuySartorelli in #6637
  • build: try new mutagen 0.18.0 by @rfay in #6648
  • fix: make drupal detection only detect drupal8+ by @rfay in #6652
  • build: bump actions/setup-python from 5.2.0 to 5.3.0 [skip ci] by @dependabot in #6658
  • fix: help mutagen work with Drupal's read-only settings files, fixes #6491 by @rfay in #6529
  • fix: improve ddev describe output for HTTP only, fixes #6661 by @stasadev in #6662
  • refactor: add drush and composer command aliases, fixes #6642 by @TravisCarden in #6649
  • fix: validate --all flag with args in ddev delete, for #6209 by @stasadev in #6650
  • build: bump docker-compose to 2.30.0 by @rfay in #6664
  • fix: composer revert Cmd back to RawCmd and add PATH env, for #6604, fixes #6628 by @stasadev in #6627
  • docs: update link to Backdrop documentation, fixes #6573 by @jenlampton in #6666
  • docs: mention how to use xdebug with drush 13+ by @hanoii in #6626
  • feat: ignore config..local.yml by @hanoii in #6634
  • refactor: install limited locales by default, provide configuration for additional locales, for #5984 by @deviantintegral in #6570
  • test: tests.yml needs to check out full depth [skip ci] by @rfay in #6673
  • feat: add ddev debug match-constraint by @hanoii in #6645
  • feat: add ddev cd command, fixes #6639 by @stasadev in #6644
  • build: Improve ddev-php-base and ddev-webserver image build by @rfay in #6672
  • test: run full tests that are sometimes short-circuited by @rfay in #6693
  • test: Try to get lima and colima sane with LIMA_SSH_PORT_FORWARDER by @rfay in #6697
  • docs: note that setting a nodejs version always downloads something by @deviantintegral in #6684
  • docs: Add Contao recipe to Quickstarts by @fkaminski in #6674
  • docs: use apache-fpm for Kirby CMS by @stasadev in #6698
  • feat: add WordPress WP_ENVIRONMENT_TYPE support to wp-config-ddev.php by @graham73may in #6695
  • docs: rearrange documentation on making PRs by @joachim-n in #6676
  • build: Remove unsupported PHP versions by default, fixes #5984 by @rfay in #6691
  • fix: expand ~/bin in PATH and ensure consistency in subshells, for #6627 by @stasadev in #6689
  • fix: match snapshot using full filename, fixes #6694 by @castanearie in #6704
  • fix: escape dollar sign $ properly in .env, for #6406, fixes #6683 by @stasadev in #6687
  • build: fix static errors from golangci-lint by @stasadev in #6710
  • test: Fix TestGetAllURLs failure on tb-wsldd-16 by @rfay in #6708
  • fix: use /usr/bin/env bash instead of direct /bin/bash in scripts by @rfay in #6706
  • fix: not-included PHP version should work with webimage_extra_packages by @rfay in #6707
  • fix: use TARGETARCH instead of TARGETPLATFORM in user Dockerfiles by @stasadev in #6711
  • refactor: use n install --cleanup by @stasadev in #6712
  • feat: allow files and symlinks in ddev auth ssh, fixes #5465, fixes #6677 by @stasadev in #6678
  • fix: update usage syntax for ddev exec, fixes #6660 by @stasadev in #6715
  • fix: Improve clarity in explanation by removing awkward 'normally', fixes #6723 by @wazum in #6724
  • docs: Update schema.json to include cakephp project type by @arodu in #6713
  • docs: fix 8.3 typo and adding PHP version strategy by @gitressa in #6721
  • fix: make "Shopware Update" work with nginx, fixes #6656 by...
Read more

v1.23.5: Automatic ports, automatic timezones, Windows ARM64

17 Oct 12:59
f2db51c
Compare
Choose a tag to compare

Installation

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

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

  • 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 explicit timezone 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 to ddev add-on and into sub-commands, thanks @GuySartorelli !
  • ddev get is deprecated, use ddev add-on instead. (Note that ddev get is still supported, with a deprecation notice, and will be supported for a long time.)
  • New --project flag for ddev add-on commands, thanks @GuySartorelli !
  • Build warnings for things like updating Composer or installing the appropriate database client to ddev-webserver are now displayed during ddev 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 to ddev debug rebuild, with more features, see ddev help debug rebuild. The old command was changed to an alias.
  • bash-completion package is added to ddev-webserver.
  • vim is replaced with vim-tiny in ddev-webserver, thanks @deviantintegral !
  • If you composer-install composer/composer, that version of composer will now be used by ddev composer, overriding any configured composer_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 for web and db 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 to ddev 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 to ddev 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 every ddev 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 on ddev start, add ddev dotenv, add variable expansion to ddev 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...
Read more

v1.23.4

06 Aug 09:59
5011706
Compare
Choose a tag to compare

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-get install ddev or apt-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 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 --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 or package.json with ddev 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 in db 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, add N_PREFIX cache, replace node repo with n, 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 for artisan, 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

Full Changelog: v1.23.3...v1.23.4

v1.23.3: Fix results upstream Debian changes: [Errno 13] Permission denied: '/var/log/supervisord.log'

03 Jul 03:21
88e20f4
Compare
Choose a tag to compare

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-get install ddev or apt-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 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 --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

Full Changelog: v1.23.2...v1.23.3

v1.23.2: MariaDB Dump BC Break recovery

14 Jun 02:09
375963b
Compare
Choose a tag to compare

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-get install ddev or apt-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 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 --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 for web 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

Read more

v1.23.1

16 May 18:31
217d9c7
Compare
Choose a tag to compare

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-get install ddev or apt-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 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 --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

Full Changelog: v1.23.0...v1.23.1

v1.23.0: Drupal 11 support, new "drupal" project type, corepack, yarn v4, new defaults

17 Apr 05:05
d13479b
Compare
Choose a tag to compare

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-get install ddev or apt-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 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 --update 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+. If you are updating to use type: drupal you may want to use ddev_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 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:

  • If you update to the new drupal project type, use ddev_version_constraint: '>= v1.23.0' as well to notify users of older DDEV versions what the problem is.
  • 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...
Read more

v1.23.0-rc2

15 Apr 21:54
a0620b8
Compare
Choose a tag to compare
v1.23.0-rc2 Pre-release
Pre-release

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 https://github.com/ddev/dde...
Read more