github ddev/ddev v1.22.0-rc1

latest releases: v1.23.5, feature_install-ddev_v1.23.5, v1.23.4...
pre-release15 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

  • build: bump actions/setup-python from 4.6.1 to 4.7.0 by @dependabot in #5153
  • docs: add messages configuration to config.md by @rfay in #5156
  • docs: add v1.22 to version-history [skip ci] by @rfay in #5155
  • ci: stop caching colima and homebrew on colima by @rfay in #5157
  • fix: settings for django need to import os, fixes #5123 by @rfay in #5152
  • fix: default_container_timeout should actually work, fixes #5133 by @rfay in #5154
  • fix: revert "refactor: start reporting all commands to amplitude" by @rfay in #5163
  • docs: fix broken link on docker by @rfay in #5166
  • docs: update outdated reference to Drupal 9 in phpunit section by @rfay in #5165
  • fix: bad link was output when asking permission on instrumentation by @rfay in #5170
  • fix: don't report json-formatted commands to Amplitude by @rfay in #5169
  • fix: don't run MutagenSyncFlush on non-running project during config, fixes #5168 by @rfay in #5175
  • fix: show docker platform in ddev describe by @rfay in #5176
  • fix: correctly return notification and ticker interval, fixes #5177 by @gilbertsoft in #5178
  • build: bump docker image tags for v1.22.0 by @rfay in #5179

Full Changelog: v1.22.0-beta4...v1.22.0-rc1

Don't miss a new ddev release

NewReleases is sending notifications on new releases.