Ddev Versions Save

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

v1.22.5-rc1

5 months ago

Installation/Upgrade

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.)
  • 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/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version> - If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it.
  • 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.

Highlights:

  • Upsun by Platformsh provider integration using ddev pull upsun.
  • Rework Acquia provider integration, you can now use ddev pull acquia without editing the acquia.yaml file.
  • You can configure any node version (including unsupported versions and minor versions) with ddev config --nodejs-version <version>, thanks to @hanoii
  • A few DDEV users had problems with duplicate Docker networks, and that should be resolved here.

Behavior Changes:

  • ddev composer create no longer tries to remove your files if the project directory is not empty, thanks to @hanoii

Minor Notes:

  • The mailpit version is updated to latest, thanks to @syssi

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.5-alpha1...v1.22.5-rc1

v1.22.5-alpha1

6 months ago

This pre-release is very early, but the reason for it is to make it possible to do testing of an annoying but rare (Docker?) bug which results in ambiguous networks.

You're welcome to use this and it should be fine for all purposes, but it's wonderful for testing that the ambiguous networks problem is solved and maybe some other things:

Installation/Upgrade

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.)
  • 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/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version> - If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it.
  • 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.

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.4...v1.22.5-alpha1

v1.22.4

6 months ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2: Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous docker image versions. This does no harm.
  • Consider ddev config --auto to update your projects to current configuration.

Highlights:

Most of what you want to know is in the v1.22.0 release notes. This point release adds:

  • Amazee Lagoon provider integration with ddev pull lagoon and ddev push lagoon
  • PostgreSQL 16 support with ddev config --database=postgres:16
  • Linux and macOS: DBeaver database GUI support with ddev dbeaver, thanks to @MakerTim (If anyone wants to add Windows support, PRs are welcome.)
  • Improved Bash autocomplete, including your own custom commands.
  • Add output that the container images are being built on ddev start, thanks to @hanoii
  • The new ddev_version_constraint configuration allows requiring a specific DDEV version on a project. Thanks to @hanoii

Behavior Changes:

  • NodeJS 14 is EOL and has been removed (you can still install it with ddev nvm)
  • ddev share --subdomain <ngrok-subdomain> became ddev share --ngrok-args "--domain <ngrok-domain>"
  • The old feature that allowed Drupal 9/10 drush users to run drush on the host has been removed (https://github.com/ddev/ddev/pull/5328), so please use ddev drush or use drush inside the container. If you absolutely love running drush on the host side, the drushonhost add-on will let you still do that, https://github.com/rfay/ddev-drushonhost

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.3...v1.22.4

v1.22.4-alpha1

6 months ago

Installation/Upgrade

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.)
  • 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/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version> - If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it.
  • 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.

Highlights:

  • Amazee Lagoon provider integration with ddev pull lagoon and ddev push lagoon
  • PostgreSQL 16 support with ddev config --database=postgres:16
  • Linux and macOS: DBeaver database GUI support with ddev dbeaver, thanks to @MakerTim (If anyone wants to add Windows support, PRs are welcome.)
  • New Bash autocomplete, including your own custom commands.
  • Add output that the container images are being built on ddev start, thanks to @hanoii

Behavior Changes:

  • NodeJS 14 is EOL and removed (you can still install it with ddev nvm)
  • ddev share --subdomain <ngrok-subdomain> became ddev share --ngrok-args "--domain <ngrok-domain>"

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.3...v1.22.4-alpha1

v1.22.3

8 months ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev ).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too): Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous docker image versions. This does no harm.

Highlights:

Most of what you want to know is in the v1.22.0 release notes.

This is just a bugfix release to clean up a couple of mistakes in v1.22.2:

  1. The $DDEV_MAILHOG_PORT and $DDEV_MAILHOG_HTTPS_PORT environment variables have been reinstated. (They now point to the Mailpit process, but it's the same as it was). It was a mistake to remove those and they broke a few users with just a couple of DDEV add-ons. Note that it's still mailpit behind the curtain, but we don't want to break anything that was depending on DDEV_MAILHOG_PORT providing the port number.
  2. The host_webserver_port and host_https_port configurations were not functional in v1.22.2. This didn't affect many people but it made ddev launch fail on Gitpod and probably GitHub Codespaces.

What's Changed

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.2...v1.22.3

v1.22.2

8 months ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev ).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too): Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous docker image versions. This does no harm.

