Skip to content

v1.20.0

Compare
Choose a tag to compare
@rfay rfay released this 04 Aug 03:55
· 1164 commits to master since this release
f4e9b2a

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

  • [docs] Fix linting problem, reorganize docker and ddev installation sections by @rfay in #4015
  • Colima update to hopefully fix #4022 by @rfay in #4024
  • [docs] Add headers inside all tabs, for #4019 by @rfay in #4028
  • [docs] Update the README.md install link by @Furo42 in #4020
  • Bump gitpod usage of ddev to use apt and apt-get upgrade it [skip ci] by @rfay in #4018
  • Composer should fail if patches fail by @AronNovak in #3795
  • [docs] Say how to switch to apt install on linux by @rfay in #4025
  • Bump default php to 8.0, MariaDB to 10.4, add Maria 10.8 by @rfay in #4012
  • Fix typo in mariadb values for 10.8 arm64 by @rfay in #4031
  • Properly ignore temporary .importdb* folder by @gilbertsoft in #4030
  • Improve release with goreleaser cleanups, fixes #4021 by @gilbertsoft in #4027
  • Merge the contents of config.yaml and config.*.yaml, fixes #3598 by @torenware in #3983
  • Bump yq in container to current version by @rfay in #4039
  • GetComposerRoot uses relative path to working_dir, should be approot by @rfay in #4038
  • [docs] Directly run installer script by @gilbertsoft in #4023
  • Custom command for Craft CMS "craft" utility by @bencroker in #4040
  • Give more error info on bin/magento failure by @rfay in #4041
  • Skip option validation for composer create-project by @gilbertsoft in #4033
  • Add support for all composer self-update version formats by @gilbertsoft in #3812
  • Updating the link to the logos, fixes #4034 by @RCheesley in #4048
  • [docs] Fix broken link, fixes #4044 by @RCheesley in #4050
  • Bump mutagen to 0.15.0, fixes #4029 by @rfay in #4042
  • Add NODE_EXTRA_CA_CERTS to web container, fixes #4032 by @rfay in #4049
  • Bump docker-compose to 2.7.0 by @rfay in #4052
  • ddev get should run with project running, to avoid mutagen problems by @rfay in #4054
  • Persist yarn and npm caches, clean up ddev-global-config on delete, add $USER to web env, fixes #3666 by @rfay in #4051
  • [docs] Implement temporarily fix for nested tab navigation by @mikesnoeren in #4046
  • Bump docker-compose again to 2.8.0 since they released that by @rfay in #4056
  • Bump docker-compose again to 2.9.0 since they released that (#4056) by @rfay in #4062
  • [docs] Mention use of upload_dir for TYPO3 projects with nonstandard fileadmin by @Kayu84 in #4061
  • Allow proxying arbitrary ports and starting daemons, more explicit nodejs support, fixes #3456 by @rfay in #4057
  • [docs] Fix typo in docker-installation.md by @adamgross42 in #4064
  • Support for HostWorkingDir commands directive (ddev npm and ddev yarn use relative dir) by @hanoii in #4016
  • Bump images for v1.20.0 by @rfay in #4067
  • Regresssion: Handle single port in HTTP_EXPOSE or HTTPS_EXPOSE in determineRouterPorts() by @rfay in #4065
  • Modernize and simplify the Platform pull/push/tests by @rfay in #4068
  • [releases only] Make testing releases on a fork easier by @rfay in #4070
  • [docs] Add config.yaml comments for web_extra_daemons by @rfay in #4072
  • Fix issue where the script doesn't fire on page load or search. by @mikesnoeren in #4069
  • Update Pantheon and Colima docs - Add step to set DNS Nameserver IP address by @tekNorah in #4076
  • [docs] Added missing php8.1 to config.yaml doc by @chellman in #4075
  • [docs] Update version history by @rfay in #4074
  • Remove nodejs 12 and 17 from allowed values as out of support by @rfay in #4073

New Contributors

Full Changelog: v1.19.5...v1.20.0