ddev

Docker-based local PHP+Node.js web development environments

APACHE-2.0 License

Stars
2.4K
Committers
316

Bot releases are visible (Hide)

ddev - v1.20.0

Published by rfay about 2 years ago

Highlights

  • Improved nodejs support. You can now run a nodejs daemon with simple config.yaml support (web_extra_daemons) and if it listens on a port you can expose it via ddev-router with web_extra_exposed_ports. (Both of these features can be used for daemons other than nodejs daemons.)
  • The default PHP version for new projects is now 8.0; the default database version is now MariaDB 10.4.
  • config.*.yaml are now merged instead of just overwriting other values. For example, if config.yaml has hooks, and config.something.yaml has hooks, the values will be merged, getting all of the hooks. Scalar values (like php_version, for example) still are overwritten by the last value loaded. Thanks @torenware!
  • ddev craft command is now included for projects of type php. Thanks @bencroker!
  • ddev npm and ddev yarn use the relative path in the project for execution inside the container, thanks @hanoii!
  • The platform.sh provider integration has been updated so it doesn’t require any editing of files at all, just setting a couple of environment variables. This is the future for all of the provider integrations; there’s no reason why files should have to be modified.
  • Major rewrite/reorganization of the the docs. Where there were problems with flow because DDEV supports so many different platforms, tabs were employed. There are still problems with navigation and search as a result of this, and your contributions are welcome.

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 apt-get install ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL https://raw.githubusercontent.com/drud/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.

Minor changes

  • Configuration support for all composer self-update version formats in config.yaml.
  • Mutagen bumped to v1.15.0
  • docker-compose bumped to 2.9.0
  • nodejs_version 12 and 17 were removed as options since they are now out of support. However, ddev nvm will still work for any node version you may want.

Caveats

  • The new behavior of merging config.yaml and config.*.yaml may affect some projects, but it also opens many new possibilities and resolves a number of workaround issues.
  • ddev npm and ddev yarn now by default operate in the relative directory they’re invoked in. If you are depending on the old behavior of operating in the project root or working_dir, please adjust with args to the commands.
  • If you already have a .ddev/providers/platform.yaml then make sure it doesn’t have #ddev-generated in it, or it will be replaced by the default one. Or go with the new approach, which requires no file editing.
  • nodejs_version: 12 is no longer allowed, nor is nodejs_version: 17 since both are out of support. Use ddev nvm if you need those versions.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.5...v1.20.0

ddev - v1.19.5

Published by rfay over 2 years ago

Highlights

  • Most of what you want to know is in the v1.19.0, v1.19.1, v1.19.2, and v1.19.3 release notes.
  • Linux users get apt and yum repositories,
  • PHP updated to latest minor versions. (Note that v1.20.0, coming soon, will change default PHP to php8.0 and default MariaDB to 10.4)
  • pre-Dockerfiles: v1.19.3 added .ddev/web-build/Dockerfile.* but there are some things people have to do in a build before anything else, like adding proxy information or installing a CA. Thanks to @hanoii !
  • Container Wait Timeout is improved so a long ddev snapshot restore doesn't tell you it timed out. Thanks to feature sponsorship by Tag1 Consulting.
  • Docs rewrite and reorganization. There's more to go, your contributions are welcome!
  • More ddev-get processing features
  • ddev npm command`, thanks @dingman.
  • Acquia Integration updated and speeded up and now acli in the web container is the current version
  • Massive rework of release process

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.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.3...v1.19.5

ddev - v1.19.4: Apt/Yum repos, pre-dockerfiles

Published by rfay over 2 years ago

Highlights

  • Most of what you want to know is in the v1.19.0, v1.19.1, v1.19.2, and v1.19.3 release notes.
  • Linux users get apt and yum repositories,
  • PHP updated to latest minor versions. (Note that v1.20.0, coming soon, will change default PHP to php8.0 and default MariaDB to 10.4)
  • pre-Dockerfiles: v1.19.3 added .ddev/web-build/Dockerfile.* but there are some things people have to do in a build before anything else, like adding proxy information or installing a CA. Thanks to @hanoii !
  • Container Wait Timeout is improved so a long ddev snapshot restore doesn't tell you it timed out. Thanks to feature sponsorship by Tag1 Consulting.
  • Docs rewrite and reorganization. There's more to go, your contributions are welcome!
  • More ddev-get processing features
  • ddev npm command`, thanks @dingman.
  • Acquia Integration updated and speeded up and now acli in the web container is the current version
  • Massive rework of release process

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.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.3...v1.19.4