Highlights:

Most of what you want to know is in the v1.22.0 release notes. This point release adds:

  • Mailpit is used for capturing emails instead of the abandoned Mailhog. Almost everything works the same as it did, including ddev launch -m. However, if you were using the mailpit add-on from @tyler36 please remove it to avoid conflicts, ddev get --remove mailpit.
  • PHP8.3 support (PHP8.3-beta3), but there are still a number of extensions missing: apcu, imagick, memcached, redis, uploadprogress, xdebug, xhprof, xmlrpc.
  • MySQL 8.0 upgraded to 8.0.34
  • DDEV_HOST_WEBSERVER_PORT finally works after years. This will allow custom commands like ddev share but with services other than ngrok.
  • Custom mysql configuration on traditional Windows now works thanks to @rokclimb15
  • Improvements in GitHub Codespaces support, thanks to @mandrasch

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.1...v1.22.2

v1.22.1

9 months ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev ).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too): Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous docker image versions. This does no harm.

Highlights:

Most of what you want to know is in the v1.22.0 release notes but this tune-up release fixes a few frictions people encounted and adds explicit Silverstripe CMS support:

  • Silverstripe CMS support, thanks to @Firesphere
  • Move default Traefik monitoring port from 9999 to 10999 to avoid conflicts with other things that use 9999 (and make it configurable)

Minor

  • Fix upload_dirs default for Magento 2
  • Improve ddev debug test with ddev debug testcleanup
  • Fix broken use of hardened images with Drupal7
  • sendmail_path includes -t flag
  • Correct detection of xdebug port on (unsupported) Linux Colima
  • Fix serialize_precision value in ddev-webserver

What's Changed

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.0...v1.22.1

v1.22.0

9 months ago

Installation

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

  • macOS: brew install ddev/ddev/ddev or just brew upgrade ddev ).
  • Traditional Windows: Use choco upgrade -y ddev, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too): Use apt install ddev or apt upgrade ddev see apt/yum installation or use the install_ddev.sh: curl -fsSL <https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev.sh> | bash
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your $PATH where it belongs.
  • Consider ddev delete images or ddev delete images --all after upgrading to free up disk space used by previous docker image versions. This does no harm.

Highlights:

  • ddev get add-ons have many new improvements with tracking versions of add-ons, allowing removal, etc.
    • Warning: To see versions you have to update your add-on with ddev get after installing DDEV v1.22+
    • ddev get --installed shows installed add-ons with their versions
    • ddev get --version <someversion <some-add-on> will get a specific version of an add-on.
    • ddev get --installed shows installed add-ons and their versions.
    • ddev get --remove <add-on>
    • If you ddev get and add-on that has dependencies, you’ll be warned about the situation.
    • Note to Add-on maintainers: Check that the value of name is what you want it to be. In previous versions of DDEV this wasn’t actually used, and there are some odd values out there in some add-ons.
    • Note to Add-on maintainers: You now have the option of adding removal actions. If your add-on doesn’t just add listed files but also takes actions during installation, you can reverse those actions on removal.
  • Mutagen is now enabled by default on macOS and traditional Windows. It’s normally configured globally with performance_mode: mutagen , but can be overridden at the project level. performance_mode: nfs still works but is considered deprecated. (These used to be called mutagen_enabled and nfs_mount_enabled)
  • Traefik router is the default: The default router is now the traefik router, configured with ddev config global --router=traefik. The old router (now deprecated) can be enabled with ddev config global --router-nginx-proxy
  • Experimental Python/Django support: See docs.

