v1.16.0: Composer 2, PHP 8.0, Shopware 6, ARM64, Experimental Casual Webhosting
Installation/Upgrade
See the installation instructions for details, but it's easy:
- Please stop all projects first, this does no harm:
ddev poweroff - macOS Homebrew and Linux Linuxbrew:
brew install drud/ddev/ddevor justbrew upgrade drud/ddev/ddev). (You may need abrew updatefor homebrew to find the new release.) - Windows: Use
choco upgrade -y ddevto get this one, or download the ddev_windows_installer below. - Linux and macOS with the install_ddev.sh script:
curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh - 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 imagesafter upgrading to free up disk space used by previous docker image versions. This does no harm.
Key changes in v1.16.0
- Composer 2 support: You can now use
ddev config --composer-version=1orddev config --composer-version=2to just get the latest composer for v1 or v2.composer_versionin .ddev/config.yaml takes "2" or "2" or an explicit version as well. Composer 1 remains the default version in ddev. - Experimental "Casual Webhosting" support as a webserver on the internet, including experimental Lets Encrypt support, see docs
- PHP8.0-rc3 with xdebug 3. Note that xdebug 3 has new and incompatible configuration options, which won't matter to most ddev users as the defaults provided do the job
- Experimental support for arm64 architectures (WSL2 and Linux only for now). THANKS @dennisameling! You can install on your linux/arm64 (or Windows machine running WSL2) with
curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.16.0-alpha5. Although this works great with Windows and WSL2 and also on Linux arm64, there is no support yet for the Windows installer and ARM64 machines. Support for macOS arm64 machines is planned when we get hardware this fall. Support for arm64 is not yet provided in AUR. - Shopware 6 support, see Shopware 6 Quickstart
- hook exec-host output is now shown in real time (it used to be completely missing) (Thanks @gilbertsoft !)
- The
ddev tablepluscommand is now available alongsideddev sequelproandddev sequelaceif you are on macOS and have one of those applications installed. Thanks @bobbygryzynger! - ddev-ssh-auth and router-compose docker-compose configurations can now be overridden
- Significantly improved performance on many ddev commands, especially on macOS.
ddev startmay be twice as fast.ddev listis way faster, etc. - New
ddev sequelace,ddev typo3,ddev typo3cms,ddev drush,ddev artisan,ddev magento,ddev wpcommands - Experimental custom TLS certificate support
Smaller changes
- Allow processing of PDF files with ImageMagick
- Remove drupal console from web image
- Project-specific and OS-specific custom scripting commands
- TLS 1.3 is enabled
- Experimental container auto-restart support
- The install_ddev.sh script now accepts an optional argument to allow specifying a particular ddev version.
- Bug fix for starting a project when port 80 is occupied (Thanks @chellman !)
- Better help for custom command flags (Thanks @gilbertsoft !)
- additional_hostnames can now be wildcarded.
- Nodejs is updated to v14.15.0 and npm to 6.14.8
- Less intrusive internet detection, more docs on name resolution and its consequences.
ddev auth sshloads all keys found in ~/.ssh or in the directory specified with -d, not just the default keys like id_rsaddev composer createandddev delete imagesaccept -y or --yes flags to skip the confirmation prompt- Bug fixed which was introduced in v1.15.0-alpha7: If only
mysql_versionis set in config.yaml,ddev startwill still work. - docker images specified in
omit_containerswill not be pulled duringddev start, thanks @NBZ4live ! ddev auth sshwill refuse to work if ddev-ssh-agent is an omitted container- mysql 8.0 unpinned and updated to 8.0.21 (and then pinned again because of xtrabackup bug)
- Drupal 8 now defaults to use mariadb 10.3
- If omit_containers[] is used, containers listed will not be pulled during
ddev start - mysql_version and mariadb_version always show in .ddev/config.yaml; if empty, they get the default.
- The default nginx config no longer provides an "expires" header for css/js, so front-end developers don't have to constantly refresh browser.
- DRUSH_OPTIONS_URI is not set in the web container when
disable_settings_management: true - Standard Drupal/Backdrop settings files are used for generating settings files if none exists.
- Your entire home directory no longer has to be shared with docker, just the project directory (#2398)
- apache-cgi support has been removed after having been deprecated in v1.15
- Improved docroot detection
Caveats
- Support for docker toolbox on Windows has been removed.
- Support for apache-cgi has been removed
Commits since v1.15.3
4f0c0f2 Bump images to v1.16.0 (#2634)
fc46104 Use simpler ssl_protocols config in ddev_router, accept TLSv1, 1.1, 1.2, 1.3 (#2632)
38aa2a3 Bump webtag for latest ddev-live (#2627)
7b7df8c Ongoing docs for v1.16 (#2616)
654c801 Add new details to casual webhosting section, other docs (#2624)
8144117 Pin mariadb versions to previous release because of regression that affects php7.2 (#2626)
93e1c02 Activate GitHub Actions (#2622)
f6f475b Make composer updateable/writeable by user in ddev-webserver, fixes #2614 (#2618)
8e87bd3 Remove php7.2 config override for typo3 and drupal7 (#2612)
780fc87 Make install_ddev.sh work with v1.16.0-rc1 and hopefull future versions (#2613) [skip ci][ci skip]
8c7b96f Bump to latest images (#2611)
a4d7a76 Ongoing docs tweaks leading to v1.16.0 release (#2595)
3cc5a28 Add --yes -y flags to composer create and delete images, fixes #2387 (#2609)
5ad28c8 Try twice to get composer; many test failures (#2610)
d3b4a58 Magento2 Quickstart improvements, fixes #2600, fixes #2602 (#2603)
3153ed7 Make sure env vars are added to ssh-agent start and all keys are loaded, fixes #2597, fixes #2608 (#2606)
41cf849 Add docs and longer timeout for restore-snapshot and start, fixes #1477, fixes #2542 (#2598)
096f477 Simplify 'no internet connection' complaints, add to docs, fixes #2578, for #2533, for #2409 (#2605)
1e721f7 [docs] Add more info about DNS rebinding to FAQ (#2590)
f3c4037 Hardened images, casual webhosting for ddev, fixes #2446 (#2589)
af32898 Add Travis config for arm64 tests, fixes #2543 (#2568)
8be3cba Build a new test-ssh-server that works on arm64 (#2587)
2257122 Allow '1' and '2' settings for composer_version (#2585)
f02526b Bump upstream to v0.5.8 to get php5.6 on arm64 (and composer v1 by default) (#2584)
8de02b7 mysql_version should override mariadb_version if it is set, fixes #2571 (#2581)
467255d Fix missing output of exec-host and make it interactive (#2579)
0c2a175 PHP8/xdebug v3 configuration and tests, fixes #2566 (#2577)
8db0b9a ddev auth ssh shouldn't work if ddev-ssh-agent opted out, fixes #2573 (#2576)
2817875 Bump db version to pinned 8.0.21 (#2575)
dc59161 Shopware6 support for ddev, make hostnames and URLs lowercase, fixes #1988 (#2551)
1828acd Fix config sync directory for Drupal 8 websites that are using a custom sync directory (#2558)
ce08cd0 Pin mysql 8 to 8.0.21 (#2570)
9476b61 Provide DRUSH_ALLOW_XDEBUG=1 to allow drush launcher xdebug usage (#2567)
c3ef280 Experimental PHP8.0 support, fixes #2553 (#2564)
53ac2b9 Support composer version setting (including composer 2), fixes #2383 (#2565)
1e9636c Ongoing docs PR, misc docs issues (#2531)
7200ef4 Unpin mysql 8.0, fixes #2546 (#2561)
d0fd1f1 mariadb_version should not be omitted, fixes #2555 (#2556)
facc88f Discourage users more strongly from modifying DDEV's settings.ddev.php (#2548)
e68045a Bump golang to 1.15.3 for build (#2560)
0a5f3bb Fix spurious creation of files like 'TARGET=darwin_amd64; GOOS=darwin; GOARCH=amd64' (#2557)
7801a1e Use MariaDB 10.3 with Drupal 8, fixes #2369 (#2372)
2a7422f Use docker login with team member user, fixes #2544 (#2554)
eb89007 Use official golang container instead of golang-build-container (#2549)
a21ac92 Images of omitted containers should not be pulled, fixes #2262 (#2541)
783836a Don't try to load config.yaml if it doesn't exist (#2545)
004ab34 Don't assume that project list is populated, fixes #2357 (#2540)
b67a62f Fix new ddev auth ssh failure with Windows Docker Desktop by copying from mount instead of using it directly (#2539)
c55a0f1 Fix release scripts for new naming of tarballs (#2527)
35e93e4 Improve install_ddev.sh to take a version and handle architectures, fixes #1587, fixes #2416 (#2528)
d4abadf Reorganize Makefile to build ARM binaries for ddev and stop using build-tools, fixes #2507, for #2338, fixes #2322 (#2474)
0e0b997 Fixes #2522: Adds tableplus command. (#2526)
93743aa DDEV ARM64 Docker images (#2454)
15ece72 Improve test cleanup (tests only) (#2520)
d115129 db container start script needs different test to copy prepped db (#2523)
c33ac8e Change tmpdir to in homedir for tests; macOS Big Sur doesn't play well with exporting /var/folders (#2516)
d1c24b1 Don't always require port 80 in determineRouterPorts(), fixes #2512 (#2513)
1b4fb20 Add the option to add flags to custom commands, fixes #2491 (#2493)
5845120 Improve router-compose and ssh-auth-compose handling, fixes #1779, fixes #2476 (#2505)
45ce7d4 ddev-router should not accept hostnames it's not configured for, fixes #2345 (#2504)
13105a1 Minor docs PR (#2496)
bdfb162 docs(xdebug): Update Atom instructions (#2498)
7c70ab5 Improve step-debugging.md with more PhpStorm detail (#2499)
079351f Allow multiline examples for custom commands (#2495)
4c277d3 Don't set DRUSH_OPTIONS_URI if disable_settings_management, fixes #2443 (#2506)
cc621d1 Fix missing global prefix of command suffix (#2494)
cad94dd Prevent segment from writing to console (especially for pi-hole), fixes #1968, fixes #1767, fixes #1967 (#2497)
617c414 Use standard Drupal/Backdrop default.settings.php as settings.php, fixes #1097 (#2500)
2ea1def Allow wildcard additional_hostnames, fixes #2391 (#2393)
186190f Fix faq entry about required tools like PHP (#2489) [skip ci][ci skip]
ee09ab3 Export documented environment variables into web container, fixes #2486 (#2488)
6c04f39 Don't try to assign to nil app.Name in GetProjects(), fixes #2483 (#2484)
1f90639 Stop using the /ping URL in webserver since it is not checked anyway (#2475)
6725379 nginx shouldn't allow browser cache of css/js, fixes #2404 (#2413)
4ae0c83 Ongoing long-running docs PR, fixes #2478 (#2447)
77902a8 Create FUNDING.yml (#2479)
5563dc6 Fix percona installation in db container by installing curl (#2481)
6f01a2d Removing Docker Toolbox Support, fixes #2284 (#2473)
de90606 Forward requests for *.rss + *.atom to PHP fixes #2403 (#2461)
c35a329 Experimental Custom TLS Cert and Let's Encrypt integration (#2458)
51050fb Buildkite agents gentler removal of containers and images (#2471)
38a653d Update WSL2 docs to say 1903 and 1909 supported (#2470) [skip ci][ci skip]
fa8a79f Fix various errors in typo3 and typo3cms global commands, add wp command, fixes #2467 (#2466)
59fc6dc Remove support for apache-cgi, fixes #2286 (#2459)
89df76b Web image maintenance: Simpler terminus install, xdebug on by default in raw image (#2460)
02b8d45 Fix umask problem with tests on NFS on CircleCI (#2465)
fa8fb70 Update CircleCI test VM version to ubuntu-1604:202007-01 (#2462)
4faf461 Add note about composer global issues (#2457) [skip ci][ci skip]
64f80d5 Use docker api to push CA keys to ddev-router, general ddev-router maintenance, fixes #2398 (#2456)
9eea5fa Delete any existing ddev projects at buildkite startup (#2455)
c34907d Allow multiple directives including OSType and ProjectType in custom command, fixes #2209 (#2452)
8efab22 Use :cached in DOCKERMOUNTFLAG for performance (#2453)
9551eb7 Speed up ddev commands including ddev list, fixes #1881 (#2445)
2b3fcd8 Updated build-tools to v2.5.1 (#2449)
fecf453 Allow processing of PDF files with ImageMagick (#2431)
1805f27 Remove drupal console from ddev-webserver. (#2420)
356e530 [docs] Improve wording of "In-container home directory configuration" (#2423) [skip ci][ci skip]
b3ba1c9 Add 'webroot' and 'html' to the places we look for default docroot (#2434)
8c8e0ec Change xdebug description in config.yaml to new custom command (#2432)