Skip to content

v1.3.0: MariaDB 10.2, Full Apache Support, Improved Logs, Pull Command Options

Compare
Choose a tag to compare
@andrewfrench andrewfrench released this 12 Oct 00:52
· 2553 commits to master since this release
bf8eaea

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.3.0.exe above.

And anywhere, you can just download the tarball or zipball, un-tar or un-zip 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

This release upgrades MariaDB from 10.1 to 10.2. For most users and most projects, this will happen automatically on first start of a project. However:

  • Snapshots from previous versions of ddev cannot be restored with v1.3+. There's an easy workaround explained in the docs
  • Databases from versions before v1.1 (bind-mounted, stored in ~/.ddev/<project>/mysql) cannot be migrated to Docker volumes by this version because that process uses snapshots. However, you can migrate with v1.2.0 and then use v1.3; the easiest thing to do with those old ones is to mv ~/.ddev/<project>/mysql ~/.ddev/<project/mysql.saved and then use ddev import-db to load from a sql dump file.
  • Before v1.3, containers ran as root for Windows users, now they run as a normal user. This means that if you have hooks (like post-start hooks) in your config.yaml that do things that need extra privileges, you'll have to add "sudo" to them.

Key changes in v1.3.0:

  • Apache support now works on Windows and has full test coverage and is no longer experimental. It seems to work quite well.
  • MariaDB is upgraded from 10.1 to 10.2. MariaDB 10.2 has a number of advantages including more flexible key lengths. (This does mean that pre-v1.1.0 databases which were bind-mounted in ~/.ddev can no longer be migrated to docker volumes with this release, see caveats above. Also, snapshots from previous releases cannot be restored with this release, in caveats above.)
  • Automatic generation of WordPress wp-config.php has been improved and extra guidance provided for WordPress projects. (#1156)
  • The webserver container logs format is improved and all key logs are now provided in ddev logs.
  • The webserver container now gives significantly more information in its healthcheck information (use docker inspect --format='{{json .State.Health }}' ddev-<project>-web). It also exits when one of its components is unhealthy, so that we all don't spend time debugging a broken container or broken add-on configuration.
  • The dbserver container now provides full log information to ddev logs -s db.
  • php-imagick, locales, and php*-sqlite3 and sqlite3 packages added to web container. You can now run a project with a sqlite3 database.
  • It's now possible to access web/http/https URLs by name (including https) from within the web container. They get routed to the ddev-router, which sends them back to the right place. So curl https://somesite.ddev.local:8443 will work inside the web container for a project configured with https on port 8443. (#1151)
  • No php functions are now disabled in the php disable_functions configuration. (#1130)
  • Drupal drush commands do not automatically use '-y' when issued inside the web container. They still do when used in exec hooks, so this should not break any exec hooks. (#1120)
  • ddev pull now adds flags so you can skip downloading either files or db. See ddev help pull.
  • A number of bugfixes, docs fixes, and significant automated testing improvements.

Commits since v1.2.0

bf8eaea Inspect mysql version before failing when restoring a snapshot, #1170 (#1176)
c21e612 Bump image versions for v1.3.0 release (#1171)
8feb463 Validate config before writing .yaml or starting project, resolves #1095 (#1139)
c350d63 Update WordPress settings management, fixes #756, fixes #1156 (#932)
c9e3cb5 Add configuration flags to ddev pull, fixes #405 (#1138)
bdfd80d Validate the project name when it's entered, fixes #514, fixes #86 (#1147)
16d72e4 Explicitly support mariadb upgrade from 10.1 to 10.2 (#1160)
f83954a Stop warning about non-config files in ddev start, fixes #731 (#1143)
58f8023 Make supervisord exit when key processes die, fixes #1137 (#1142)
d91e190 Add " around the version parameter and use TYPO3 v9 (docs only) (#1161)
93d0039 Add content tests in TestDdevFullSiteSetup, fixes #677 (#1155)
d5e7b37 Improve TestWebserverType() (#1154)
4486bc3 Emergency fix to logs_test.go for failed master (#1159)
9063a31 Improve reliability of TestDevLogs (in cmd) (#1145)
ad4aa45 Add debugging for intermittent failures on TestDdevRestoreSnapshot (#1149)
1b0e46d Add php*-sqlite3 to web container (#1150)
3726f95 Improve docker and troubleshooting instructions (docs only) (#1134)
3b72bca Provide access to router within web container by hostname, fixes #842 (#1151)
9cda214 Do not try to start project for a snapshot, fixes #1129 (#1146)
19063c0 Change mysqld to output to stderr, fixes #1136 (#1141)
95eabc0 Unset disable_functions in php config, fixes #1127 (#1130)
e0e5d76 Respect an existing user-managed AdditionalConfiguration.php, fixes #1053 (#1140)
66a6eae Faster failure on startup if container fails, fixes #1135 (#1144)
a399558 Add test to make sure we get the webserver we configure, fixes #1094 (#1148)
4940a33 Add rewrites for ssl so apache behaves properly (#1124)
79f2cef Provide a flag to specify webserver type in ddev config, fixes #1103 (#1132)
07706e4 Upgrade containers (and mariadb to 10.2), fixes #947, fixes #1068 (#1123)
86cdb86 Don't use -y automatically on drush commands, fixes #1118, fixes #455 (#1120)
737033b Use command instead of which in install script, fixes #1114 (#1119)
54059ac Add php module post-start hook example to docs, fixes #1117 (#1121)
7dec1a2 Docs - change docker and docker-compose req version (#1116)
51ccfc8 Bump build-tools to get golang v1.11 (#1122)
62d15da Make apache run properly on Windows, fixes #1109 (#1111)
02111c5 Provide basic apache testing for ddev, for #1094 (explicit apache tests still required) (#1101)
53e4013 sanetestbot should try to mount something (#1110)
285a2b7 Add php-imagick to web container, fixes #949 again (#1113)
b992f6f Add locales to web container, fixes #822 (#1106)
304337e docker-compose example should use 3.6 for version number (#1107)