We’ve just released DDEV-Local v1.8.0! This release includes trusted SSL, refreshed
ddev stop behavior, and updated
ddev exec functionality. Install or upgrade now. Below are a couple of highlights, or you can read the full release notes here.
- Browsers and host OSs now trust ddev sites over https: After a one-time action to run
mkcert -install, you can visit the https link to your project without needing to click past the security warning. Extra details for Linux users here. More info in the install instructions here.
- 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 is provided in your .ddev folder).
- Updates to
ddev stopnow does what
ddev removeused to do. It removes the containers and saves resources on your host.
ddev removeis still available as an alias of
ddev stop. New!
ddev pausetakes the place of the former
ddev stopusing “docker stop” on the project containers. Because of the way ddev works (storing everything outside the container) it’s cleaner to get rid of a container and recreate it when starting a project.
- 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 -cin front of it. And you can
ddev exec sudo apt-get update && sudo apt-get upgrade -y [some-package]as well, no
- ddev exec can now work with interactive situations: So for example, you can run
ddev exec mysqland interact with the mysql program directly.
- The base nginx configuration has changed. If you are overriding configuration with an nginx-site.conf file, you’ll want to re-do it (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 -cin them, please remove that, as they can’t be interpreted correctly by the new execution mechanism. If using custom nginx configuration update your nginx config as well.
- If you or your team used to use
ddev stopinstead 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 stopnow 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.
Contributing to DDEV-Local
Thank you very much to all the DDEV community members who 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
- And the amazing mkcert from @FiloSottile made the seemingly impossible task of trusted local development certificates possible.
DDEV is an open source project and we very much appreciate the time our contributors give creating issues, surfacing bugs, requesting features, supporting other users in Slack and Twitter and for your support of DDEV!
DDEV-Live Hosting Updates
We recently gathered our hosting team for a week of time together pushing ahead on development. Not only did we progress on existing tasks and clarify the roadmap for everyone, but we had time to really connect and make decisions in face-to-face conversations. Being able to have those discussions in person meant that we could review options, considerations, and come to an agreement three to five times faster than when working remotely.
Some technical highlights we had a lot of movement on were global user management, the details of how the UI, CLI and platform interact, building Kubernetes controllers for various functions, and planning ahead so that we can stay in sync and balanced while continuing to work remotely.
We’ve also been doing more work as pairs to encourage frequent conversation, questioning, and combining our individual knowledge and ideas earlier in the process. It’s the varied backgrounds and perspectives of everyone on the DDEV team that really create strength when combined, so we’re eager to give everyone’s ideas a chance to surface naturally and frequently. We’re very grateful that it was possible for us to bring everyone together and look forward to the next group gathering!
This week we visited Boulder Startup Week and talked about DevTools! Our CTO Kevin Bridges (center in the above photo) spoke on a sold-out panel with other builders and leaders about the ins and outs of building, managing, and implementing a dev tool. Thank you very much to the other panelists and organizers, it was a great conversation!
Our friend Mike Anello’s DDEV book was recently featured on a “Top 11 PHP books of 2019” list! The next session of Mike’s online DrupalEasy course, Professional Local Development with DDEV, is Wednesday, June 12th.
To receive all our most recent news and developments straight to your inbox, please join our newsletter:
Photo courtesy Elli Ludwigson