Behavior Changes:

  • Changes to defaults on new projects:
    • nodejs_version defaults to 18
    • php_version defaults to 8.1
  • config.*.yaml no longer gitignored: .ddev/.gitignore no longer gitignores all config.*.yaml, now it just ignores config.local.yaml. Portions of people’s add-ons were inadvertently being gitignored and could be lost by teams.
  • PhpMyAdmin has been removed from DDEV core, so ddev launch -p no longer works, etc. If you’d like to use PHPMyAdmin, ddev get ddev/ddev-phpmyadmin and use ddev phpmyadmin.
  • Traefik is now the default router. If you want the traditional router, ddev config global --router=nginx-proxy
  • Traefik incompatible with disable_http2: If you need to disable_http2 in the global configuration, use the traditional router, ddev config global --router=nginx-proxy
  • Traefik router uses port 9999: If you have a custom service using port 9999, you'll have to either change the port used by the service or use the legacy nginix-proxy router, ddev config global --router=nginx-proxy
  • Mutagen is enabled by default on macOS and traditional Windows. Use ddev config global --performance-mode=none or ddev config global --performance-mode=nfs to change, and this can also be overridden on the project level.

Minor Notes:

  • ddev pantheon pull no longer requires an SSH key to be configured.
  • ddev pause has been removed
  • Multiple upload dirs: A project can now have multiple upload dirs are now supported, so a Drupal project, for example, could have upload_dirs: ["sites/default/files", "../private"] . ddev import-files has the new --target flag to specify which should be targeted on upload.
  • Craft CMS .env file creation improved; Craft 3 detected and folks are warned to use project type php.
  • post-stop hooks are no longer called if project is already stopped.
  • ddev list can now be filtered with ddev list --type=<projecttype>, thanks @cmuench
  • Tip of the Day: On ddev start there’s a tip of the day once a day. These come from [ddev/remote-config](https://github.com/ddev/remote-config/blob/main/remote-config.jsonc) and your suggestions and PRs are welcome. This can be turned off with ticker_interval: -1 in the messages section of ~/.ddev/global_config.yaml.
  • Global configuration for router_http_port and router_https_port. Note that project-level configuration still overrides the global configuration, and projects which were created prior to v1.22.0 will likely have project defaults, so you’ll need to remove the project defaults to use the global values.
  • MySQL updated to 8.0.33 and 5.7.42

Caveats:

  • Casual Webhosting: If you’re using the Casual Webhosting feature with Lets Encrypt, be aware that although router: traefik is the new default, the Traefik router does not yet have preconfigured Lets Encrypt capability. You’ll need to ddev config global --router=nginx-proxy
    • Default Traefik router uses port 9999: If you have a custom service using port 9999, you'll have to either change the port used by the service or use the legacy nginix-proxy router, ddev config global --router=nginx-proxy

What's Changed (WOW!)

New Contributors

Full Changelog: https://github.com/ddev/ddev/compare/v1.21.6...v1.22.0

v1.22.0-rc1

9 months ago

Installation/Upgrade

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.).
  • 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/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version> - If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it.
  • 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.

Highlights:

  • ddev get add-ons have many new improvements with tracking versions of add-ons, allowing removal, etc.
    • Warning: To see versions you have to update your add-on with ddev get after installing DDEV v1.22+
    • ddev get --installed shows installed add-ons with their versions
    • ddev get —version <someversion <some-add-on> will get a specific version of an add-on.
    • ddev get —installed shows installed add-ons and their versions.
    • ddev get —remove <add-on>
    • If you ddev get and add-on that has dependencies, you’ll be warned about the situation.
    • Note to Add-on maintainers: Check that the value of name is what you want it to be. In previous versions of DDEV this wasn’t actually used, and there are some odd values out there in some add-ons.
    • Note to Add-on maintainers: You now have the option of adding removal actions. If your add-on doesn’t just add listed files but also takes actions during installation, you can reverse those actions on removal.
  • Mutagen is now enabled by default on macOS and traditional Windows. It’s normally configured globally with performance_mode: mutagen , but can be overridden at the project level. performance_mode: nfs still works but is considered deprecated. (These used to be called mutagen_enabled and nfs_mount_enabled)
  • Traefik router is the default: The default router is now the traefik router, configured with ddev config global --router=traefik. The old router (now deprecated) can be enabled with ddev config global --router-nginx-proxy
  • Experimental Python/Django support: See docs.

