ddev

Docker-based local PHP+Node.js web development environments

APACHE-2.0 License

Stars
2.4K
Committers
316

Bot releases are visible (Hide)

Installation/Upgrade

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

  • Please stop all projects first, this does no harm: ddev stop --all --stop-ssh-agent
  • If you have custom configuration, especially pinned image specifications in your .ddev/config.yaml, please remove it for now.
  • macOS Homebrew and Linux Linuxbrew: : brew install drud/ddev/ddev or just brew upgrade ddev). (It also shows up in the ddev-edge homebrew channel.).
  • Windows: Download the ddev_windows_installer below or with Chocolatey choco install ddev or choco upgrade ddev
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • Please avoid upgrading to macOS Catalina, as mkcert is not ready for it.
  • This version of ddev bundles the latest PHP7.2 and 7.3 versions (7.2.20 and 7.3.7). There have been some reports of Symfony/Doctrine incompatibilities/bugs with those versions. (link)
  • ddev import-db no longer automatically drops the entire "db" database before importing, see below.

Key changes in v1.10.0

  • Custom commands! You can now create custom ddev commands using a simple bash script. See the docs for how to do it.
  • There's a real user created for you inside the web and db containers, with your username and userid. And the containers have an explanatory hostname, like <projectname>-web. Those of you who use ddev ssh and ddev exec.
  • The first official bash custom command is the mysql command, so you can now ddev mysql to work directly with the mysql client in the db container, and you can pipe into it, etc.
  • ddev now has a "poweroff" command. ddev poweroff is quick way to stop all ddev containers. It's the same as ddev stop -a --stop-ssh-agent but a lot easier to remember. A tip of the hat to our friends at lando.
  • You can now add files to the web container's home directory by adding them to .ddev/homeadditions, so files like ~/.gitconfig and ~/.ssh/config can be added, or bash aliases, etc. See docs.

Smaller changes in v1.10.0

  • ddev ssh now uses a bash login shell, meaning that .profile will run as most people would expect.
  • The ddev binaries on macOS and Windows are now signed.
  • Better URL presentation in ddev start and ddev describe (and describe gives more information)
  • ddev restart proj1 proj2 and ddev restart -a now work
  • ddev ssh <project> now works
  • Improved timezone documentation in both config.yaml and ddev.readthedocs.io
  • Example custom commands for ddev mysqldump and ddev mysqladmin
  • ddev import-db now accepts stdin, so you can gzip -dc yourfile.sql.gz | ddev import-db to load a database. Of course, you can also do that with the new ddev mysql command.
  • ddev exec is now happy to accept input from stdin.Thanks @dasjoe!
  • PHPMyAdmin and web ports are no longer shared with the local network. This was a bit of a security risk. If you were allowing your coworkers to access your project across the network and depended on this, try ddev share. Or you can override the settings with a docker-compose.letthemin.yaml
  • Healthcheck improvements should improve battery life and CPU usage. A fair number of people had noticed that all the containers were waking up every few seconds for no particular reason. Now the healthcheck is every minute or so.
  • ddev import-db no longer automatically drops all tables in the database. Instead, your dumpfile should empty tables as necessary (or you can use another technique like ddev exec drush sql-drop -y or DROP DATABASE db; CREATE DATABASE db; in ddev mysql or ddev exec mysql).
  • bash history is now persistent inside the container. It's nice to find all your past commands still there.

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @klonos kept the Backdrop drush extensions up-to-date, thanks!
  • @dasjoe updated ddev exec to make it properly accept input from stdin.
  • @jonaseberle did a major ddev PR to make TYPO3 installation with https work correctly... after doing a PR to make TYPO3 work right in the same situation!

We love your PRs and issues, keep them coming! You're the reason this community-based project works.

Commits since v1.9.1