ddev - v1.19.4-alpha5

Published by rfay over 2 years ago

This is a test release. The v1.19.4 release will be coming shortly.

ddev - v1.19.4-alpha4

Published by rfay over 2 years ago

This is a test release. v1.19.4 will be released soon.

ddev - v1.19.4-alpha3

Published by rfay over 2 years ago

Please ignore this for now. It's part of release testing.

What's Changed

Full Changelog: https://github.com/drud/ddev/compare/v1.19.4-alpha1...v1.19.4-alpha3

ddev - v1.19.4-alpha2

Published by rfay over 2 years ago

Please ignore this prerelease. It's part of the testing process for new release deployment workflow.

ddev - v1.19.4-alpha1

Published by rfay over 2 years ago

Please ignore this prerelease, as it's more of a test than a release.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.3...v1.19.4-alpha1

ddev - v1.19.3: Interactive ddev start/stop, Multiple Dockerfiles

Published by rfay over 2 years ago

Highlights

  • Most of what you want to know is in the v1.19.0 and v1.19.1 release notes.
  • Interactive project selection on ddev start -s and ddev stop -s - you can choose which project you want to start or stop from the listed projects. Thanks to @cmuench !
  • Multiple Dockerfiles: The .ddev/web-build and .ddev/db-build directories can now contain multiple Dockerfiles named Dockerfile, Dockerfile.<anything>. This makes it easier for DDEV add-ons to add to the docker build without breaking existing configuration, like config.*.yaml does. Thanks to @hanoii !

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.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.2...v1.19.3

ddev - v1.19.2: MariaDB 10.7, nodejs 18

Published by rfay over 2 years ago

Highlights

  • Most of what you want to know is in the v1.19.0 and v1.19.1 release notes.
  • mariadb:10.7 is now available as a database type
  • New ddev debug refresh command to clear Docker's cache for composer-not-updating or related build issues.
  • nodejs 18 is now supported in nodejs_version.
  • ddev snapshot --all can now snapshot running and non-running projects, thanks to @mikebarkas!
  • ddev config --web-environment-add and ddev config global --web-environment-add now allow adding to existing environment variables, instead of just replacing them. Thanks to @justafish!
  • MariaDB 10.3 new projects once again have the expected utf8mb4 character set and collation by default.
  • The default TYPO3 mysql/mariadb driver is the correct mysqli instead of mysql.

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.

⚠️ Caveats

  • If you created a project with v1.19.1 and MariaDB 10.3, your character set and collation may not be the expected utf8mb4. If this is important to you, you'll probably want to ddev export-db, ddev delete and then start and re-import. You can tell whether this happened to you using ddev mysql -e 'SELECT @@character_set_database, @@collation_database;'

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.1...v1.19.2

ddev - v1.19.1: more compression options, ddev clean

Published by rfay over 2 years ago

Highlights

  • Most of what you want to know is in the v1.19.0 release notes.
  • import-db, export-db, and import-files now accept xz and bzip2 compression, thanks to weareb13 for sponsoring this feature.
  • ddev clean will clean up project usage like snapshots and old images thanks to @mikebarkas
  • ddev composer create works on traditional Windows again.

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.

⚠️ 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).

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.19.0...v1.19.1

ddev - v1.19.0: `ddev get`, Postgresql, Colima

Published by rfay over 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!

  • Tag1 Consulting sponsored Colima support and some of the ddev get work, two more great features (after mutagen, mysql for arm64 and ddev xhprof!)
  • So much careful testing and contributions by @rpkoller @gilbertsoft, @jonaseberle @shaal @tyler36 and a cast of thousands. THANK YOU!

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0

ddev - v1.19.0-rc4: Prep release

Published by rfay over 2 years ago

This is just a last dry-run to make sure the v1.19.0 release build is going to go through.

ddev - v1.19.0-rc3: composer_root

Published by rfay over 2 years ago

Highlights of this prerelease

  • The composer.json location in the project is now configurable with composer_root in .ddev/config.yaml or ddev config --composer-root. Yay and hooray to @gilbertsoft for doing this and pushing it in.
  • There were bugs with the hardened images built, and the $NVM_DIR had to be put where it belongs in the home directory.
  • There was a bug with docker-compose v2.2.2 causing abandoned containers, so moved to docker-compose v2.2.3. There was a bug there with a panic when no terminal context. Worked around that bug and stuck with v2.2.3.
  • Other more minor bugfixes

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-rc3 - 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 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 https://github.com/drud/ddev/issues/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 yet).
  • 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.
  • 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.
  • You can now specify the location of the composer.json by using composer_root in .ddev/config.yaml or ddev config --composer-root=

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