Behavior Changes:

  • Changes to defaults on new projects:
    • nodejs_version defaults to 18
    • php_version defaults to 8.1
  • config.*.yaml no longer gitignored: .ddev/.gitignore no longer gitignores all config.*.yaml, now it just ignores config.local.yaml. Portions of people’s add-ons were inadvertently being gitignored and could be lost by teams.
  • PhpMyAdmin has been removed from DDEV core, so ddev launch -p no longer works, etc. If you’d like to use PHPMyAdmin, ddev get ddev/ddev-phpmyadmin and use ddev phpmyadmin.
  • Traefik is now the default router. If you want the traditional router, ddev config global --router=nginx-proxy
  • Traefik incompatible with disable_http2: If you need to disable_http2 in the global configuration, use the traditional router, ddev config global --router=nginx-proxy
  • Mutagen is enabled by default on macOS and traditional Windows. Use ddev config global --performance-mode=none or ddev config global --performance-mode=nfs to change, and this can also be overridden on the project level.

Minor Notes:

  • ddev pantheon pull no longer requires an SSH key to be configured.
  • ddev pause has been removed
  • Multiple upload dirs: A project can now have multiple upload dirs are now supported, so a Drupal project, for example, could have upload_dirs: ["sites/default/files", "../private"] . ddev import-files has the new --target flag to specify which should be targeted on upload.
  • Craft CMS .env file creation improved; Craft 3 detected and folks are warned to use project type php.
  • post-stop hooks are no longer called if project is already stopped.
  • ddev list can now be filtered with ddev list --type=<projecttype>, thanks @cmuench
  • Tip of the Day: On ddev start there’s a tip of the day once a day. These come from [ddev/remote-config](https://github.com/ddev/remote-config/blob/main/remote-config.jsonc) and your suggestions and PRs are welcome. This can be turned off with ticker_interval: -1 in the messages section of ~/.ddev/global_config.yaml.
  • Global configuration for router_http_port and router_https_port. Note that project-level configuration still overrides the global configuration, and projects which were created prior to v1.22.0 will likely have project defaults, so you’ll need to remove the project defaults to use the global values.
  • MySQL updated to 8.0.33 and 5.7.42

Caveats:

  • Casual Webhosting: If you’re using the Casual Webhosting feature with Lets Encrypt, be aware that although router: traefik is the new default, the Traefik router does not yet have preconfigured Lets Encrypt capability. You’ll need to ddev config global --router=nginx-proxy

What's Changed

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.0-beta4...v1.22.0-rc1

v1.22.0-beta4

10 months ago

Highlights of this release

  • MySQL updated to 8.0.33 and 5.7.42
  • Better handling on detection of Craft CMS 3, better Craft CMS .env variable creation and management
  • Bugfixes, especially a mutagen sync failure in some situations
  • post-stop hooks aren't called if project is already stopped
  • If project type is php but another project type is detected, it doesn't automatically switch to the other project type. #1919
  • Mutagen is enabled by default on macOS and traditional Windows. Uses new performance-mode configuration flag
  • Multiple upload_dirs can be configured, `ddev config --upload-dirs=dir1,dir2,...
  • Removed ddev pause
  • PhpMyAdmin is removed from DDEV core, use ddev get ddev/ddev-phpmyadmin if you like it.
  • Traefik is now the default router, ddev config --router=...
  • Python and Django support
  • Filtering ddev list with ddev list --type=<projecttype>, thanks @cmuench
  • drush8 is updated to 8.4.12 (only useful for Drupal 7 users)
  • Verbose logging by default for Drupal 7+ users, thanks @RobLoach
  • Add basic-auth flag to ngrok by @stasadev
  • Support for multiple upload dirs
  • Show a tip of the day on start once a day
  • Plenty of bugfixes and docs fixes

Caveats

Installation/Upgrade

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.).
  • 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/ddev/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh <version> - If you already had ddev installed otherwise, uninstall or unlink first. If you prefer to use a package, download the deb file from this release and install it.
  • 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.

What's Changed

Full Changelog: https://github.com/ddev/ddev/compare/v1.22.0-beta3...v1.22.0-beta4