github ddev/ddev v1.5.0
v1.5.0: PHP & MariaDB Versions, Experimental MacOS Webcache, Improved Windows Composer Symlinks

latest releases: v1.23.0, v1.23.0-rc2, v1.23.0-rc1...
5 years ago

Installation/Upgrade

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

  • macOS Homebrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.5.0.exe above.

And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.

To upgrade to this release with each existing project, please be cautious and:

  1. Temporarily remove any docker-compose.*.yaml customizations you’ve made, and any nginx, apache, php or mariadb overrides.
  2. Run ddev config in your project directory to update your .ddev/config.yaml
  3. After you've verified basic operation, add your customizations back in.

Caveats

  • There is a minor change in when post-start hooks are processed. They used to be run any time ddev start happened. Now they only happen if the web container is actually created or recreated.
  • There is not yet a php-memcached for PHP 7.3, so it is obviously not included in this release.

Key changes in v1.5.0:

  • MariaDB 10.1 is available again with mariadb_version: 10.1 in the .ddev/config.yaml (or ddev config --mariadb-version. This should help TYPO3 8 users who can't run MariaDB 10.2. (#1318)
  • The newly released PHP 7.3 is now supported, php_version: 7.3 or ddev config --php-version=7.3. As noted above, php-memcached is not yet available for 7.3.
  • For macOS users, a new experimental webcaching strategy makes webserving way faster on large projects like TYPO3 or Drupal 8. webcache_enabled: true in the config.yaml will start a caching container so that actual webserving happens on a much faster filesystem. This is experimental and has some risks, we want to know your experience. It takes longer to do a ddev start because your entire project has to be pushed into the container, but after that hitting a page is way, way more satisfying. Note that .git directories are not copied into the webcache, git won't work inside the web container. It just seemed too risky to combine 2-way file synchronization with your precious git repository, so do git operations on the host. Note that if you have a lot of files or big files in your repo, they have to be pushed into the container, and that can take time. I have had to clean up my .ddev/db_snapshots directory rather than wait for the docker cp to happen forever. A big shout out to Drud team member @cweagans for the original docker-bg-sync that we forked and used to implement this! Thanks!
  • Important Windows symlink support in ddev composer (#1323). On the CIFS filesystem used by Docker-for-Windows, real Linux/Mac symlinks are supported but cannot be created, so composer operations inside the container in some cases create simulated symlinks, which are actually just files with XSym content; these work fine inside the container… but they're not real symlinks and sometimes cause some issues. We've added a cleanup step after ddev composer that converts those XSym files into real symlinks. It only works on Docker for Windows, and it only works if you have "Developer mode" enabled on your Windows 10 Pro host. More info is in the docs

Minor changes in v1.5.0

  • We've added opt-in instrumentation to ddev that can provide usage and error information to us. You'll be asked for permission when you upgrade.Thanks for considering opting into this, it can really help us.
  • ddev now has global configuration in ~/.ddev/global_config.yaml (and via the ddev config global command). You can change your instrumentation opt-in using that.
  • The global configuration now allows for global omit_containers: ["ddev-ssh-agent", "dba"] (or one or the other) if you don't want to run the ssh agent or the dba (phpmyadmin) container at all.
  • Only run post-start hook when the web container is actually being recreated. In the past, the post-start hooks were run every time ddev start was executed, but now it will only happen when the web container is being recreated.
  • uploadprogress was added to the web container for Drupal users.
  • ddev auth ssh will now try to authenticate all keys it finds in ~/.ssh, not just id_rsa. (#1295)
  • The ddev-router used to restart for every project start or stop. It now stops and starts only if changes are required or there are no more projects running. (#1280)
  • Wordpress now works when the wordpress code is installed in a subdirectory. (#1292)
  • The _apt user is back in the web container, which makes apt-get operations in post-start hooks complete without complaints. (#1253)
  • We've taken our first step toward supporting the D6LTS project so that Drupal 6 can be run with recent PHP versions. (#1328). You still apparently have to disable the php-mbstring extension with phpdismod php-mbstring && killall -1 php-fpm, we're interested in your reports.

Commits since v1.4.1

1e687a7 Bump container versions (#1333)
21c7d6d Regression: docker and docker-compose versions empty in ddev version (#1332)
7362de7 Add respect for #ddev-generated inside settings.ddev.php, fixes #1310 (#1326)
4b9d035 Use mysqli in db_url for Drupal 6, fixes #1372 (#1328)
650ac56 Minor updates to developer docs [skip ci] [ci skip] (#1330)
b212a1a Fix problem where ddev-ssh-agent volume causes error, fixes #1312 (#1327)
53f35e4 Add utilities and tests for CIFS simulated symlinks, add to ddev composer, fixes #1283 (#1323)
a403452 Use caching filesystem to improve webserving performance (#1277)
63bbaa2 Check to see if two paths are the same in app.Init, fixes #1168 (#1324)
d6842dc Provide mariadb 10.1 and 10.2, fixes #1221 (#1318)
7c8310e Look in parent directories for an existing .ddev/config.yaml, fixes #1158 (#1275)
8df2ed0 Use sentry to log usage events, fixes #307 (#1307)
f3b604d Fix panic in TestGetLocalHttpResponse (#1317)
bbf4067 Fix reported panic in GetContainerHealth() (#1322)
97bde47 Improve and add test log debugging for several tests - tests only, for #1270 (#1316)
9794512 Only run post-start hook when the new container is actually created, fixes #1115 (#1298)
7909843 Make ContainerWait and healthchecks smarter, fixes #1287 (#1301)
02e1986 Wow did I miss a lot of vetshadows [ci skip] (#1314)
ff16eab Fix problem running "ddev auth ssh" from PS, fixes #1284 (#1296)
7b3e79e Add pecl uploadprogress to web container, fixes #1249 (#1300)
02e937c ddev auth ssh should all available private keys, fixes #1291, fixes #1282 (#1295)
d965c64 Use gotestsum for test output on circleci (#1306)
f3fe0e3 Add examples to ddev composer create (#1299)
2d70701 Support go modules for build (#1311)
ede5f30 Try to find out why TestListContinuous fails on macOS (#1308)
af8a01c Remove vet and vetshadow nolint declarations (#1304)
43949bc Support php 7.3 (#1294)
c664fa1 Don't restart the ddev-router all the time, fixes #1236 (#1280)
ee2d24e Make sure that TestConfigOverrideDetection cleans up after itself, for #1270 (#1303)
cd9e4bb Retry 502 errors in tests on macOS, for #1270 (#1302)
4a106a1 Fix WordPress Abspath detection on Windows, closes #1175 (#1292)
533fb4b add _apt user back in to /etc/passwd so apt operations do not exit wi… (#1253)
a62f880 GetContainerHealth should use last element of Health array (#1279)
a259770 Fix duplicate word in ssh_auth.go (#1290)

Don't miss a new ddev release

NewReleases is sending notifications on new releases.