⚠️ Caveats

  • 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.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-rc2

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-rc3

ddev - v1.19.0-rc2: Improve ddev-nvm, cleanup

Published by rfay over 2 years ago

Highlights of this release

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-rc2 - 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 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 https://github.com/drud/ddev/issues/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 yet).
  • 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.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.

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

⚠️ Caveats

  • 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.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-rc2

ddev - v1.19.0-rc1: ddev get --list, nodejs configuration and nvm

Published by rfay over 2 years ago

Highlights of this release

  • ddev get --list automatically shows available add-ons for ddev
  • The "system" nodejs configuration is configurable in .ddev/config.yaml, and ddev nvm allows choosing any node version. (nvm is in web container everywhere).
  • ddev debug dockercheck and ddev debug test for troubleshooting and reporting.
  • Easier to change $PATH inside container using .bashrc.d
  • You no longer need to add an explicit networks: section to every add-on service, ddev does this for you. Existing add-on services that do have the networks section from earlier pre-releases will still work fine.

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-rc1 - 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 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 https://github.com/drud/ddev/issues/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 yet).
  • 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.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.

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

⚠️ Caveats

  • 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.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-rc1

ddev - v1.19.0-alpha5: Improved `ddev exec` behavior

Published by rfay over 2 years ago

Highlights of this release

  • ddev exec and lots of other commands like ddev mysql and ddev drush and ddev php now behave much better with quoted arguments.

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-alpha5 - 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 after upgrading to free up disk space used by previous docker image versions. This does no harm.

🚛 Key changes

  • 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 https://github.com/drud/ddev/issues/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 yet).
  • 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.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.
  • Networking:
    • There is now a dedicated project-local network which is managed by docker-compose. All project services are in that network by default, even without any networks: stanza. From inside docker-compose.*.yaml files you would refer to it as default. Its global docker network name is ddev-<projectname>_default. This change allowed us to make sure that name resolving would always prioritize project-local services.
    • There is a new network named ddev, created automatically on ddev start. Its default function is that it is the network which contains ddev-router. As such you have to add it to all services to it that need to be reached by the router, which normally means 3rd-party services that have HTTP_EXPOSE in them. (see "caveats")
    • This network is also reused for inter-project communication (for example a db that you want to access as ddev-<projectname>-db from another project during upgrading). See "caveats" on how to enable cross-project access.

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

⚠️ Caveats

  • 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
  • A new networks stanza needs to be added to all 3rd-party docker-compose.*.yaml services that use HTTP_EXPOSE (like solr) or that want to be reached from other ddev projects (If you are unsure, add the stanza. It does not hurt):
      networks: [default, ddev_default]
    
  • 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.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-alpha5

ddev - v1.19.0-alpha4: Postgres support throughout

Published by rfay over 2 years ago

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-alpha4 - 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 after upgrading to free up disk space used by previous docker image versions. This does no harm.

🚛 Key changes

  • 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 yet).
  • 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.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.
  • Networking:
    • There is now a dedicated project-local network which is managed by docker-compose. All project services are in that network by default, even without any networks: stanza. From inside docker-compose.*.yaml files you would refer to it as default. Its global docker network name is ddev-<projectname>_default. This change allowed us to make sure that name resolving would always prioritize project-local services.
    • There is a new network named ddev, created automatically on ddev start. Its default function is that it is the network which contains ddev-router. As such you have to add it to all services to it that need to be reached by the router, which normally means 3rd-party services that have HTTP_EXPOSE in them. (see "caveats")
    • This network is also reused for inter-project communication (for example a db that you want to access as ddev-<projectname>-db from another project during upgrading). See "caveats" on how to enable cross-project access.

≏ Minor changes

  • WSL2 xdebug problems: As also released in v1.18.3-alpha1, a bug affected some users. There was new code to detect when WSL2 was running with Docker Desktop, and it wasn't robust enough, so didn't properly detect Docker Desktop in some cases. That meant that xdebug debugging could fail for people on WSL2+Docker Desktop.
  • See Changes in v1.19.0-alpha1

