github ddev/ddev v1.19.0-alpha4
v1.19.0-alpha4: Postgres support throughout

latest releases: v1.23.2, v1.23.1, v1.23.0...
pre-release2 years ago

Installation/Upgrade

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

  • macOS: brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.).
  • Traditional Windows: Use choco upgrade -y --pre ddev to get this one, or download the ddev_windows_installer below.
  • Linux or WSL2 (macOS works too) use the install_ddev.sh script: Download the script, make it executable, and run it with the version: ./install_ddev.sh <version> or or curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh v1.19.0-alpha4 - If you already had ddev installed with homebrew you'll want to brew unlink ddev first.
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • Consider ddev delete images after upgrading to free up disk space used by previous docker image versions. This does no harm.

🚛 Key changes

  • Postgres is now supported (versions 9-14) as well as MariaDB and MySQL. ddev config --database=postgres:14. import-db, export-db, snapshot, and snapshot restore work. (Snapshots don't work with postgres:9 yet).
  • ddev get will now download and install a maintained, supported, and tested recipe for add-ons like services, custom commands and provider integrations, see docs.
  • ddev service enable and ddev service disable now enable and disable add-on services.
  • You can now run ddev without Docker Desktop on both macOS and Windows.
    • Experimental colima support on macOS works great. Note that Colima is a new project and may experience instability, but it seems to work wonderfully. 🙏🏼 to Tag1 Consulting for sponsoring this feature!
    • On Windows you can install docker inside wsl2 instead of using Docker Desktop.
  • DDEV now can work with a remote docker instance.
  • DDEV now supports docker contexts and the DOCKER_HOST environment variable.
  • You can now install the current HEAD version of ddev with brew unlink ddev && brew install --HEAD drud/ddev/ddev
  • Bare in-container hostnames: You can (once again) use in-container hostnames like db or solr without having to use fully-qualified names like ddev-<project>-db. Thanks to @jonaseberle for heroic work pioneering a path forward for this, it will make using DDEV easier for everybody.
  • You can remove all links: sections from custom service definitions that mapped a service name onto itself (e.g. links: solr:solr). This used to be needed to prioritize name resolving inside the project, but it's now taken care of by a project-local network. (However, these links: lines do no harm.)
  • WordPress default configuration is significantly improved thanks to @timnolte.
  • Database snapshots are now gzipped, resulting in perhaps 20x size difference. A snapshot that used to use 207MB on disk is now 5MB.
  • Networking:
    • There is now a dedicated project-local network which is managed by docker-compose. All project services are in that network by default, even without any networks: stanza. From inside docker-compose.*.yaml files you would refer to it as default. Its global docker network name is ddev-<projectname>_default. This change allowed us to make sure that name resolving would always prioritize project-local services.
    • There is a new network named ddev, created automatically on ddev start. Its default function is that it is the network which contains ddev-router. As such you have to add it to all services to it that need to be reached by the router, which normally means 3rd-party services that have HTTP_EXPOSE in them. (see "caveats")
    • This network is also reused for inter-project communication (for example a db that you want to access as ddev-<projectname>-db from another project during upgrading). See "caveats" on how to enable cross-project access.

≏ Minor changes

  • WSL2 xdebug problems: As also released in v1.18.3-alpha1, a bug affected some users. There was new code to detect when WSL2 was running with Docker Desktop, and it wasn't robust enough, so didn't properly detect Docker Desktop in some cases. That meant that xdebug debugging could fail for people on WSL2+Docker Desktop.
  • See Changes in v1.19.0-alpha1

⚠️ Caveats

  • xdebug now connects to the new standard port 9003 instead of port 9000. With PhpStorm this should be invisible to all, since it listens on both ports. With vscode you may have to edit the launch.json file, see https://ddev.readthedocs.io/en/latest/users/snippets/launch.json
  • A new networks stanza needs to be added to all 3rd-party docker-compose.*.yaml services that use HTTP_EXPOSE (like solr) or that want to be reached from other ddev projects (If you are unsure, add the stanza. It does not hurt):
      networks: [default, ddev_default]
  • With Colima you cannot mount single files into a container. This means that the traditional docker-compose.solr.yaml can't work, because it tries to mount a single file. However, the soon-to-be-standard ddev-contrib solr recipe should work because it doesn't try to mount a single file.
  • There are loads of significant changes here, including how docker works, how database management is done, and what docker environments you can work with. Please pay attention and report your experiences, good or bad! 🙏🏼

What's Changed

  • highlight the target file by @tyler36 in #3437
  • Use more robust technique to detect Docker Desktop (WSL2), fixes #3441 by @rfay in #3443
  • Remove apt install of mysql-client as it seems to break Ubuntu test runner in Github Actions by @rfay in #3446
  • Make sure .gitattributes gets into commands directory, fixes #3449 by @rfay in #3450
  • Remove unnecessary rules for static content by @gilbertsoft in #3454
  • [docs] Remove sequelpro URL and update database management stuff [skip ci] by @rfay in #3455
  • Optimize Nginx configuration for TYPO3 by @gilbertsoft in #3453
  • [Tests only] Limit how many places TestShareCmd can run by @rfay in #3457
  • Add support for docker context, changes required docker constraint by @rfay in #3452
  • Update go-dockerclient to get runc per security issue by @rfay in #3459
  • Use volumes and copies instead of bind-mounts with db container by @rfay in #3445
  • [tests only] Simplify TestConfigMariaDBVersion and TestConfigMySQLVersion by @rfay in #3462
  • [docs] improve gitpod.io ddev-gitpod-launcher instructions with a bookmarklet by @tyler36 in #3451
  • [tests only] Minor test fix - exclude new links from gitpod bookmarklet by @rfay in #3463
  • Build using golang itself instead of using docker image by @rfay in #3464
  • Update cli-usage.md by @durmazmehmettemax in #3467
  • Bumped spellcheck GitHub action to version 0.20.0 by @jonasbn in #3466
  • Basic Dependabot configuration proposal by @jonasbn in #3473
  • [tests only] Clean up several test directories that grow over time, for #2619 by @rfay in #3474
  • Don't build buildkite/circleci tests on docs pushes by @rfay in #3469
  • Improve TestShareCmd so it doesn't fail so often by @rfay in #3475
  • Support and test Colima as docker environment for ddev, fixes #3208, fixes #3444 by @rfay in #3470
  • Add brew install --head capability to homebrew on release by @rfay in #3476
  • Add docs for Colima, WSL2 docker-inside, Remote Docker, Rancher Desktop, fixes #3419, for #3208 by @rfay in #3477
  • Rework FAQ as definition lists dt/dd with some formatting by @rfay in #3478
  • Fixes DDev WordPress Config Files for Override & Coding Standards, fixes #2795 by @timnolte in #3468
  • Add TestNetworkAmbiguity in preparation for #3403 by @rfay in #3479
  • [docs] Review and improve various CMS quickstart recipes by @rfay in #3485
  • Push mariadb-10.1 to arm64 and amd64 by @rfay in #3483
  • Refactor settings file management into embedded files, Adds drupal10 by @rfay in #3481
  • Fix blackfire-php being enabled by default on hardened/prod ddev-webserver by @rfay in #3486
  • Do nightly build on github instead of circleci, fixes #3013 by @rfay in #3490
  • [tests only] Tests should use updated wordpress 5.6 code by @rfay in #3488
  • [Tests only] Simplify TestDdevXdebugEnabled and TestDdevXhprofEnabled with simpler project by @rfay in #3489
  • Use simple container name as hostname inside docker network (use "db" instead of "ddev--db") by @jonaseberle in #3403
  • [docs] Update Debian verbiage in Docs, omit mentioning specific version by @jameswilson in #3497
  • Debug/improve macos mutagen TestCustomCommands failures by @rfay in #3493
  • Fix dependabot alerts about containerd by @rfay in #3501
  • Bring base-webserver here from ddev-images and set up manual builds, fixes #2617, fixes #3047, fixes #3375 by @rfay in #3491
  • Bump nltk from 3.6.5 to 3.6.6 by @dependabot in #3502
  • Added missing sudo to wsl2 docker install instructions by @chellman in #3503
  • Use gzipped database snapshots, fixes #2114 by @rfay in #3496
  • Add ddev php command, fixes #3439 by @tyler36 in #3498
  • Debug download images with mutagen and docker compose by @shaal in #3472
  • Use port 9003 for xdebug, fixes #2898, fixes #3504 by @rfay in #3506
  • [docs only] Fix links broken by move of old custom commands by @rfay in #3509
  • Don't fail if composer self-update fails in web image build (like with no internet) by @rfay in #3508
  • Mount .git and upload_dir with bind-mount when using mutagen, fixes #3505, fixes #3400, fixes #3384, fixes #3357 by @rfay in #3507
  • [tests only] composer drush is failing, fix up by @rfay in #3512
  • Make more efficient chown of mutagen volume, speed up start by @rfay in #3515
  • v1.19.x vs v1.18.x compatibility with 3rd party services, especially solr by @rfay in #3510
  • Use regular colima release instead of HEAD, change composer create-project approach by @rfay in #3519
  • Ignore a couple of misbehaving spellcheck items by @rfay in #3525
  • Create upload dir when creating settings, fixes #3521 by @rfay in #3523
  • Add build artifacts to PRs with nightly.link [skip ci] by @rfay in #3529
  • Terminate mutagen before chowning volume to avoid conflicts by @rfay in #3528
  • Make sure that rootca is writeable in ddev-global-cache by @rfay in #3527
  • Remove trailing space in configuration by @gilbertsoft in #3531
  • [docs] Add minor details to xdebug troubleshooting by @rfay in #3533
  • Artisan command sometimes isn't executable. Use php to run it. by @rfay in #3532
  • [tests only] Try again to make sure ngrok dies by @rfay in #3538
  • Provide ddev service enable/disable and ddev get commands, fixes #3068 by @rfay in #3516
  • Drupal6 should use mysqli for driver, fixes #3522 by @rfay in #3542
  • Introspect to determine service volumes to delete, fixes #3537 by @rfay in #3543
  • Fix bug where upload_dir is docroot if no upload_dir by @rfay in #3540
  • Rework database type and version configuration to mariadb:10.3 format by @rfay in #3539
  • Remove incorrect usages of ddev service get, fixes #3545 by @rfay in #3546
  • Change renderAppDescribe to use different URLs for each service, fixes #3520 by @rfay in #3544
  • Prevent unconditional overriding config sync directory by @leymannx in #3550
  • Add make mkdocs-serve by @rfay in #3541
  • Prepare ddev directory earlier, fixes #3239 by @gilbertsoft in #3551
  • Bump rojopolis/spellcheck-github-actions from 0.20.0 to 0.21.1 by @dependabot in #3564
  • ✨ bookmarklet support for Gitlabs & Bitbucket repos (corrected) by @tyler36 in #3526
  • Added Discord server by @penyaskito in #3565
  • Add full support for Postgresql, fixes #2187 by @rfay in #3557
  • Remove warning about missing SegmentKey in json mode by @nico-loeber in #3574

New Contributors

Full Changelog: v1.18.2...v1.19.0-alpha4

Don't miss a new ddev release

NewReleases is sending notifications on new releases.