github ddev/ddev v1.19.0
v1.19.0: `ddev get`, Postgresql, Colima

latest releases: v1.23.4, v1.23.3, v1.23.2...
2 years ago

Highlights

  • ddev get for new supported, maintained recipes for redis, solr, and more.
  • Postgresql support
  • Colima support for an alternative to Docker Desktop on macOS.

Installation/Upgrade

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

  • macOS: brew install drud/ddev/ddev or just brew upgrade drud/ddev/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it: ./install_ddev.sh or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh (If you already had ddev installed with homebrew you'll want to brew unlink ddev first.)
  • 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.

🚛 Key changes

  • ddev get --list automatically shows available add-ons for ddev
  • ddev debug dockercheck and ddev debug test for troubleshooting and reporting.
  • Easier to change $PATH inside container using .bashrc.d
  • ddev exec and and lots of other commands like ddev mysql and ddev drush and ddev php now behave much better with quoted arguments, see #2547.
  • Postgres is now supported (versions 9-14) as well as MariaDB and MySQL. ddev config --database=postgres:14. import-db, export-db, snapshot, and snapshot restore work. (Snapshots don't work with postgres:9).
  • ddev get will now download and install a maintained, supported, and tested recipe for add-ons like services, custom commands and provider integrations, see docs.
  • ddev service enable and ddev service disable now enable and disable add-on services.
  • You can now run ddev without Docker Desktop on both macOS and Windows.
    • Colima support on macOS works great. Note that Colima is a newish project and may experience instability, but it seems to work wonderfully. 🙏🏼 to Tag1 Consulting for sponsoring this feature!
    • On Windows you can install docker inside wsl2 instead of using Docker Desktop.
  • DDEV now can work with a remote docker instance.
  • DDEV now supports docker contexts and the $DOCKER_HOST environment variable.
  • You can now install the current HEAD version of ddev with brew unlink ddev && brew install --HEAD drud/ddev/ddev
  • Bare in-container hostnames: You can (once again) use in-container hostnames like db or solr without having to use fully-qualified names like ddev-<project>-db. Thanks to @jonaseberle for heroic work pioneering a path forward for this, it will make using DDEV easier for everybody.
  • You can remove all links: sections from custom service definitions that mapped a service name onto itself (e.g. links: solr:solr). This used to be needed to prioritize name resolving inside the project, but it's now taken care of by a project-local network. (However, these links: lines do no harm.)
  • WordPress default configuration is significantly improved thanks to @timnolte.
  • Database snapshots are now gzipped, resulting in perhaps 20x size difference. A snapshot that used to use 207MB on disk is now 5MB.
  • When you’re using mutagen (and haven’t modified the .ddev/mutagen/mutagen.yml) ddev does a regular docker mount of your upload_dir (like sites/default/files on Drupal) instead of allowing mutagen to sync it. This means that the docker volume used for mutagen (and mutagen’s cache) use far less of your disk space.
  • A new ddev php command is available to run php with any args you want. It runs php inside the web container.
  • composer_root is now configurable and doesn’t have to be in project root. Thanks to @gilbertsoft!

Minor changes

  • Hook information like "Running ... " for a hook doesn't show by default now. If you want to see it you can export DDEV_DEBUG=true
  • ddev start and ddev import-db now use an absolute value when checking for available disk space, rather than a percentage. This should make things easier for Linux and Windows/WSL2 users.
  • Bundled docker-compose version changes to v2.2.3 to fix a bug.

⚠️ Caveats

  • Most of you who have mutagen enabled on existing projects will want to rm .ddev/mutagen/mutagen.yml and ddev mutagen reset. You don't have to delete the file if the existing one has #ddev-generated in it (hasn't been altered).
  • Users with exotic workarounds to the previous bash-interpreted strings for composer and exec commands will have to simplify them.
  • Alpha testers will have a bad ~/.ddev/commands/web/php that should be removed (and will automatically be replaced)
  • Customized script commands like drush or php won't be replaced by ddev, so you may want to rm them. So for example, if you have a ~/.ddev/commands/web/drush or <project>/.ddev/commands/web/drush that does not have #ddev-generated in it, then you'll want to remove it or update it.
  • ddev no longer pesters about overridden commands (when project has a drush command that overrides the global drush command, for example)
  • xdebug now connects to the new standard port 9003 instead of port 9000. With PhpStorm this should be invisible to all, since it listens on both ports. With vscode you may have to edit the launch.json file, see https://ddev.readthedocs.io/en/latest/users/snippets/launch.json
  • With Colima you cannot mount single files into a container. This means that the traditional docker-compose.solr.yaml can't work, because it tries to mount a single file. However, the soon-to-be-standard ddev-contrib solr recipe should work because it doesn't try to mount a single file.
  • docker 19.03.9 or higher is now required.

🙏🏼🙏🏼Thanks!

What's Changed

New Contributors

Full Changelog: v1.18.2...v1.19.0

Don't miss a new ddev release

NewReleases is sending notifications on new releases.