⚠️ Caveats

  • 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
  • A new networks stanza needs to be added to all 3rd-party docker-compose.*.yaml services that use HTTP_EXPOSE (like solr) or that want to be reached from other ddev projects (If you are unsure, add the stanza. It does not hurt):
      networks: [default, ddev_default]
    
  • 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.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-alpha4

ddev - v1.19.0-alpha3: ddev get and ddev service enable

Published by rfay over 2 years ago

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, 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 with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-alpha3 - 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 after upgrading to free up disk space used by previous docker image versions. This does no harm.

🚛 Key changes

  • 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.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.
  • Networking:
    • There is now a dedicated project-local network which is managed by docker-compose. All project services are in that network by default, even without any networks: stanza. From inside docker-compose.*.yaml files you would refer to it as default. Its global docker network name is ddev-<projectname>_default. This change allowed us to make sure that name resolving would always prioritize project-local services.
    • There is a new network named ddev, created automatically on ddev start. Its default function is that it is the network which contains ddev-router. As such you have to add it to all services to it that need to be reached by the router, which normally means 3rd-party services that have HTTP_EXPOSE in them. (see "caveats")
    • This network is also reused for inter-project communication (for example a db that you want to access as ddev-<projectname>-db from another project during upgrading). See "caveats" on how to enable cross-project access.

≏ Minor changes

  • WSL2 xdebug problems: As also released in v1.18.3-alpha1, a bug affected some users. There was new code to detect when WSL2 was running with Docker Desktop, and it wasn't robust enough, so didn't properly detect Docker Desktop in some cases. That meant that xdebug debugging could fail for people on WSL2+Docker Desktop.
  • See Changes in v1.19.0-alpha1

⚠️ Caveats

  • 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
  • A new networks stanza needs to be added to all 3rd-party docker-compose.*.yaml services that use HTTP_EXPOSE (like solr) or that want to be reached from other ddev projects (If you are unsure, add the stanza. It does not hurt):
      networks: [default, ddev_default]
    
  • 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.
  • There are loads of significant changes here, including how docker works and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-alpha3

ddev - v1.19.0-alpha2: Xdebug port 9003, bind-mount files with mutagen

Published by rfay almost 3 years ago

Installation/Upgrade

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

  • macOS Linux, and WSL2 Homebrew (ddev-edge channel only): brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, or download the ddev_windows_installer below.
  • Linux or WSL2 and macOS with the install_ddev.sh script: Download the script, make it executable, and run it with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-alpha2
  • 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.

🚛 Key changes

  • You can now run ddev without Docker Desktop on both macOS and Windows.
    • Experimental colima support on macOS works great. Note that Colima is a new 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.
  • Networking:
    • There is now a dedicated project-local network which is managed by docker-compose. All project services are in that network by default, even without any networks: stanza. From inside docker-compose.*.yaml files you would refer to it as default. Its global docker network name is ddev-<projectname>_default. This change allowed us to make sure that name resolving would always prioritize project-local services.
    • There is a new network named ddev, created automatically on ddev start. Its default function is that it is the network which contains ddev-router. As such you have to add it to all services to it that need to be reached by the router, which normally means 3rd-party services that have HTTP_EXPOSE in them. (see "caveats")
    • This network is also reused for inter-project communication (for example a db that you want to access as ddev-<projectname>-db from another project during upgrading). See "caveats" on how to enable cross-project access.

≏ Minor changes

  • WSL2 xdebug problems: As also released in v1.18.3-alpha1, a bug affected some users. There was new code to detect when WSL2 was running with Docker Desktop, and it wasn't robust enough, so didn't properly detect Docker Desktop in some cases. That meant that xdebug debugging could fail for people on WSL2+Docker Desktop.
  • See Changes in v1.19.0-alpha1

⚠️ Caveats

  • 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
  • A new networks stanza needs to be added to all 3rd-party docker-compose.*.yaml services that use HTTP_EXPOSE (like solr) or that want to be reached from other ddev projects (If you are unsure, add the stanza. It does not hurt):
      networks: [default, ddev_default]
    
  • 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.
  • There are loads of significant changes here, including how docker works and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

🙏🏼🙏🏼🙏🏼 Thanks!

  • Tag1 Consulting sponsored the mutagen + remote docker work. Thanks!
  • Thanks in advance to all of you edge users who will test out this prerelease.

What's Changed

New Contributors

Full Changelog: https://github.com/drud/ddev/compare/v1.18.2...v1.19.0-alpha2