02b016bf Make sure that DDEV_HOST_DB_PORT is properly set where needed, fixes #1747 (#1754)
05074621 Fix artifacts script to use correct path to execute ddev, fixes #1749 (#1752)
a3074344 Fix release trigger script, fixes #1750 (#1751)
0e4527c3 Docker Desktop 2.1.0.0 (19.03.1) doesn't let you install as root (#1748)
ab3de843 Take correct action on custom commands if project not running, fixes #1716 (#1744)
98cb2a24 Move Segment items into Context, better instrumentation_user, fixes #1726 (#1745)
8592d4de Bump image versions to v1.10 (#1746)
0fa62640 Add ddev delete command to kill projects and images, fixes #1465, fixes #1562, fixes #1464 (#1743)
2ad94a04 Get rid of TYPO3 trustedHostsPattern warning, fixes #1739 (#1741)
2948e7e5 Make sure EOL at end of file is there in config.yaml, fixes #1740 (#1742)
6b76de83 Allow home directory additions in web container, fixes #926, fixes #1459 (#1728)
669e3fd8 Update typo3 quickstart with warning about https url [skip ci][ci skip] (#1732)
f70c82ae TYPO3 AdditionalConfiguration.php: fix warning in array_merge() (#1735)
17b3d2b1 Add ddev poweroff command, fixes #1588 (#1733)
21b4cd08 Make ddev ssh use a bash login shell (#1730)
71fc560e Remove Sentry 'Usage' sends (#1729)
40c31449 Remove verbiage about default docker images [skip ci][ci skip] (docs only) (#1725)
6665fe7d Allow signed releases for macOS and Windows, fixes #1626 (#1727)
21485480 Improve URL presentation in start/restart/describe, fixes #1711, fixes #1685 (#1720)
663194b9 Only output segment/sentry info when DRUD_DEBUG=true, fixes #1684 (#1724)
babcf360 Use ddev fork of nssm to download exe file (#1723)
a54202fe Add target app arguments to ddev restart and ddev ssh (#1719)
b2667217 Timezone docs in config.yaml and add config docs to documentation, fixes #1691 (#1721)
fdab57dc Add optional real username for instrumentation (#1722)
aabfe940 Add mysqldump example command (#1718)
7a028d01 Use testdata with longer timeouts on dockerutil tests (#1717)
6146cfa7 Add TYPO3 GFX configuration for ImageMagick, fixes #1720 (#1712)
478da828 Custom host and in-container commands, fixes #1372, fixes #1551 (#1702)
27b8fc1c Update drush for Backdrop to 1.0.0, fixes #1693 (#1694)
52c7915d Make ddev import-db accept stdin, fixes #1690 (#1704)
51246668 Reorganize web and db containers to have real user and hostname, persistent bash history, for #926 (#1688)
e8ec25fd Add segment to instrumentation, fixes #1640, fixes #1344 (#1696)
93ea28d6 [FIX] Use Stdin for tty detection, fixes #1690 (#1700)
456994fe Bind router functions only on docker interface (usually localhost), fixes #1662 (#1698)
ac4710df Stop reporting last status from ddev ssh, fixes #1681 (#1697)
527519b6 Update drush for Backdrop to 0.2.1, fixes #1686 (#1687)
a2b82a6a Quiet down healthchecks to save battery and CPU usage, fixes #1663 (#1674)
53fb9c0b Minor fixes to tests and documentation (#1679)
8c8a2de4 Improve handling of linux case where docker0 is down (#1671)
089eb3da Pre-enable common apache modules, fixes #1672 (#1675)

ddev - v1.10.0-rc1: Testing release, custom commands, new commands

Published by rfay about 5 years ago

Installation/Upgrade

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

  • Please stop all projects first, this does no harm: ddev stop --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: To get this one you need to be on the ddev-edge channel: brew tap drud/ddev-edgeor just brew install drud/ddev-edge/ddev). v1.10 will be pushed to the main drud/ddev channel.
  • Windows: Download the installer. (v1.10 will be pushed to chocolatey)
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • Please avoid upgrading to macOS Catalina, as mkcert is not ready for it.
  • This version of ddev bundles the latest PHP7.2 and 7.3 versions (7.2.20 and 7.3.7). There have been some reports of Symfony/Doctrine incompatibilities/bugs with those versions.

Key changes in v1.10.0

  • Custom commands! You can now create custom ddev commands using a simple bash script. See the docs for how to do it.
  • There's a real user created for you inside the web and db containers, with your username and userid. And the containers have an explanatory hostname, like <projectname>-web. This also makes things easier for the times people install a package that creates a user or group, there's plenty of room for that to happen now. Those of you who use ddev ssh and ddev exec: We'd love to hear your feedback about this.
  • The first official bash custom command is the mysql command, so you can now ddev mysql to work directly with the mysql client in the db container, and you can pipe into it, etc.
  • ddev now has a "poweroff" command. ddev poweroff is quick way to stop all ddev containers. It's the same as ddev stop -a --stop-ssh-agent but a lot easier to remember. A tip of the hat to our friends at lando.
  • You can now add files to the web container's home directory by adding them to .ddev/homeadditions, so files like ~/.gitconfig and ~/.ssh/config can be added, or bash aliases, etc. See docs.

Smaller changes in v1.10.0

  • ddev ssh now uses a bash login shell, meaning that .profile will run as most people would expect.
  • A bug from v1.10.0-alpha3 was fixed; it brought unexpected files from a project "assets" directory into ~/.ddev. Thanks to @mfrieling for discovering and reporting.
  • The ddev binaries on macOS and Windows are now signed.
  • Better URL presentation in ddev start and ddev describe (and describe gives more information)
  • ddev restart proj1 proj2 and ddev restart -a now work
  • ddev ssh <project> now works
  • Improved timezone documentation in both config.yaml and ddev.readthedocs.io
  • Example custom commands for ddev mysqldump and ddev mysqladmin
  • ddev import-db now accepts stdin, so you can gzip -dc yourfile.sql.gz | mysql db to load a database. Of course, you can also do that with the new ddev mysql command.
  • ddev exec is now happy to accept input from stdin.Thanks @dasjoe!
  • PHPMyAdmin and web ports are no longer shared with the local network. This was a bit of a security risk. If you were allowing your coworkers to access your project across the network and depended on this, try ddev share. Or you can override the settings with a docker-compose.letthemin.yaml
  • Healthcheck improvements should improve battery life and CPU usage. A fair number of people had noticed that all the containers were waking up every few seconds for no particular reason. Now the healthcheck is every minute or so.
  • ddev import-db no longer automatically drops all tables in the database. Instead, your dumpfile should empty tables as necessary (or you can use another technique like ddev exec drush sql-drop -y or DROP DATABASE db; CREATE DATABASE db; in ddev mysql or ddev exec mysql.

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @klonos kept the Backdrop drush extensions up-to-date, thanks!
  • @dasjoe updated ddev exec to make it properly accept input from stdin.
  • @jonaseberle did a major ddev PR to make TYPO3 installation with https work correctly... after doing a PR to make TYPO3 work right in the same situation!

We love your PRs and issues, keep them coming! You're the reason this community-based project works.

Commits since v1.9.1

0e4527c3 Docker Desktop 2.1.0.0 (19.03.1) doesn't let you install as root (#1748)
ab3de843 Take correct action on custom commands if project not running, fixes #1716 (#1744)
98cb2a24 Move Segment items into Context, better instrumentation_user, fixes #1726 (#1745)
8592d4de Bump image versions to v1.10 (#1746)
0fa62640 Add ddev delete command to kill projects and images, fixes #1465, fixes #1562, fixes #1464 (#1743)
2ad94a04 Get rid of TYPO3 trustedHostsPattern warning, fixes #1739 (#1741)
2948e7e5 Make sure EOL at end of file is there in config.yaml, fixes #1740 (#1742)
6b76de83 Allow home directory additions in web container, fixes #926, fixes #1459 (#1728)
669e3fd8 Update typo3 quickstart with warning about https url [skip ci][ci skip] (#1732)
f70c82ae TYPO3 AdditionalConfiguration.php: fix warning in array_merge() (#1735)
17b3d2b1 Add ddev poweroff command, fixes #1588 (#1733)
21b4cd08 Make ddev ssh use a bash login shell (#1730)
71fc560e Remove Sentry 'Usage' sends (#1729)
40c31449 Remove verbiage about default docker images [skip ci][ci skip] (docs only) (#1725)
6665fe7d Allow signed releases for macOS and Windows, fixes #1626 (#1727)
21485480 Improve URL presentation in start/restart/describe, fixes #1711, fixes #1685 (#1720)
663194b9 Only output segment/sentry info when DRUD_DEBUG=true, fixes #1684 (#1724)
babcf360 Use ddev fork of nssm to download exe file (#1723)
a54202fe Add target app arguments to ddev restart and ddev ssh (#1719)
b2667217 Timezone docs in config.yaml and add config docs to documentation, fixes #1691 (#1721)
fdab57dc Add optional real username for instrumentation (#1722)
aabfe940 Add mysqldump example command (#1718)
7a028d01 Use testdata with longer timeouts on dockerutil tests (#1717)
6146cfa7 Add TYPO3 GFX configuration for ImageMagick, fixes #1720 (#1712)
478da828 Custom host and in-container commands, fixes #1372, fixes #1551 (#1702)
27b8fc1c Update drush for Backdrop to 1.0.0, fixes #1693 (#1694)
52c7915d Make ddev import-db accept stdin, fixes #1690 (#1704)
51246668 Reorganize web and db containers to have real user and hostname, persistent bash history, for #926 (#1688)
e8ec25fd Add segment to instrumentation, fixes #1640, fixes #1344 (#1696)
93ea28d6 [FIX] Use Stdin for tty detection, fixes #1690 (#1700)
456994fe Bind router functions only on docker interface (usually localhost), fixes #1662 (#1698)
ac4710df Stop reporting last status from ddev ssh, fixes #1681 (#1697)
527519b6 Update drush for Backdrop to 0.2.1, fixes #1686 (#1687)
a2b82a6a Quiet down healthchecks to save battery and CPU usage, fixes #1663 (#1674)
53fb9c0b Minor fixes to tests and documentation (#1679)
8c8a2de4 Improve handling of linux case where docker0 is down (#1671)
089eb3da Pre-enable common apache modules, fixes #1672 (#1675)

ddev - v1.10.0-alpha4: Home directory additions, poweroff command

Published by rfay about 5 years ago

Installation/Upgrade

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

  • Please stop all projects first, this does no harm: ddev stop --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: To get this one you need to be on the ddev-edge channel: brew tap drud/ddev-edgeor just brew install drud/ddev-edge/ddev)
  • Windows: Download the installer.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • Please avoid upgrading to macOS Catalina, as mkcert is not ready for it.
  • This version of ddev bundles the latest PHP7.2 and 7.3 versions (7.2.20 and 7.3.7). There have been some reports of Symfony/Doctrine incompatibilities/bugs with those versions.

Key changes in v1.10.0-alpha4

  • ddev now has a "poweroff" command. ddev poweroff is quick way to stop all ddev containers. It's the same as ddev stop -a --stop-ssh-agent but a lot easier to remember. A tip of the hat to our friends at lando.
  • You can now add files to the web container's home directory by adding them to .ddev/homeadditions, so files like ~/.gitconfig and ~/.ssh/config can be added, or bash aliases, etc. See docs.

Smaller changes in v1.10.0-alpha4

  • ddev ssh now uses a bash login shell, meaning that .profile will run as most people would expect.
  • Improved behavior with TYPO3 installation using https, thanks to @jonaseberle .
  • A bug from v1.10.0-alpha3 was fixed; it brought unexpected files from a project "assets" directory into ~/.ddev. Thanks to @mfrieling for discovering and reporting.

Smaller Changes in v1.10.0-alpha3

  • The ddev binaries on macOS and Windows are now signed.
  • Better URL presentation in ddev start and ddev describe (and describe gives more information)
  • ddev restart proj1 proj2 and ddev restart -a now work
  • ddev ssh <project> now works
  • Improved timezone documentation in both config.yaml and ddev.readthedocs.io
  • Example custom command for ddev mysqldump

Key changes in v1.10.0-alpha1

  • Custom commands! You can now create custom ddev commands using a simple bash script. See the docs for how to do it.
  • There's a real user created for you inside the web and db containers, with your username and userid. And the containers have an explanatory hostname, like <projectname>-web. This also makes things easier for the times people install a package that creates a user or group, there's plenty of room for that to happen now. Those of you who use ddev ssh and ddev exec: We'd love to hear your feedback about this.
  • The first official bash custom command is the mysql command, so you can now ddev mysql to work directly with the mysql client in the db container, and you can pipe into it, etc.

Smaller Changes in v1.10.0-alpha1

  • ddev import-db now accepts stdin, so you can gzip -dc yourfile.sql.gz | mysql db to load a database. Of course, you can also do that with the new ddev mysql command.
  • ddev exec is now happy to accept input from stdin.Thanks @dasjoe!
  • PHPMyAdmin and web ports are no longer shared with the local network. This was a bit of a security risk. If you were allowing your coworkers to access your project across the network and depended on this, try ddev share. Or you can override the settings with a docker-compose.letthemin.yaml
  • Healthcheck improvements should improve battery life and CPU usage. A fair number of people had noticed that all the containers were waking up every few seconds for no particular reason. Now the healthcheck is every minute or so.
  • ddev import-db no longer automatically drops all tables in the database. Instead, your dumpfile should empty tables as necessary (or you can use another technique like ddev exec drush sql-drop -y

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @jonaseberle did a major PR to make TYPO3 installation with https work correctly... after doing a PR to make TYPO3 work right in the same situation!
  • @klonos kept the Backdrop drush extensions up-to-date, thanks!
  • @dasjoe updated ddev exec to make it properly accept input from stdin.

We love your PRs and issues, keep them coming! You're the reason this project works.

Commits since v1.10.0-alpha3

2ad94a04 Get rid of TYPO3 trustedHostsPattern warning, fixes #1739 (#1741)
2948e7e5 Make sure EOL at end of file is there in config.yaml, fixes #1740 (#1742)
6b76de83 Allow home directory additions in web container, fixes #926, fixes #1459 (#1728)
669e3fd8 Update typo3 quickstart with warning about https url (#1732)
f70c82ae TYPO3 AdditionalConfiguration.php: fix warning in array_merge() (#1735)
17b3d2b1 Add ddev poweroff command, fixes #1588 (#1733)
21b4cd08 Make ddev ssh use a bash login shell (#1730)
71fc560e Remove Sentry 'Usage' sends (#1729)
40c31449 Remove verbiage about default docker images (docs only) (#1725)

Installation/Upgrade

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

  • Please stop all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: To get this one you need to be on the ddev-edge channel: brew tap drud/ddev-edge)
  • Windows: Download the installer.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • Please avoid upgrading to macOS Catalina, as mkcert is not ready for it.

Key changes in v1.10.0-alpha3

Smaller Changes in v1.10.0-alpha3

  • The ddev binaries on macOS and Windows are now signed.
  • Better URL presentation in ddev start and ddev describe (and describe gives more information)
  • ddev restart proj1 proj2 and ddev restart -a now work
  • ddev ssh <project> now works
  • Improved timezone documentation in both config.yaml and ddev.readthedocs.io
  • Example custom command for ddev mysqldump

Key changes in v1.10.0-alpha1

  • Custom commands! You can now create custom ddev commands using a simple bash script. See the docs for how to do it.
  • There's a real user created for you inside the web and db containers, with your username and userid. And the containers have an explanatory hostname, like <projectname>-web. This also makes things easier for the times people install a package that creates a user or group, there's plenty of room for that to happen now. Those of you who use ddev ssh and ddev exec: We'd love to hear your feedback about this.
  • The first official bash custom command is the mysql command, so you can now ddev mysql to work directly with the mysql client in the db container, and you can pipe into it, etc.

Smaller Changes in v1.10.0-alpha1

  • ddev import-db now accepts stdin, so you can gzip -dc yourfile.sql.gz | mysql db to load a database. Of course, you can also do that with the new ddev mysql command.
  • ddev exec is now happy to accept input from stdin.Thanks @dasjoe!
  • PHPMyAdmin and web ports are no longer shared with the local network. This was a bit of a security risk. If you were allowing your coworkers to access your project across the network and depended on this, try ddev share. Or you can override the settings with a docker-compose.letthemin.yaml
  • Healthcheck improvements should improve battery life and CPU usage. A fair number of people had noticed that all the containers were waking up every few seconds for no particular reason. Now the healthcheck is every minute or so.
  • ddev import-db no longer automatically drops all tables in the database. Instead, your dumpfile should empty tables as necessary (or you can use another technique like ddev exec drush sql-drop -y

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @klonos kept the Backdrop drush extensions up-to-date, thanks!
  • @dasjoe updated ddev exec to make it properly accept input from stdin.

We love your PRs and issues, keep them coming! You're the reason this project works.

Commits since v1.10.0-alpha1

6665fe7d Allow signed releases for macOS and Windows, fixes #1626 (#1727)
21485480 Improve URL presentation in start/restart/describe, fixes #1711, fixes #1685 (#1720)
663194b9 Only output segment/sentry info when DRUD_DEBUG=true, fixes #1684 (#1724)
babcf360 Use ddev fork of nssm to download exe file (#1723)
a54202fe Add target app arguments to ddev restart and ddev ssh (#1719)
b2667217 Timezone docs in config.yaml and add config docs to documentation, fixes #1691 (#1721)
fdab57dc Add optional real username for instrumentation (#1722)
aabfe940 Add mysqldump example command (#1718)
7a028d01 Use testdata with longer timeouts on dockerutil tests (#1717)
6146cfa7 Add TYPO3 GFX configuration for ImageMagick, fixes #1720 (#1712)

ddev - v1.10.0-alpha1: Custom commands! Real user in container

Published by rfay over 5 years ago

Installation/Upgrade

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

  • Please stop all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: To get this one you need to be on the ddev-edge channel: brew tap drud/ddev-edge)
  • Windows: Download the installer.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • Please avoid upgrading to macOS Catalina, as mkcert is not ready for it.

Key changes in v1.10.0-alpha1

  • Custom commands! You can now create custom ddev commands using a simple bash script. See the docs for how to do it.
  • There's a real user created for you inside the web and db containers, with your username and userid. And the containers have an explanatory hostname, like <projectname>-web. This also makes things easier for the times people install a package that creates a user or group, there's plenty of room for that to happen now. Those of you who use ddev ssh and ddev exec: We'd love to hear your feedback about this.
  • The first official bash custom command is the mysql command, so you can now ddev mysql to work directly with the mysql client in the db container, and you can pipe into it, etc.

Smaller Changes

  • ddev import-db now accepts stdin, so you can gzip -dc yourfile.sql.gz | mysql db to load a database. Of course, you can also do that with the new ddev mysql command.
  • ddev exec is now happy to accept input from stdin.Thanks @dasjoe!
  • PHPMyAdmin and web ports are no longer shared with the local network. This was a bit of a security risk. If you were allowing your coworkers to access your project across the network and depended on this, try ddev share. Or you can override the settings with a docker-compose.letthemin.yaml
  • Healthcheck improvements should improve battery life and CPU usage. A fair number of people had noticed that all the containers were waking up every few seconds for no particular reason. Now the healthcheck is every minute or so.
  • ddev import-db no longer automatically drops all tables in the database. Instead, your dumpfile should empty tables as necessary (or you can use another technique like ddev exec drush sql-drop -y

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @klonos kept the Backdrop drush extensions up-to-date, thanks!
  • @dasjoe updated ddev exec to make it properly accept input from stdin.

We love your PRs and issues, keep them coming! You're the reason this project works.

Commits since v1.9.1

478da828 Custom host and in-container commands, fixes #1372, fixes #1551 (#1702)
27b8fc1c Update drush for Backdrop to 1.0.0, fixes #1693 (#1694)
52c7915d Make ddev import-db accept stdin, fixes #1690 (#1704)
51246668 Reorganize web and db containers to have real user and hostname, persistent bash history, for #926 (#1688)
e8ec25fd Add segment to instrumentation, fixes #1640, fixes #1344 (#1696)
93ea28d6 [FIX] Use Stdin for tty detection, fixes #1690 (#1700)
456994fe Bind router functions only on docker interface (usually localhost), fixes #1662 (#1698)
ac4710df Stop reporting last status from ddev ssh, fixes #1681 (#1697)
527519b6 Update drush for Backdrop to 0.2.1, fixes #1686 (#1687)
a2b82a6a Quiet down healthchecks to save battery and CPU usage, fixes #1663 (#1674)
53fb9c0b Minor fixes to tests and documentation (#1679)
8c8a2de4 Improve handling of linux case where docker0 is down (#1671)
089eb3da Pre-enable common apache modules, fixes #1672 (#1675)

ddev - v1.9.1: Minor bug fixes, config.yaml validation

Published by rfay over 5 years ago

Minor bug-fix update

Everything you need to know about installation and update is in the v1.9.0 release notes.

v1.9.1 fixes a couple of problems that hopefully have affected just a few people. If you haven't had a problem, you probably don't need it, but it won't do any harm either.

  1. Upgrades from versions before v1.8.0 resulted in a panic on running most commands due to a difference between pre-v1.8.0 ~/.ddev/global_config.yaml and v1.9.0.
  2. Windows users who one way or another introduced CRs into their config.yaml saw failures due to over-aggressive validation by the golang yaml parser.

Commits since v1.9.0

4a94ab70 Revert to yaml.v2 since yaml.v3 doesn't work with CRLF (#1677)
30f68d84 Fix crash encountered with old global_config.yaml (#1673)

Installation/Upgrade

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

  • Please stop/remove all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • Delete your ~/.ddev/global_config.yaml (This is not strictly necessary but a user upgrading from a very old ddev version had a crash/panic because of the changed format in the old file.)
  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev (If you'd like to be on the ddev-edge homebrew channel, you can brew tap drud/ddev-edge)
  • Windows: Download the ddev_windows_installer below or with Chocolatey choco install ddev or choco upgrade ddev
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • The default domain used with ddev is now "ddev.site" instead of "ddev.local", see below. If you're like me, that will cause some occasional problems with what your fingers may type while the transition continues. (If you want to still use "ddev.local", use project_tld: ddev.local in your config.yaml.)
  • The drush setup inside the web container has changed; /usr/local/bin/drush is now "drush launcher"; it falls back to /usr/local/bin/drush8 if no site-local drush is found.
  • On Linux with nfsmount_enabled, if your computer gets a different IP address from DHCP routinely, you may need to adjust /etc/exports or re-run the NFS setup script to allow access to your new IP (from your new IP)

Key changes in v1.9.0

  • Stopped projects are now shown by ddev list and you can also start (or stop, or pause) them with ddev start <project> or ddev start --all (be careful with that!).

    A list of all projects is now maintained in ~/.ddev/global_config.yaml, and so even when project doesn't show up in docker's container tags, it is still available.

    Note that projects won't show up with ddev list until they have been started once.

    Please do report any issues you have with this, as this is a wide-ranging change. All ddev commands used to rely solely on docker container tags, so keeping an additional external catalog of them is huge.

  • The hook system has been significantly expanded, with pre- and post- hooks for most ddev commands, including post-composer, post-stop, etc. And you can use "exec" in any container, not just the web container. See latest docs on hook system

  • The new ddev share command allows you to share your project on the internet when you need someone to see it or you want to test with mobile devices or extra browsers, etc. This requires the free ngrok tool and optionally a free or paid ngrok account.

  • The default domain changes from "ddev.local" to "ddev.site", and DNS is used by default (when internet is available) to resolve the IP address. This means that /etc/hosts does not need to be modified, and administrative privileges are not (normally) required on ddev start. (This doesn't work on Docker Toolbox/Win10 Home.). You can change the domain in config.yaml, and you can turn off this behavior in config.yaml.)

Smaller Changes

  • (on Drupal) drush attempts to use the https URL when possible and mkcert root CAs are installed.
  • ddev list, ddev describe, and ddev start try to limit the number of URLs thrown at you by using the appropriate https or http URL only (even though the other still works).
  • The drush configuration tries to use https URLs where possible for things like drush uli.
  • The configuration to use drush on the host has changed, and the ddev_drush_settings.php file is obsolete and can be removed. And drush on the host works fine for most things, even works on Windows in a lot of cases (inside the docroot).
  • NFS installation scripts attempt to provide a more robust security environment, where the NFS share won't be accessible off the development machine.
  • Container and php timezone configuration now defaults to "UTC", but...
  • A timezone can now be configured in config.yaml, and affects both the container timezone and the php default timezone.
  • hirak/prestissimo is now composer-global-installed in the web container; it speeds up uncached composer installs by 2x or more.
  • The configuration of drush in the container has changed. /usr/local/bin/drush is now drush launcher, and it falls back to /usr/local/bin/drush8 if there is no site-local drush9.
  • Drupal settings.ddev.php is recreated on ddev start for teams that share configuration and don't want team members running ddev config, which used to be where it was created.
  • post-start hooks are always run on ddev start, even if they've already been run in the web container. They used to check to see if they'd already been run, mostly for apt-get install activities, but since those are now mostly handled by webimage_extra_packages this doesn't make sense any more.
  • ddev tries even harder to make sure that offline working is possible. It tries to make sure that update checks and instrumentation don't happen when offline. It can't do anything about an image you didn't pull while online though.

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @ctorgalson fixed a messy documentation markdown problem.
  • @damienmckenna promoted a much more robust use of https URLs in drush and major improvements to the memcache service example.
  • @powpow12 improved the drupal6/7 quickstart docs.

We love your PRs and issues, keep them coming! You're the reason this project works.

Commits since v1.8.0

198e9cd4 Improve linux setup script and docs (#1668)
b4b492c1 Bump container versions for v1.9.0 release (#1670)
e35a29cd Fix ddev share anomalies (#1667)
07797669 Special-case validation of timezone on windows, since golang windows can't do it (#1666)
b6cec4e0 Minor fixups for ddev share (#1664)
a717ffb5 Provide docker pull input on ddev start, fixes #1656 (#1661)
6ba9fd61 Rethink hooks and tasks, for #1372, fixes #1321, fixes #1071, fixes #1038 (#1634)
9dd03369 Support timezone in container and PHP, fixes #1658, fixes #1417, #709 (#1660)
92bc6d77 Add ddev share command, fixes #375 (#1643)
4ef7da12 Add hirak/prestissimo, fixes #1650 (#1654)
cfd5ee19 documentation not parsing markdown lists correctly, fixes #1646 (#1655)
c5d7a150 Make clearer that git clone examples are examples, fixes #1635 [skip ci][ci skip] (#1639)
41ea15e2 Use drush launcher and drush8 in container, fixes #1488 (#1638)
92e3513d ddev and drush should use https URL when possible inside and outside container, fixes #1624, fixes #1612 (#1625)
2a5016bf Leave the project_tld out of defaults in config.yaml (#1637)
58314044 Change ddev list to default to showing all (#1636)
c70b23d4 Improve NFS security posture, fixes #1471 (#1616)
e03fbde4 Fix nfstest.sh to use home dir instead of whole /Users (Test only) (#1630)
cf26e7bf Use DNS for name resolution in most cases, fixes #416, fixes #834 (#1611)
e696d176 Minor docs additions (ongoing PR), fixes #1482 [skip ci][ci skip] (#1622)
d3201a65 Track and list stopped/removed projects, fixes #642 (#1600)
a517b1ce Router should not blow away existing certificates on startup (#1629)
c7932184 Improvements to the memcache compose file (#1585)
2ae2d945 Use sh instead of bash for ddevapp.Exec and ssh on non-ddev containers (#1621)
ae194086 Make sure internet is active before trying operations that might hang, fixes #1601, Fixes #431 (#1607)
04bfc745 Use webimage_extra_packages for PHP module addon example(#1614) [skip ci][ci skip]
b7c5ef6b Fix capitalization error on gitigore webimageExtra dbimageExtra, fixes #1610 (#1615)
325f8f6c MailhogPort and friends should not normally show in config.yaml (#1608)
58e0d974 Create settings.ddev.php on ddev start, fixes #1423 (#1598)
e4cae3c2 Fix d6/d7 quick start install step [ci skip][skip ci] (#1605)
4c68b1ab Fixed order of hostname output, show https first, fixes #1580 (#1599)
04419c67 Allow PHPMyAdmin and Mailhog ports to be changed, fixes #1025 (#1594)
90768a98 Make sanetestbot.sh work with ddev v1.8 (#1604)
5f157850 Fix coding standards of generated Drupal settings, fixes #1582 (#1583)
9c486a4d Update PHP_DEFAULT_VERSION in web container (#1593)
85916d2a Report mkcert err to user (#1596)

Installation/Upgrade

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

  • Please stop/remove all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: brew untap drud/ddev; brew untap rfay/ddev; brew tap drud/ddev-edge && (brew upgrade ddev || brew install ddev)
  • Windows: Download the ddev_windows_installe executable below.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • The default domain used with ddev is now "ddev.site" instead of "ddev.local", see below. If you're like me, that will cause some occasional problems with what your fingers may type while the transition continues.
  • The drush setup inside the web container has changed; /usr/local/bin/drush is now "drush launcher"; it falls back to /usr/local/bin/drush8 if no site-local drush is found.
  • On Linux with nfsmount_enabled, if your computer gets a different IP address from DHCP routinely, you may need to adjust /etc/exports or re-run the NFS setup script to allow access to your new IP (from your new IP)

Key changes in v1.9.0

  • Stopped projects are now shown by ddev list and you can also start (or stop, or pause) them with ddev start <project> or ddev start --all (be careful with that!).

    A list of all projects is now maintained in ~/.ddev/global_config.yaml, and so even when project doesn't show up in docker's container tags, it is still available.

    Note that projects won't show up with ddev list until they have been started once.

    Please do report any issues you have with this, as this is a wide-ranging change. All ddev commands used to rely solely on docker container tags, so keeping an additional external catalog of them is huge.

  • The hook system has been significantly expanded, with pre- and post- hooks for most ddev commands, including post-composer, post-stop, etc. And you can use "exec" in any container, not just the web container. See latest docs on hook system

  • The new ddev share command allows you to share your project on the internet when you need someone to see it or you want to test with mobile devices or extra browsers, etc. This requires the free ngrok tool and optionally a free or paid ngrok account.

  • The default domain changes from "ddev.local" to "ddev.site", and DNS is used by default (when internet is available) to resolve the IP address. This means that /etc/hosts does not need to be modified, and administrative privileges are not (normally) required on ddev start. (This doesn't work on Docker Toolbox/Win10 Home.). You can change the domain in config.yaml, and you can turn off this behavior in config.yaml.)

Smaller Changes

  • (on Drupal) drush attempts to use the https URL when possible and mkcert root CAs are installed.
  • ddev list, ddev describe, and ddev start try to limit the number of URLs thrown at you by using the appropriate https or http URL only (even though the other still works).
  • The drush configuration tries to use https URLs where possible for things like drush uli.
  • The configuration to use drush on the host has changed, and the ddev_drush_settings.php file is obsolete and can be removed. And drush on the host works fine for most things, even works on Windows in a lot of cases (inside the docroot).
  • NFS installation scripts attempt to provide a more robust security environment, where the NFS share won't be accessible off the development machine.
  • Container and php timezone configuration now defaults to "UTC", but...
  • A timezone can now be configured in config.yaml, and affects both the container timezone and the php default timezone.
  • hirak/prestissimo is now composer-global-installed in the web container; it speeds up uncached composer installs by 2x or more.
  • The configuration of drush in the container has changed. /usr/local/bin/drush is now drush launcher, and it falls back to /usr/local/bin/drush8 if there is no site-local drush9.

Thanks!

There was loads of community collaboration in this release, we so appreciate your participation!

  • @ctorgalson fixed a messy documentation markdown problem.
  • @damienmckenna promoted a much more robust use of https URLs in drush and major improvements to the memcache service example.
  • @powpow12 improved the drupal6/7 quickstart docs.

We love your PRs and issues, keep them coming! You're the reason this project works.

Commits since v1.8.0

a717ffb5 Provide docker pull input on ddev start, fixes #1656 (#1661)
6ba9fd61 Rethink hooks and tasks, for #1372, fixes #1321, fixes #1071, fixes #1038 (#1634)
9dd03369 Support timezone in container and PHP, fixes #1658, fixes #1417, #709 (#1660)
92bc6d77 Add ddev share command, fixes #375 (#1643)
4ef7da12 Add hirak/prestissimo, fixes #1650 (#1654)
cfd5ee19 documentation not parsing markdown lists correctly, fixes #1646 (#1655)
c5d7a150 Make clearer that git clone examples are examples, fixes #1635 (#1639)
41ea15e2 Use drush launcher and drush8 in container, fixes #1488 (#1638)
92e3513d ddev and drush should use https URL when possible inside and outside container, fixes #1624, fixes #1612 (#1625)
2a5016bf Leave the project_tld out of defaults in config.yaml (#1637)
58314044 Change ddev list to default to showing all (#1636)
c70b23d4 Improve NFS security posture, fixes #1471 (#1616)
e03fbde4 Fix nfstest.sh to use home dir instead of whole /Users (Test only) (#1630)
cf26e7bf Use DNS for name resolution in most cases, fixes #416, fixes #834 (#1611)
e696d176 Minor docs additions (ongoing PR), fixes #1482 (#1622)
d3201a65 Track and list stopped/removed projects, fixes #642 (#1600)
a517b1ce Router should not blow away existing certificates on startup (#1629)
c7932184 Improvements to the memcache compose file (#1585)
2ae2d945 Use sh instead of bash for ddevapp.Exec and ssh on non-ddev containers (#1621)
ae194086 Make sure internet is active before trying operations that might hang, fixes #1601, Fixes #431 (#1607)
04bfc745 Use webimage_extra_packages for PHP module addon example(#1614)
b7c5ef6b Fix capitalization error on gitigore webimageExtra dbimageExtra, fixes #1610 (#1615)
325f8f6c MailhogPort and friends should not normally show in config.yaml (#1608)
58e0d974 Create settings.ddev.php on ddev start, fixes #1423 (#1598)
e4cae3c2 Fix d6/d7 quick start install step (#1605)
4c68b1ab Fixed order of hostname output, show https first, fixes #1580 (#1599)
04419c67 Allow PHPMyAdmin and Mailhog ports to be changed, fixes #1025 (#1594)
90768a98 Make sanetestbot.sh work with ddev v1.8 (#1604)
5f157850 Fix coding standards of generated Drupal settings, fixes #1582 (#1583)
9c486a4d Update PHP_DEFAULT_VERSION in web container (#1593)
85916d2a Report mkcert err to user (#1596)

ddev - v1.9.0-alpha2: Use DNS with "ddev.site" domain name

Published by rfay over 5 years ago

Installation/Upgrade

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

  • Please stop/remove all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: brew untap drud/ddev && brew tap rfay/ddev && brew upgrade ddev
  • Windows: Download the ddev_windows_installer.v1.9.0-alpha2.exe below.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

  • The domain used with ddev is now "ddev.site" instead of "ddev.local", see below. If you're like me, that will cause some occasional problems with what your fingers may type while the transition continues.
  • The drush setup inside the web container has changed; /usr/local/bin/drush is now "drush launcher"; it falls back to /usr/local/bin/drush8 if no site-local drush is found.
  • On Linux with nfsmount_enabled, if your computer gets a different IP address from DHCP routinely, you may need to adjust /etc/exports or re-run the NFS setup script to allow access to your new IP (from your new IP)

Key changes in v1.9.0-alpha2

There are a number of bugfixes and minor changes here, but one big thing for testing

ddev uses the domain name "ddev.site" and uses DNS when it can to resolve project names. This means that unless you're offline, no sudo's will be required to add hosts to your /etc/hosts file. If you are offline, then ddev automatically detects the need to add to the hosts file during ddev start. The use_dns_when_possible and project_tld config.yaml directives can be used to change this behavior.

Also:

  • drush attempts to use the https URL when possible and mkcert root CAs are installed
  • ddev list, ddev describe, and ddev start try to limit the number of URLs thrown at you by using the appropriate https or http URL only (even though the other still works).
  • NFS installation scripts attempt to provide a more robust security environment, where the NFS share won't be accessible off the development machine.

And remember the one big thing from v1.9.0-alpha1, which we're hoping to have lots of people report their experiences with:

Stopped projects are now shown by ddev list and you can also start (or stop, or pause) them with ddev start <project>

Note that ddev list now shows all projects, ddev list --active-only will show projects that aren't stopped.

A list of all projects is now maintained in ~/.ddev/global_config.yaml, and so even when project doesn't show up in docker's container tags, it is still available.

Note that projects won't show up with ddev list --all until they have been started once.

Please do report any issues you have with this, as it's a wide-ranging change. All ddev commands used to rely solely on docker container tags, so keeping an additional external catalog of them is huge.

Commits since v1.8.0

41ea15e2 Use drush launcher and drush8 in container, fixes #1488 (#1638)
92e3513d ddev and drush should use https URL when possible inside and outside container, fixes #1624, fixes #1612 (#1625)
2a5016bf Leave the project_tld out of defaults in config.yaml (#1637)
58314044 Change ddev list to default to showing all (#1636)
c70b23d4 Improve NFS security posture, fixes #1471 (#1616)
e03fbde4 Fix nfstest.sh to use home dir instead of whole /Users (Test only) (#1630)
cf26e7bf Use DNS for name resolution in most cases, fixes #416, fixes #834 (#1611)
e696d176 Minor docs additions (ongoing PR), fixes #1482 [skip ci][ci skip] (#1622)
d3201a65 (v1.9.0-alpha1) Track and list stopped/removed projects, fixes #642 (#1600)
a517b1ce Router should not blow away existing certificates on startup (#1629)
c7932184 Improvements to the memcache compose file (#1585)
2ae2d945 Use sh instead of bash for ddevapp.Exec and ssh on non-ddev containers (#1621)
ae194086 Make sure internet is active before trying operations that might hang, fixes #1601, Fixes #431 (#1607)
04bfc745 Use webimage_extra_packages for PHP module addon example(#1614) [skip ci][ci skip]
b7c5ef6b Fix capitalization error on gitigore webimageExtra dbimageExtra, fixes #1610 (#1615)
325f8f6c MailhogPort and friends should not normally show in config.yaml (#1608)
58e0d974 Create settings.ddev.php on ddev start, fixes #1423 (#1598)
e4cae3c2 Fix d6/d7 quick start install step [ci skip][skip ci] (#1605)
4c68b1ab Fixed order of hostname output, show https first, fixes #1580 (#1599)
04419c67 Allow PHPMyAdmin and Mailhog ports to be changed, fixes #1025 (#1594)
90768a98 Make sanetestbot.sh work with ddev v1.8 (#1604)
5f157850 Fix coding standards of generated Drupal settings, fixes #1582 (#1583)
9c486a4d Update PHP_DEFAULT_VERSION in web container (#1593)
85916d2a Report mkcert err to user (#1596)

ddev - v1.9.0-alpha1: Stopped projects can be used, `ddev list --all`

Published by rfay over 5 years ago

Installation/Upgrade

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

  • Please stop/remove all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: brew untap drud/ddev && brew tap rfay/ddev && brew upgrade ddev
  • Windows: Download the ddev_windows_installer.v1.9.0-alpha1.exe below.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • You'll want to do a ddev config && ddev start for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.

Caveats

Key changes in v1.9.0-alpha1

There are a number of bugfixes and minor changes here, but one big thing for testing

Stopped projects are now shown by ddev list --all and you can also start (or stop, or pause) them with ddev start <project>

A list of all projects is now maintained in ~/.ddev/global_config.yaml, and so even when project doesn't show up in docker's container tags, it is still available.

Note that projects won't show up with ddev list --all until they have been started once.

Please do report any issues you have with this, as it's a wide-ranging change. All ddev commands used to rely solely on docker container tags, so keeping an additional external catalog of them is huge.

Commits since v1.8.0

d3201a65 Track and list stopped/removed projects, fixes #642 (#1600)
a517b1ce Router should not blow away existing certificates on startup (#1629)
c7932184 Improvements to the memcache compose file (#1585)
2ae2d945 Use sh instead of bash for ddevapp.Exec and ssh on non-ddev containers (#1621)
ae194086 Make sure internet is active before trying operations that might hang, fixes #1601, Fixes #431 (#1607)
04bfc745 Use webimage_extra_packages for PHP module addon example(#1614)
b7c5ef6b Fix capitalization error on gitigore webimageExtra dbimageExtra, fixes #1610 (#1615)
325f8f6c MailhogPort and friends should not normally show in config.yaml (#1608)
58e0d974 Create settings.ddev.php on ddev start, fixes #1423 (#1598)
e4cae3c2 Fix d6/d7 quick start install step [ci skip][skip ci] (#1605)
4c68b1ab Fixed order of hostname output, show https first, fixes #1580 (#1599)
04419c67 Allow PHPMyAdmin and Mailhog ports to be changed, fixes #1025 (#1594)
90768a98 Make sanetestbot.sh work with ddev v1.8 (#1604)
5f157850 Fix coding standards of generated Drupal settings, fixes #1582 (#1583)
9c486a4d Update PHP_DEFAULT_VERSION in web container (#1593)
85916d2a Report mkcert err to user (#1596)

ddev - v1.8.0: Trusted SSL, Extra Packages, SO MANY GOODIES

Published by rfay over 5 years ago

Installation/Upgrade

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

  • Please stop/remove all projects first, this does no harm: ddev remove --all --stop-ssh-agent
  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.8.0.exe below or with Chocolatey choco install ddev or choco upgrade ddev (or choco install ddev --version=1.8.0 while it's in the approval process.)
    And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • For this release (all versions) you'll want to do mkcert -install; Watch what it says to you. You may have a little extra work to do on Linux
  • You'll want to do a ddev config for each project just to update the config file so it has the current APIVersion in it. Otherwise ddev will keep pestering you to do that.
  • Please see the "Incompatibilities and Things to Upgrade" section below. You'll want to update config.yaml hooks that use bash -c, and if using custom nginx configuration will want to update your nginx config (but it's easier now!)

Key changes in v1.8.0:

  • Browsers and host OSs now trust ddev sites over https. You do have to take the one-time action to install the CA keys into your operating system and browsers: mkcert -install. If you use one of the package installation methods or the WIndows installer, you should already have mkcert. Otherwise, see the mkcert page for installation options. (Even curl and operating system tools generally trust the mkcert certs, and curl within the container also trusts them.)
  • Dynamic container updates: If you need extra Debian packages in your web or db container (or need to make more sophisticated adjustments) you no longer have to wait for them, or install them every time you start a project. You can add webimage_extra_packages to your config.yaml or build a free-form Dockerfile (Dockerfile.example provided in your .ddev folder)
  • The "stop" and "remove" commands have been changed a bit. ddev stop now does what ddev remove used to do. It removes the containers and saves resources on your host. ddev remove is still available as an alias of ddev stop. And ddev pause takes the place of the former ddev stop - it just does a "docker stop" on the project containers and leaves them in zombie state. This is the workflow we've promoted for some time, as we've been suggesting that people use "remove" in general, but now it's just named "stop".
  • nginx configuration in the web container has been reorganized and simplified. This mostly won't matter to you unless you use custom nginx configuration, in which case you'll want to upgrade your configuration (see below). docs
  • ddev exec and exec hooks now interpret commands using bash. This means you can have a hook like "sudo apt-get update && sudo apt-get install -y some-package" without putting "bash -c" in front of it. And you can ddev exec "sudo apt-get update && sudo apt-get upgrade -y some-package" as well, no bash -c required.
  • ddev exec can now work with interactive situations. So for example, you can ddev exec mysql and interact with the mysql program directly. Or ddev exec bash, which is the same as ddev ssh.

Smaller changes

  • There is now an exposed https port on localhost (not going through the router). It is reported on ddev start and via ddev describe. (As with the http port, the https localhost port can be locked down in the config.yaml, but most people won't need to do this. See the .ddev/config.yaml for instructions.)
  • Since https is preferred everywhere now, the reported URLs are now https-first, http second.
  • The composer cache has moved from a volume named "ddev-composer-cache" to a new volume named "ddev-global-cache". If you want to, you can docker volume rm ddev-composer-cache.
  • blackfire.io and php-pgsql packages was added to web container. If you were previously adding them with a post-start hook, you don't have to do that any more..
  • Windows users will be warned when they have more than 10 sites/hostnames represented in the hosts file, since WIndows stops resolving over 10 hostnames.
  • The webcache feature is officially deprecated and is no longer getting automated test coverage, but no date has been set to remove it. Maybe it will just live on until there's something to compete with it for automated testing speed. (docs)
  • New flag ddev --version gets just the ddev version without all the details in ddev version
  • Multiple hostname resolution in web container: There was a long-term bug (#1235) where you couldn't use curl against the hostname if additional_hostnames or additional_fqdns were enabled, that's fixed.
  • drush once again works on the host (macOS and Linux). It was broken on v1.7.1 because the ddev_drush_settings.php got dropped into the wrong place when generated.
  • nginx in the web container no longer intercepts and reports 40x errors, they'll be handled by the PHP application.
  • ddev config no longer searches for and uses a .ddev/config.yaml in a parent directory (although it does warn if it finds one). This led to people accidentally using unintentially created config files in non-project parent directories, including the home directory. Running ddev config in home directory is now disallowed.
  • ddev composer create --no-interaction passes the --no-interaction file to composer, but no longer will continue without asking for confirmation before destroying the project directory; confirmation is required.

Incompatibilities and things to fix during upgrade

  • The base nginx configuration has changed. If you are overriding configuration with an nginx-site.conf file, you'll want to re-do it (it's much easier now). In addition, small pieces of nginx configuration can now be added in the .ddev/nginx directory. See the docs for more information.
  • config.yaml "exec" hooks are now executed with bash context by default. If you have exec hooks that have "bash -c" in them, please remove that, as they can't be interpreted correctly by the new execution mechanism.
  • If you or your team used to use ddev stop instead of ddev remove, the new behavior of "stop" may seem different, but it hopefully won't affect most people. However, if you have an add-on docker-compose.*.yaml service that has volatile storage, you may want to change it to save its database on a volume, as ddev stop now completely brings down the containers, and if they had volatile content, it will be gone.
  • If you use drush in exec hooks, and the action you take requires confirmation, please change the exec hook to use drush --yes. Formerly, --yes was implied by exec hooks and ddev exec, but it isn't any more.

Thanks!

Many community members helped out with this release.

  • @damienmckenna , @wizonesolutions , and @mglaman among others worked to significantly improve the Apache Solr docs and example docker-compose.solr.yaml, and added a docker volume so the solr database would be nonvolatile after ddev stop.
  • @AronNovak created the PR to have the ddev-webserver nginx configuration not intercept 40x errors.
  • @yanniboi and @isholgueras were kind enough to catch and PR docs errors.
  • @dacostafilipe introduced a PR adding pgsql libraries
  • @jonaseverle and @hebbet helped test the release
  • Thanks to all of you for the issues you created, bugs you pointed out, features you requested, support you gave in Slack and elsewhere, and for your support of ddev!

And the amazing mkcert from @FiloSottile made the seemingly impossible task of trusted local development certificates possible. Thanks! Is open source great or what?

Commits since v1.7.1

e85d60c2 Fix typo in description, change completion to 'has been stopped' (#1590)
4038b549 Improve mkcert docs for linux [skip ci][ci skip] (#1591)
f928dcb9 Improve wordpress quickstart with ddev config [skip ci][ci skip] (#1592)
689ea9ee Re-use the v1.8.0 tag even though small change was made in web container (#1589)
421efebb Remove --yes drush behavior when in ddev exec behavior, fixes #1584 (#1586)
16f109eb Revert parent config search, prevent directory destruction, hopefully fixes #1574 (#1576)
9b6fcadd Bump container versions to v1.8.0 (#1581)
96e78d8a Interpret ddev exec and hooks with bash, fixes #1023 (#1570)
a41256c2 Warn windows users when hosts file has too many entries on a line, fixes #948 (#1575)
24e1d8d2 Further improved Solr install docs. (#1568)
07ac3661 Add quickstart for PHP project [skip ci][ci skip] (#1573)
f3c9b0db ddev exec command should allow tty interactions (#1571)
2bf13b94 Use StartAndWaitForSync to accomodate docker toolbox slowness (#1572)
70917c6d Use docker-compose build for dynamic containers, allow easier container config (#1560)
81c4b2e0 ddev-webserver Nginx - do not intercept 400 errors (#1555)
7e9b172a Fix mark down format for hook examples. (#1565)
980cb5c9 Use sudo to copy mysql config files, fixes #1541 (#1563)
41e99543 apache-cgi should respect php overrides, fixes #1556 (#1557)
baef9b25 Test improvements for Win 10 Docker Toolbox (#1561)
dc340c9a Use restart: no on additional service examples (#1559)
49f3b508 Add blackfire.io to web container, fixes #653 (#1545)
e484c99e Improved Solr install docs, update to 6.6 (#1549)
761938f2 Use docker volume in sample apachesolr config (#1538)
7b2fbab6 SetSiteSettingsPaths() has to be set after we've read the config, fixes #1553 (#1554)
97c660af Trust SSL/TLS Certificates, fixes #1247, fixes #1501, fixes #849 (#1540)
be8505e3 Fix CaptureLogs to just capture stdout (#1550)
5940cdb3 Add separate lines for each external_links, fixes #1235 (#1546)
a2d191e8 Change PHP typo when it should be MySQL (#1532) [skip ci][ci skip]
beab35d9 Improve docs with DEBIAN_FRONTEND=noninteractive in apt-get examples [skip ci][ci skip] (#1543)
899386bc More robust handling of ddev stop -RO, remove from global list, fixes #1523 (#1531)
44f2c247 Rename stop-containers to pause, so ddev pause, follow up to #1526 (#1537)
93885347 Reorganize stop and remove commands (use stop), fixes #484 (#1526)
e64019e6 Improve "ddev version" and add --version flag, fixes #960 (#1527)
34c84c73 Deprecate webcache_enabled, fixes #1495 (#1530)
573fb002 Generate homebrew bottles for Linux and macOS for #1516 (#1524)
a9380962 Use CircleCI's new Ubuntu 16.04 machine image (#1513)
60e0d25d Minor release docs improvements (#1525)
0a70f468 Add wordpress composer recipe, simplify others, [skip ci][ci skip] (#1519)
21dbe0e1 Minor improvements to mariadb binlog management (#1515)
ce861669 Add missing php-pgsql packages to ddev-webserver container (#1514)
8b06e0fe Add fileinfo to required php extensions in docs [skip ci] [ci skip] (#1512)

ddev - v1.8.0-rc1 Testing prerelease

Published by rfay over 5 years ago

Draft Release Notes for v1.8.0

Installation/Upgrade

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

  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.7.1.exe above or with Chocolatey choco install ddev or choco upgrade ddev (or choco install ddev --version=1.7.1 while it's in the approval process.)
    And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • Please see the "Incompatibilities and Things to Upgrade" section below. You'll want to update config.yaml hooks that use bash -c, and if using custom nginx configuration will want to update your nginx config (but it's easier now!)

Key changes in v1.8.0:

  • Browsers and host OSs now trust ddev sites over https. You do have to take the one-time action to install the CA keys into your operating system and browsers: mkcert -install. If you use one of the package installation methods or the WIndows installer, you should already have mkcert. Otherwise, see the mkcert page for installation options. (Even curl and operating system tools generally trust the mkcert certs, and curl within the container also trusts them.)
  • Dynamic container updates: If you need extra Debian packages in your web or db container (or need to make more sophisticated adjustments) you no longer have to wait for them, or install them every time you start a project. You can add webimage_extra_packages to your config.yaml or build a free-form Dockerfile (Dockerfile.example provided in your .ddev folder)
  • The "stop" and "remove" commands have been changed a bit. ddev stop now does what ddev remove used to do. It removes the containers and saves resources on your host. ddev remove is still available as an alias of ddev stop. And ddev pause takes the place of the former ddev stop - it just does a "docker stop" on the project containers and leaves them in zombie state. This is the workflow we've promoted for some time, as we've been suggesting that people use "remove" in general, but now it's just named "stop".
  • nginx configuration in the web container has been reorganized and simplified. This mostly won't matter to you unless you use custom nginx configuration, in which case you'll want to upgrade your configuration (see below). docs
  • ddev exec and exec hooks now interpret commands using bash. This means you can have a hook like "sudo apt-get update && sudo apt-get install -y some-package" without putting "bash -c" in front of it. And you can ddev exec "sudo apt-get update && sudo apt-get upgrade -y some-package" as well, no bash -c required.
  • ddev exec can now work with interactive situations. So for example, you can ddev exec mysql and interact with the mysql program directly. Or ddev exec bash, which is the same as ddev ssh.

Smaller changes

  • There is now an exposed https port on localhost (not going through the router). It is reported on ddev start and via ddev describe. (As with the http port, the https localhost port can be locked down in the config.yaml, but most people won't need to do this. See the .ddev/config.yaml for instructions.)
  • Since https is preferred everywhere now, the reported URLs are now https-first, http second.
  • The composer cache has moved from a volume named "ddev-composer-cache" to a new volume named "ddev-global-cache". If you want to, you can docker volume rm ddev-composer-cache.
  • blackfire.io and php-pgsql packages was added to web container. If you were previously adding them with a post-start hook, you don't have to do that any more..
  • Windows users will be warned when they have more than 10 sites/hostnames represented in the hosts file, since WIndows stops resolving over 10 hostnames.
  • The webcache feature is officially deprecated and is no longer getting automated test coverage, but no date has been set to remove it. Maybe it will just live on until there's something to compete with it for automated testing speed. (docs)
  • New flag ddev --version gets just the ddev version without all the details in ddev version
  • Multiple hostname resolution in web container: There was a long-term bug (#1235) where you couldn't use curl against the hostname if additional_hostnames or additional_fqdns were enabled, that's fixed.
  • drush once again works on the host (macOS and Linux). It was broken on v1.7.1 because the ddev_drush_settings.php got dropped into the wrong place when generated.
  • nginx in the web container no longer intercepts and reports 40x errors, they'll be handled by the PHP application.
  • ddev config no longer searches for and uses a .ddev/config.yaml in a parent directory (although it does warn if it finds one). This led to people accidentally using unintentially created config files in non-project parent directories, including the home directory. Running ddev config in home directory is now disallowed.
  • ddev composer create --no-interaction passes the --no-interaction file to composer, but no longer will continue without asking for confirmation before destroying the project directory; confirmation is required.

Incompatibilities and things to fix during upgrade

  • The base nginx configuration has changed. If you are overriding configuration with an nginx-site.conf file, you'll want to re-do it (it's much easier now). In addition, small pieces of nginx configuration can now be added in the .ddev/nginx directory. See the docs for more information.
  • config.yaml "exec" hooks are now executed with bash context by default. If you have exec hooks that have "bash -c" in them, please remove that, as they can't be interpreted correctly by the new execution mechanism.
  • If you or your team used to use ddev stop instead of ddev remove, the new behavior of "stop" may seem different, but it hopefully won't affect most people. However, if you have an add-on docker-compose.*.yaml service that has volatile storage, you may want to change it to save its database on a volume, as ddev stop now completely brings down the containers, and if they had volatile content, it will be gone.

Thanks!

Many community members helped out with this release.

  • @damienmckenna , @wizonesolutions , and @mglaman among others worked to significantly improve the Apache Solr docs and example docker-compose.solr.yaml, and added a docker volume so the solr database would be nonvolatile after ddev stop.
  • @AronNovak created the PR to have the ddev-webserver nginx configuration not intercept 40x errors.
  • @yanniboi and @isholgueras were kind enough to catch and PR docs errors.
  • @dacostafilipe introduced a PR adding pgsql libraries
  • Thanks to all of you for the issues you created, bugs you pointed out, features you requested, support you gave in Slack and elsewhere, and for your support of ddev!

And the amazing mkcert from @FiloSottile made the seemingly impossible task of trusted local development certificates possible. Thanks! Is open source great or what?

Commits since v1.7.1

07ac3661 Add quickstart for PHP project [skip ci][ci skip] (#1573)
f3c9b0db ddev exec command should allow tty interactions (#1571)
2bf13b94 Use StartAndWaitForSync to accomodate docker toolbox slowness (#1572)
70917c6d Use docker-compose build for dynamic containers, allow easier container config (#1560)
81c4b2e0 ddev-webserver Nginx - do not intercept 400 errors (#1555)
7e9b172a Fix mark down format for hook examples. (#1565)
980cb5c9 Use sudo to copy mysql config files, fixes #1541 (#1563)
41e99543 apache-cgi should respect php overrides, fixes #1556 (#1557)
baef9b25 Test improvements for Win 10 Docker Toolbox (#1561)
dc340c9a Use restart: no on additional service examples (#1559)
49f3b508 Add blackfire.io to web container, fixes #653 (#1545)
e484c99e Improved Solr install docs, update to 6.6 (#1549)
761938f2 Use docker volume in sample apachesolr config (#1538)
7b2fbab6 SetSiteSettingsPaths() has to be set after we've read the config, fixes #1553 (#1554)
97c660af Trust SSL/TLS Certificates, fixes #1247, fixes #1501, fixes #849 (#1540)
be8505e3 Fix CaptureLogs to just capture stdout (#1550)
5940cdb3 Add separate lines for each external_links, fixes #1235 (#1546)
a2d191e8 Change PHP typo when it should be MySQL (#1532) [skip ci][ci skip]
beab35d9 Improve docs with DEBIAN_FRONTEND=noninteractive in apt-get examples [skip ci][ci skip] (#1543)
899386bc More robust handling of ddev stop -RO, remove from global list, fixes #1523 (#1531)
44f2c247 Rename stop-containers to pause, so ddev pause, follow up to #1526 (#1537)
93885347 Reorganize stop and remove commands (use stop), fixes #484 (#1526)
e64019e6 Improve "ddev version" and add --version flag, fixes #960 (#1527)
34c84c73 Deprecate webcache_enabled, fixes #1495 (#1530)
573fb002 Generate homebrew bottles for Linux and macOS for #1516 (#1524)
a9380962 Use CircleCI's new Ubuntu 16.04 machine image (#1513)
60e0d25d Minor release docs improvements (#1525)
0a70f468 Add wordpress composer recipe, simplify others, [skip ci][ci skip] (#1519)
21dbe0e1 Minor improvements to mariadb binlog management (#1515)
ce861669 Add missing php-pgsql packages to ddev-webserver container (#1514)
8b06e0fe Add fileinfo to required php extensions in docs [skip ci] [ci skip] (#1512)

ddev - v1.7.1: config.local.yaml, static host ports for containers

Published by rfay over 5 years ago

Installation/Upgrade

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

  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.7.1.exe above or with Chocolatey choco install ddev or choco upgrade ddev (or choco install ddev --version=1.7.1 while it's in the approval process.)
    And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.

NOTE: Especially to mariadb 10.1 users: If you had to explicitly set the dbcontainer version in your .ddev/config.yaml due to the bug in v1.6.0, please remove that now.

Key changes in v1.7.1:

  • config.*.yaml overrides: local configuration files can be used to override a team-standard checked-in .ddev/config.yaml. See docs. #1504 and #1410.
  • Optional static bind ports for db and webserver containers. Those who want the dbserver or webserver bound port to be static within a project can use host_db_port or host_webserver_port to specify it: #1502, #1491, #941
  • Previous versions of Docker for Mac supported operating systems back to El Capitan, but Docker-for-Mac has dropped support for anything before macOS Sierra 10.12, so ddev also has to drop support for everything before Sierra.
  • The default PHP version changes to 7.2. This affects new Drupal 8 and Drupal 7 projects, as well as projects of type "php".
  • Fix regression in v1.5.0 where mariadb_version = 10.1 did not properly set the container version to the 10.1 container version.
  • The ddev-dbserver images now use the official MariaDB docker image (which uses Debian) as a base, instead of building a custom Alpine image. This should be invisible to all users, but we love to hear feedback.

Thanks!

Many community members helped out with this release.

  • Thanks to @janhelke for PR #1484 - community initiatives are so welcome!
  • Many of you filed issues and helped point out important improvements.
  • Thanks to @akalata for rolling up her sleeves and testing this release!

Commits since v1.6.0

fa0bc131 Bump containers to v1.7.0 (#1511)
9958c903 Minor web container and router container config changes, fixes #1507, fixes #1447 (#1510)
9fb54a47 Static configuration of webserver and dbserver localhost ports, bind only to localhost, fixes #1491, fixes #941, #642 too (#1502)
f12bbe90 Update to build-tools 2.2.1: Golang v1.12.1 and fix GOCACHE (#1508)
aaeaadff Allow config..yml files to override config.yaml, fixes #1410 (#1504)
2ccc3f4a The old bind-mounted db code is now fully obsolete, remove it (#1506)
c39d6bd6 Change default PHP version from 7.1 to 7.2 (#1497)
e3e30f0d Remove use of import-db directory (#1445)
8fd114c4 Improve macos buildkite setup instructions [skip ci][ci skip] (#1500)
d94d4bb8 Remove 4/5 of macOS CircleCI tests (and container build), fixes #1487 (#1498)
7c449043 Regression: mariadb_version should work correctly, but be overridden by DBImage, fixes #1455 (#1494)
671e1b17 Make longer server names possible (#1484)
f0a57dd4 Increase timeout for db startup, fixes #1477 (#1493)
f03c0f6a Add .mysql* to list of accepted import-db filetypes, fixes #1483 (#1492)
58ecdf16 We no longer have to cleanup the temp dir as it's cleaned up in the mv process, fixes #1457 (#1486)
7ce1ed8d Invalidate homebrew cache with new version (#1480)
ba273114 Fix error in docs about ddev compose-config (#1478)
e7c01335 Move to build-tools 2.2.0 in support of getting ddev to appveyor (#1470)
b39e6f23 Use the official Mariadb image as base for ddev-dbserver (#1476)
fbfb3e9b Fix Windows NFS script when username has spaces, fixes #1452 (#1453)
fe1b8ddb Increase version requirement for ddev to macOS Sierra 10.12 since docker has increased theirs (#1467)
23d8d361 Improve curl commands so they fail when they should on build (#1451)

ddev - v1.7.0 Prerelease testing

Published by rfay over 5 years ago

Installation/Upgrade

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

  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.7.0.exe above or with Chocolatey choco install ddev or choco upgrade ddev (or choco install ddev --version=1.7.0 while it's in the approval process.)
    And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.

NOTE: Especially to mariadb 10.1 users: If you had to explicitly set the dbcontainer version in your .ddev/config.yaml due to the bug in v1.6.0, please remove that now.

Key changes in v1.7.0:

  • config.*.yaml overrides: local configuration files can be used to override a team-standard checked-in .ddev/config.yaml. See docs. #1504 and #1410.
  • Optional static bind ports for db and webserver containers. Those who want the dbserver or webserver bound port to be static within a project can use host_db_port or host_webserver_port to specify it: #1502, #1491, #941
  • Previous versions of Docker for Mac supported operating systems back to El Capitan, but Docker-for-Mac has dropped support for anything before macOS Sierra 10.12, so ddev also has to drop support for everything before Sierra.
  • The default PHP version changes to 7.2. This affects new Drupal 8 and Drupal 7 projects, as well as projects of type "php".
  • Fix regression in v1.5.0 where mariadb_version = 10.1 did not properly set the container version to the 10.1 container version.
  • The ddev-dbserver images now use the official MariaDB docker image (which uses Debian) as a base, instead of building a custom Alpine image. This should be invisible to all users, but we love to hear feedback.

Thanks!

Many community members helped out with this release.

  • Thanks to @janhelke for PR #1484 - community initiatives are so welcome!
  • Many of you filed issues and helped point out important improvements.
  • Thanks to @akalata for rolling up her sleeves and testing this release!

Commits since v1.6.0

fa0bc131 Bump containers to v1.7.0 (#1511)
9958c903 Minor web container and router container config changes, fixes #1507, fixes #1447 (#1510)
9fb54a47 Static configuration of webserver and dbserver localhost ports, bind only to localhost, fixes #1491, fixes #941, #642 too (#1502)
f12bbe90 Update to build-tools 2.2.1: Golang v1.12.1 and fix GOCACHE (#1508)
aaeaadff Allow config..yml files to override config.yaml, fixes #1410 (#1504)
2ccc3f4a The old bind-mounted db code is now fully obsolete, remove it (#1506)
c39d6bd6 Change default PHP version from 7.1 to 7.2 (#1497)
e3e30f0d Remove use of import-db directory (#1445)
8fd114c4 Improve macos buildkite setup instructions [skip ci][ci skip] (#1500)
d94d4bb8 Remove 4/5 of macOS CircleCI tests (and container build), fixes #1487 (#1498)
7c449043 Regression: mariadb_version should work correctly, but be overridden by DBImage, fixes #1455 (#1494)
671e1b17 Make longer server names possible (#1484)
f0a57dd4 Increase timeout for db startup, fixes #1477 (#1493)
f03c0f6a Add .mysql* to list of accepted import-db filetypes, fixes #1483 (#1492)
58ecdf16 We no longer have to cleanup the temp dir as it's cleaned up in the mv process, fixes #1457 (#1486)
7ce1ed8d Invalidate homebrew cache with new version (#1480)
ba273114 Fix error in docs about ddev compose-config (#1478)
e7c01335 Move to build-tools 2.2.0 in support of getting ddev to appveyor (#1470)
b39e6f23 Use the official Mariadb image as base for ddev-dbserver (#1476)
fbfb3e9b Fix Windows NFS script when username has spaces, fixes #1452 (#1453)
fe1b8ddb Increase version requirement for ddev to macOS Sierra 10.12 since docker has increased theirs (#1467)
23d8d361 Improve curl commands so they fail when they should on build (#1451)

ddev - v1.6.0: NFS mounting, Chocolatey for Windows

Published by rfay over 5 years ago

Installation/Upgrade

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

  • macOS Homebrew and Linux Linuxbrew: brew upgrade ddev
  • Linux or macOS via script:
    curl https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
  • Windows: Download the ddev_windows_installer.v1.6.0.exe above or with Chocolatey choco install ddev or choco upgrade ddev (or for now choco install ddev --version=1.6.0 while it's in the approval process.)
    And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.

Key changes in v1.6.0:

  • ddev now supports) NFS mounting into the container on all platforms. This provides nearly the speed increase of the experimental webcache feature, but with far greater reliability, and it works on all platforms. In addition, it seems to solve perpetual symlink problems that windows users had. It does require some configuration on the host side, so please read the docs
  • Chocolatey installs on Windows: Chocolatey is a leading package manager for Windows, and it makes so many packages so easy to install. On our Windows testbots we use choco to install all the key items that a testbot needs with choco install -y git mysql-cli golang make docker-desktop nssm GoogleChrome zip jq composer cmder netcat ddev, note that ddev is in there now :). This version may not be available for a few days because the approval process is slow, but it will soon be available by version with choco install ddev --version=1.6.0
  • The ddev-dbserver container has been updated so that triggers work, for those of you who use triggers.
  • Xdebug now works on docker toolbox with no customization.
  • For teams that use webcache_enabled: true, Windows and Linux no longer fail if they encounter that configuration, they just warn that it's not supported there.
  • Root/sudo usage of ddev is prevented (#1407). We found that people kept getting themselves in trouble by trying to use sudo and then they would have files that could not be accessed by an ordinary user.

Commits since v1.5.2

93c03fae Improve NFS documentation and install script, especially for Windows (#1442)
1ec12231 Don't complain if nfs volume not found (#1444)
c2a3d49c Push al(most) all artifacts to where we want them to go (#1438)
b8cd0a4b Kill containers before sanetetbot (#1440)
f024447e Bump release version to v1.6.0 pre-pushed containers (#1439)
6c61dfed Allow a user to remove a project by name after deleting project directory, closes #1338 (#1345)
f4739bbc Fix nightly build broken by #1425 (#1435)
221674aa Support chocolatey for Windows user installation (#1405)
aae18dd8 Rework CircleCI config to do macOS builds, fixes #1415 (#1425)
d21e90ca Update starter (from scratch) database caches to match mariadb version, fixes #1340 (#1434)
25dc4c27 Fix version constraint to have a pre, fixes #1431 (#1433)
b79e7ec8 Specify how project names work in pantheon (docs) (#1413)
64a43c83 Implement nfs mounted project directory, fixes #976 (#1396)
7f738b6a Minor: Better volume cleanup before running tests and full remove (#1428)
4857f5f5 Make sanetestbot.sh wait for docker to be ready (#1427)
97aaf3f4 Bump pinned mariaDB pinned version to solve container build problems (#1429)
00ef6f1e Automatically create release on tag creation, closes #1091 (#1230)
4ddce0e5 Notify when the project type does not support import-files, fixes #1416 (#1420)
5d1bac2c ddev auth ssh should show key it's working on (docker toolbox), fixes #1394 (#1404)
3efc8262 Do not report trying to delete nonexistent docker volumes, fixes #1382 (#1408)
9ac8a0d8 Skip prerelease versions in update check (#1409)
e153ea08 Prevent running as root except for ddev hostname, fixes #1379 (#1407)
c30653bc Make dbimage work again in config.yaml, fixes #1374 (#1402)
7d1d59dd Add trigger privilege to default db, fixes #1398 (#1399)
13efcc45 ddev composer should fail if composer fails, fixes #1373 (#1400)
1aa01097 Support xdebug on Docker Toolbox, fixes #1297 (#1391)
105201d6 Make webcache_enabled just a warning on non-macOS, fixes #1395 (#1390)
7cc27523 Fix Maintenance status in Readme (#1393)
67125da9 Don't ask about sentry if DDEV_NO_SENTRY (#1392)
e315a1de Improvements to bgsync/webcache debugging, testing, and behavior (#1389)
3797c403 Try docker command twice in sanetestbot.sh, minor improvements to sanetestbot (#1388)
71af62f4 Remove dep-oriented Gopkg.toml, etc. (#1384)
1734465e Minor docs fix to remind people to composer install when using git checkout (#1383)
793dd29d Update drush, wp-cli, use recommended drush install technique, fixes #1039 (#1386)

ddev - v1.5.2: linuxbrew, ghostscript, php-apcu

Published by rfay almost 6 years ago

Installation/Upgrade

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

  • macOS Homebrew and Linux Linuxbrew: 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.2.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.

Key changes in v1.5.2:

  • Linuxbrew is our preferred install/upgrade technique on all Linux distributions.
  • PHP 7.3 now has php-memcached in web container
  • ghostscript added to web container
  • php-apcu added to web container, significant performance boost. For Drupal 8 $settings['class_loader_auto_detect'] = FALSE; is added to the settings.ddev.php and it increases performance quite a lot with php-apcu. Thanks to @mglaman for the suggestion in Stack Overflow
  • mariadb in db container upgraded from 10.2.15 to 10.2.19-r1
  • ddev import-db and ddev pull now sport a nice progress bar letting you know how much time you have for coffee. Thanks to @longwave for that!

Commits since v1.5.1

c62cf765 Bump container version numbers to v1.5.2 (#1378)
740caa09 More final v1.5.2 docs (#1377)
3f78f449 Bring in build_tools 2.0 (#1371)
1e35bac4 Update docs for Linuxbrew (#1376)
263dd489 Solve mariabackup-fails-on-docker-toolbox problem (#1375)
baa15bf2 Web container maintenance, fixes #1350, fixes #920, fixes #1337 (#1368)
9c0a8ed8 Documentation updates including for Docker Toolbox, fixes #1271 (#1370)
e559fa0c Use pv to show progress bar during import-db (#1349)
76187c45 Document how to add a beanstalk queue (#1315)
9116c735 Fix Arch Linux docs link (#1366)

ddev - v1.5.1: Performance regression on macOS, Apache with php 7.3

Published by rfay almost 6 years ago

v1.5.1 is a minor release to resolve a performance regression on macOS; Mostly you should read the v1.5.0 release notes if upgrading from an earlier release.

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.

Key changes in v1.5.1:

  • A macOS performance regression omitted the docker ":cached" attribute in the docker-compose.yaml. (#1361). That cut performance by 40-50% on macOS (only) for normal (non webcache-enabled setups). It probably made no difference if you were using webcache_enabled: true
  • In v1.5.0 php 7.3 did not work with apache. (#1351)

Commits since v1.5.0

e06f3ec0 Bump web container version to v1.5.1, add :cached on bgsync mount (#1364) 09edff8d Add the cached attribute back into docker-compose mount of project dir for #1352 (#1361)
24f6ee2e Specify files as binary in .gitattributes (#1362)
0a13a19b (20181227_fix_gitattributes) We don't need the fancy GOPATH stuff we used to use now with go v1.11 (#1331)
8121205f Fix nightly build (again) - gitattributes (#1357)
56c8ef72 Fix apache-fpm behavior with php7.3, fixes #1346 (#1351)
a53fd502 Fix unclosed tag (at least the way readthedocs sees it) [skip ci] (#1355)
985d48f6 Simplify nightly build, build PRs in nightly build, fixes #1165 (#1347)
2ee8d910 Test improvements (#1335)
7b5766d0 Add release issue template (#1342)

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. (https://github.com/drud/ddev/pull/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 (https://github.com/drud/ddev/pull/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. (https://github.com/drud/ddev/pull/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. (https://github.com/drud/ddev/pull/1280)
  • Wordpress now works when the wordpress code is installed in a subdirectory. (https://github.com/drud/ddev/pull/1292)
  • The _apt user is back in the web container, which makes apt-get operations in post-start hooks complete without complaints. (https://github.com/drud/ddev/pull/1253)
  • We've taken our first step toward supporting the D6LTS project so that Drupal 6 can be run with recent PHP versions. (https://github.com/drud/ddev/pull/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

1e687a79 Bump container versions (#1333)
21c7d6de Regression: docker and docker-compose versions empty in ddev version (#1332)
7362de7f Add respect for #ddev-generated inside settings.ddev.php, fixes #1310 (#1326)
4b9d035a Use mysqli in db_url for Drupal 6, fixes #1372 (#1328)
650ac561 Minor updates to developer docs [skip ci] [ci skip] (#1330)
b212a1a8 Fix problem where ddev-ssh-agent volume causes error, fixes #1312 (#1327)
53f35e40 Add utilities and tests for CIFS simulated symlinks, add to ddev composer, fixes #1283 (#1323)
a4034522 Use caching filesystem to improve webserving performance (#1277)
63bbaa25 Check to see if two paths are the same in app.Init, fixes #1168 (#1324)
d6842dcb Provide mariadb 10.1 and 10.2, fixes #1221 (#1318)
7c8310e9 Look in parent directories for an existing .ddev/config.yaml, fixes #1158 (#1275)
8df2ed0f Use sentry to log usage events, fixes #307 (#1307)
f3b604d0 Fix panic in TestGetLocalHttpResponse (#1317)
bbf4067e Fix reported panic in GetContainerHealth() (#1322)
97bde472 Improve and add test log debugging for several tests - tests only, for #1270 (#1316)
9794512f Only run post-start hook when the new container is actually created, fixes #1115 (#1298)
7909843d Make ContainerWait and healthchecks smarter, fixes #1287 (#1301)
02e1986e Wow did I miss a lot of vetshadows [ci skip] (#1314)
ff16eab6 Fix problem running "ddev auth ssh" from PS, fixes #1284 (#1296)
7b3e79e9 Add pecl uploadprogress to web container, fixes #1249 (#1300)
02e937c7 ddev auth ssh should all available private keys, fixes #1291, fixes #1282 (#1295)
d965c642 Use gotestsum for test output on circleci (#1306)
f3fe0e3d Add examples to ddev composer create (#1299)
2d707011 Support go modules for build (#1311)
ede5f30b Try to find out why TestListContinuous fails on macOS (#1308)
af8a01c7 Remove vet and vetshadow nolint declarations (#1304)
43949bce Support php 7.3 (#1294)
c664fa11 Don't restart the ddev-router all the time, fixes #1236 (#1280)
ee2d24e1 Make sure that TestConfigOverrideDetection cleans up after itself, for #1270 (#1303)
cd9e4bb6 Retry 502 errors in tests on macOS, for #1270 (#1302)
4a106a12 Fix WordPress Abspath detection on Windows, closes #1175 (#1292)
533fb4be add _apt user back in to /etc/passwd so apt operations do not exit wi… (#1253)
a62f8800 GetContainerHealth should use last element of Health array (#1279)
a2597708 Fix duplicate word in ssh_auth.go (#1290)

ddev - v1.4.1: Minor fixes, large macOS uids, docker-compose min version

Published by rfay almost 6 years ago

Please see the v1.4.0 release for release notes. This tiny release just solves two problems that affected a small number of people in v1.4.0:

  • Mac users with UIDs greater than 60000 couldn't start projects.
  • The docker-compose minimum version needed to be bumped to notify some Linux users that they needed to upgrade docker-compose.

Commits in v1.4.1
9d49417b Bump docker-compose min version for project name, fixes #1286 (#1288)
0e57b518 Change to use the a usable user and group in container test (#1289)
bf998ec7 Make large uid users run successfully on macOS, fixes #1281 (#1285)
9152a9da Make TestComposerCmd run faster, fixes #1268 (#1269)

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, 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

  • v1.3.0 (the previous release to this one) upgraded 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 v1.2.0 and previous ddev projects cannot be restored with v1.3+. There's an easy workaround explained in the docs
  • Databases from versions before ddev 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.4.0; but 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.
  • The default directory on TYPO3 for ddev ssh, ddev exec, and exec hooks in config.yaml has changed from the docroot to the project root. This won't likely change anything for most TYPO3 users.

Key changes in v1.4.0:

  • The ddev composer command now provides in-container composer commands for nearly anything you'd want to do with composer. We found that lots of people, and especially WIndows users, were having trouble with fairly difficult workarounds to use composer. However this has value to most ddev users:
    • The composer and php version used are the exact version configured for your project.
    • Your composer project will be configured for the OS it's actually running (Linux in the container). This was a serious problem for Windows users, as composer install on Windows OS did not result in the same results as composer install in Linux, even if symlinks were working.
    • Note that because of problems with symlinks on Windows, it is not recommended to use code from the host (Windows) side, or to check it in. That means it will not be appropriate to check in the vendor directory on the host (although it would be safe inside the container), but most people do a composer build anyway.
    • The ddev composer create command is almost the same as composer create-project but we couldn't make it exactly the same. See docs for its usage.
  • Composer caching: composer downloads are now cached in a shared docker volume, making in-container composer builds far faster.
  • Shared ssh authentication in web container: You can now ddev auth ssh to authenticate your keys in the automatically-started ddev-ssh-agent container, which shares auth information with ever project's web container. This allows access to private composer repositories without the pain of manually mounting ssh keys and authenticating each time you need them in each web container. It also allows easier use of facilities like drush rsync that need ssh auth. This means that the previous manual workaround for mounting ssh keys is now obsolete. Please use ddev auth ssh instead.
  • Configurable working and destination directories. You can now specify the container directory you land in with ddev ssh, ddev exec, and exec hooks in config.yaml (#1214). This also means that TYPO3 users will land in the project root by default; Drupal/Backdrop users land in the project root by default.
  • ddev export-db makes textual exports of the database easier; Don't forget about ddev snapshot as well.

Minor changes in v1.4.0

  • The openssh-client package (ssh, ssh-agent, etc) was accidentally omitted from the web container in v1.3.0 and is added back here.
  • ddev debug command, especially ddev debug compose-config was added; this outputs a consolidated docker-compose.yaml for debugging.
  • ddev no longer mounts anything from the user's HOME directory. This helps people who have network-mounted home directories, and can help with running ddev on Windows WSL.
  • You can omit starting the phpmyadmin and ddev-ssh-agent containers if you choose to do so with omit_containers in the .ddev/config.yaml, or ddev config --omit-containers=dba for example.
  • Container healthchecks are improved and provide more information. This especially should help debug problems with the ddev-router.

Commits since v1.3.0

407bedae Turn off strict ssh host key checking in container (#1266)
9f7b350a Create a new randomized installation directory for 'ddev composer create' (#1262)
e4726e05 Fix panic in GetWebContainerPublicPort() (#1264)
e6f43e59 Add huge COMPOSER_PROCESS_TIMEOUT for Win10 reasons (#1261)
b46e4866 Stop using winpty, let them prompt for it (#1260)
cafac3fd Bump container versions for v1.4.0 release (#1259)
2bff8940 Minor test fixes for assertions and an unbound env var in web containertest (#1258)
fd21649b Update 'ddev composer create' install directory (#1257)
9195b318 Add php-bz2 to php packages for #1033 (#1254)
6c86f0e7 Try using php 7.2 with TestDdevRestoreSnapshot to get past SIGBUS (test only) (#1251)
65f699cb Fix test not to pull if already existing to fix nightly build (#1250)
721b4173 Fix typo (#1255)
36a5324c Unset/reset noninteractive env var when testing Confirm() (#1256)
ac82d377 Add 'ddev composer' command, closes #1131 (#1241)
f2171f39 Move internal docs links from 'latest' to 'stable'. (#1252)
4a5d041c Minor cleanup of test and buildkite setup (tests only) (#1246)
c8c8ade3 Add persistent composer cache docker volume, fixes #1027 (#1248)
7c4b9b54 Improve healthchecks, especially ddev-router, fixes #774, fixes #1237 (#1240)
1893afc3 Add ddev-ssh-auth container to provide ssh-auth, fixes #414, fixes #1152 (#1223)
5ea986c8 Add export-db command, fixes #767 (#1242)
9676ae8b Stop mounting from global ddev directory, fixes #883 (#1243)
a53b99da Add configurable working and destination directories, resolves #1112, resolves #505 (#1214)
53785e92 Add step to ensure new versions are listed on ReadTheDocs (#1238)
b139f191 Nightly build shouldn't use gometalinter (#1234)
e87a4586 Add debugging for TestDdevRestoreSnapshot (#1231)
95163690 Add command to output final docker-compose config, closes #1192 (#1193)
5de168fd Add move for issues (#1229)
53fc669c Better error handling when opening/writing config files, fixes #1177 (#1213)
799548b0 Add sequelpro.spf to .ddev gitignore, fixes #1216 (#1218)
aad2c14d Add openssh-client to web container for #414 (#1217)
8b100df1 Add a link to docker-for-windows (#1215)
6e61e6be Add uninstall instructions, docs only, fixes #1059 (#1180)
a1cae9d3 Update docs to not use unreleased functionality (#1199)
1627281d Add timeouts to queries on dynamic-generated URLS (tests only), fixes #1172 (#1179)
920a32f7 Add config flags to specify image values, closes #1181 (#1182)
83467f41 Use faster golangci-lint only, less linting (build/test only) (#1178)
73e7f0f6 Remove extraneous WP config env var (#1173)