Repository navigation
v1.108.1-draftflow1
Pre-release
Pre-release
Immutable
release. Only release title and notes can be modified.
Installation
Test release for the draft-first release flow, ddev#8393. Not for use.
Full Changelog: v1.108.0...v1.108.1-draftflow1
Changelog
- d877709 ci(release): draft-first releases with SBOMs and provenance, for ddev#8393
- 71b8eca test: resume paused Upsun envs before site check (ddev#9067) [skip ci]
- 1ccd387 fix: remove stray escape-code text from
ddev composer create-project(ddev#9056) [skip ci] - c77ebfe ci: keep the nightly container-tests run from canceling a push run on main (ddev#9065) [skip ci]
- 30b7f02 ci(docs): ignore viget.com in linkspector, its 429 is a bot challenge (ddev#9066) [skip ci]
- 7c17fe5 fix(webserver): empty /var/www/html in the image for all runtimes, replacing the Podman-only cleanup (fixes socktainer + Mutagen) (ddev#9061)
- 0fcf25b ci(perf): file issues for sustained nightly regressions, make perf-start-time a failing PR check (ddev#9060) [skip ci]
- 934e256 ci: limit disk use in container tests for smaller ubuntu-26.04 runners (ddev#9062) [skip ci]
- 9220066 ci(wsl2): time out the WSL2 install step after 15 minutes (ddev#9059) [skip ci]
- 129f376 chore(claude): let agents push to forks with approval, never to ddev/ddev, fixes ddev#9022 (ddev#9054) [skip ci]
- 5e90568 ci(buildkite): raise sanetestbot.sh timeout from 60s to 5m (ddev#9058) [skip ci]
- da4085f test: fail when a named volume has more than one writer, for ddev#8895 (ddev#9046)
- 7a67921 docs: allow php-http/discovery Composer plugin in Craft CMS quickstart (ddev#9057) [skip ci]
- 6d96ab0 docs: add Tailscale remote access for test runners, keep Chrome Remote Desktop as fallback (ddev#9015) [skip ci]
- cfc5617 fix(docker): check image labels client-side before deleting images, for ddev#7372 (ddev#9040)
- 4aa842a fix: use filepath for Windows host paths and lint path misuse (ddev#9051) [skip ci]
- a4e9ecb feat: copy the mkcert root CA into web at /usr/local/lib/ddev/mkcert instead of mounting ddev-global-cache, for ddev#8895 (ddev#9045)
- a81f252 ci(buildkite): remove buildx refs dir instead of find -mtime, which timed out on Windows (ddev#9052) [skip ci]
- cdebe28 fix(traefik): remove stale #ddev-generated config and certs after a project rename, fixes ddev#9001 (ddev#9038)
- 74f87fd fix: skip start-chown for volumes a running container holds, for ddev#8895 (ddev#9041) [skip ci]
- 7eed3eb fix: clean up router files through the running router on stop, for ddev#8895 (ddev#9042) [skip ci]
- a7e29d9 ci: lint Go files for macOS and Windows too (ddev#9050) [skip ci]
- d361d18 ci(buildkite): keep macOS testbot disk usage under control, prepare for socktainer (ddev#9037) [skip ci]
- 21d6ce8 fix: mount ddev-config read-only in web and db with no_bind_mounts, for ddev#8895 (ddev#9043)
- 1d2028d refactor: omit the project name in WriteConfig's copy, not in app.Name (ddev#9029) [skip ci]
- ce46dbf fix: use filepath.Base for the pulled database file name on Windows, fixes ddev#8998 (ddev#9039) [skip ci]
- d5f8ef5 build(deps): bump owenthereal/action-upterm from 1 to 2 (ddev#9033) [skip ci]
- e907890 fix: make custom commands executable without dropping group-write or ACLs, fixes ddev#9031 (ddev#9032)
- 1ea4a45 fix: copy global commands into each container instead of the shared volume, fixes ddev#5806, for ddev#8895 (ddev#8956)
- cab7095 fix(router): detect Docker Desktop connection resets on router ports after alias updates (ddev#9026)
- d0d3edb fix(xhgui): upgrade Alpine packages so the image gets PHP and nginx security fixes (ddev#9028)
- 123123c chore(claude): replace the ddev-commit skill with /ddev:commit (ddev#9030) [skip ci]
- a90b98e feat: give web and db their own project cache volumes, for ddev#8895 (ddev#9024)
- 0f11a2e fix(xhgui): raise upload limits to 100M so large profiles import, fixes ddev#9025 (ddev#9027)
- bb67925 fix: lock and reread project_list.yaml on every change, never register an empty project name, fixes ddev#9004, fixes ddev#9017 (ddev#9020)
- 8ca2a5f feat(router): give the router its own ddev-router-traefik volume, for ddev#8895, fixes ddev#8975 (ddev#8945)
- ad44cf6 fix: stop a stale healthy marker from delaying restarted web and xhgui containers by 59s (ddev#9019) [skip ci]
- ba72716 fix(dbserver): drop xtrabackup's libcurl4-openssl-dev dependency for MySQL 8.0/8.4/9.7, fixes ddev#8925 (ddev#9023)
- 1e363b1 feat(wagtail): build venv from requirements.txt in web image (ddev#9018) [skip ci]
- 6cde25f docs(quickstart): fix OpenMage Composer install (ddev#9021) [skip ci]
- 5046ab5 ci(buildkite): use HEAD ddev in test.sh, clear stray host containers before installer tests, drop Chocolatey (ddev#9014)
- d2d47af build: Create v1.25.5 images, fixes ddev#8993 (ddev#9016)
- 2e66b75 fix(webserver): apply php.net mitigations for session upload progress and PHP 8.6 (ddev#9012)
- fab900b fix: allow /phpstatus only from inside the web container, fixes ddev#9005 (ddev#9006)
- b8e119c build(deps): bump zod and puppeteer in /perf/metrics/03-drupal-install (ddev#9010) [skip ci]
- c017916 feat(docs): add social cards and llms.txt, fix zensical 0.0.72 privacy error (ddev#9009)
- a8fdb9c build: always run go build from
makeso embedded assets and version stay current [skip buildkite] (ddev#9003) [skip ci] - 3e8c3cc docs(router): add custom maintenance page (ddev#9007) [skip ci]
- 32a60f1 fix: resolve a symlinked project root for Mutagen, for ddev#8924 (ddev#8987)
- cc2cfe9 feat(tui): wrap around the project list (ddev#8999) [skip ci]
- 8d73e9f perf: render only what is on screen in
ddev tui, for ddev#8941 (ddev#8979) [skip ci] - 677a140 fix: signal handling - remove in-flight temporary containers when ddev is interrupted, fixes ddev#8951 (ddev#8954)
- 18c58bf feat: warn when ddev-router's ports don't answer on the host (ddev#8990) [skip ci]
- 0b87317 fix: resolve symlinked SSH agent sockets for ssh_agent_upstream, fixes ddev#8961 (ddev#8963) [skip ci]
- b3b546c test(docs): fail quickstart downloads at the step that broke (ddev#8997) [skip ci]
- 62838ef fix: hide Compose's "No services to build" warning in
ddev restart -s(ddev#8996) [skip ci] - b2cb738 build(deps): bump go.mod (ddev#8994) [skip ci]
- 6818847 build(containers): load locally built images with Docker media types on Podman, so
make testworks there (ddev#8981) - eea391d fix: keep DDEV_DEBUG output readable by quieting compose progress and router port messages (ddev#8953) [skip ci]
- e6d5b8d feat: set container_name and hostname on all compose services (ddev#8983) [skip ci]
- f0fa6f5 chore: stop requesting reviews from the empty documentation team (ddev#8992) [skip ci]
- a7f3f33 fix: keep host variables out of the daemons'
ddev startlaunches, for ddev#8380 (ddev#8976) [skip ci] - 95c5633 chore(claude): drop the commit hook, inline the formatting hooks (ddev#8989) [skip ci]
- 8afc985 ci: run GitHub workflows on Ubuntu 26.04 and install latest docker-ce from Docker's repo (ddev#8985) [skip ci]
- 2f5d9f2 fix(updatecheck): make TestAvailableUpdates reliable by using the latest-release endpoint (ddev#8988) [skip ci]
- a9bd9d3 perf: report
ddev startstep timings inline and speed up router config push (ddev#8972) [skip ci] - 469f9b7 fix: don't panic on compose services that use network_mode (ddev#8984) [skip ci]
- 36af2e2 feat: show only changed settings after
ddev config globalwith flags (ddev#8968) - e5cdbfe fix(nginx): never execute PHP from CMS user-generated files directories (ddev#8962) [skip ci]
- 2f234ec ci: download mkcert only for packaging, and retry it longer (ddev#8980) [skip ci]
- 9b6e2b8 test(webserver): retry the FPM log tail check, and use
run -0in php_webserver.bats (ddev#8982) [skip ci] - d1814ff refactor(router): remove the unused ddev-router-letsencrypt volume (ddev#8977) [skip ci]
- 3c6ac83 fix: stop repeating settings messages on
ddev startfor Backdrop, WordPress, and TYPO3 (ddev#8971) [skip ci] - 0e9ab54 test(quickstart): retry upstream downloads and authenticate Composer to GitHub (ddev#8978)
- cec563d perf: list containers once for
ddev list,describeandtui, for ddev#8941 (ddev#8955) - 6f953f3 test: retry TestCmdLogs HTTP check and trim its failure output (ddev#8969) [skip ci]
- 26f9387 refactor: remove unreachable returns after infinite loops in dockerutil (ddev#8967) [skip ci]
- f114646 docs: create the macOS Podman machine with 6GB of memory (ddev#8970) [skip ci]
- d9d83e4 test: cover corepack npm fallback on Node.js 26, for ddev#8965 (ddev#8966) [skip ci]
- 3d9c472 fix: remove stale containers holding project volumes on
ddev delete, fixes ddev#8777 (ddev#8950) - d9e691f ci: mask systemd-binfmt in WSL2 tests and require systemd running (ddev#8957)
- c4750c9 test: show npm stderr and debug log when TestNpmGlobalInstall fails (ddev#8952) [skip ci]
- 2d1d017 feat: add pre-delete and post-delete hooks, fixes ddev#2988 (ddev#8946)
- f71e0a7 feat: pass GitHub token to web builds as a secret, document PIE, fixes ddev#7929, fixes ddev#8549 (ddev#8948) [skip ci]
- 85c3a5b fix(dbserver): raise redo log, halve buffer pool, align init_connect, split slow log, fixes ddev#8884 (ddev#8929)
- e5e8052 fix: serialize hosts-file edits with the global lock, fixes ddev#8937 (ddev#8938) [skip ci]
- 2546c4f feat(start): offer to configure a web project that has no DDEV config, fixes ddev#7976 (ddev#8890) [skip ci]
- 6fd1c15 fix: recover from empty or unparseable .state.yaml and project_list.yaml, fixes ddev#8935 (ddev#8936) [skip ci]
- 3e70ce1 feat: support zstd in import-db, import-files, and export-db, add
export-db --compression, fixes ddev#8856 (ddev#8939) [skip ci] - 2b41b97 feat(tui): rebuild
ddev tuilayout, keys and help, fixes ddev#8916 (ddev#8940) [skip ci] - c86501a refactor(mutagen): mount project_mutagen once, chown around bind mounts, for ddev#8895 (ddev#8944) [skip ci]
- b49d155 chore(claude): link the Read the Docs preview in docs PRs (ddev#8949) [skip ci]
- 9e38f30 test: authenticate bee download-core and make quickstart failures readable (ddev#8942)
- 733ea39 feat(tui): delete projects with
Dkey, fixes ddev#8782 (ddev#8786) [skip ci] - 63b0149 feat: add global_config.*.yaml overrides, for ddev#3200 (ddev#8888)
- f2834f4 docs: refresh CONTRIBUTING.md and defer shared rules to ddev/.github, fixes ddev#8699 [skip ci] (ddev#8932) [skip ci]
- 4c560c1 test: require drupal_cms_helper before drush si in the Drupal CMS quickstart test (ddev#8933) [skip ci]
- 35478c2 test: fix share test timing races and log router state on URL failures, minor
ddev shareadjustments (ddev#8922) - 1d3921c fix(dockerutil): half-close the exec stream when no stdin is attached, for ddev#7372 (ddev#8928) [skip ci]
- d4065df test(mutagen): make TestMutagenSimple diagnosable, cheaper and default-environment only (ddev#8930)
- 3e9373b refactor: rename router "ephemeral" ports to substitute ports, fixes ddev#8898 (ddev#8923)
- ce5c19a fix: serialize shared router and network setup with a global lock, fixes ddev#5527 (ddev#8891) [skip ci]
- 7148e60 fix(webserver): log to /proc/1/fd/1 instead of the /var/tmp/logpipe FIFO, fixes ddev#8911, fixes ddev#8912 (ddev#8914) [skip ci]
- 1ca8b89 test: skip SkipUnlessDefaultEnvironment tests when Mutagen is the global default, fixes ddev#8919 (ddev#8921)
- 2eeb549 feat: show failed container logs when CI=true (ddev#8920) [skip ci]
- 6036eb3 fix: pull the base image of build services tagged per service, fixes ddev#8832 (ddev#8900)
- 34a1f85 test: wait for the host port to be released in TestExistingContainerHostPortStopped (ddev#8918) [skip ci]
- 15426f8 feat: add global hooks in global_config.yaml, fixes ddev#3200 (ddev#8889) [skip ci]
- b315e5f fix: DDEV should choose host ports instead of leaving it to docker/compose, fixes ddev#8293 (ddev#8887) [skip ci]
- 56212a1 fix(dockerutil): prepare the CopyIntoVolume target with Exec instead of the container command, for ddev#8912 (ddev#8913) [skip ci]
- b8e4fdf fix(modx): pass the request path to index.php as
qin the nginx config (ddev#8915) [skip ci] - cc190e0 chore(claude): update the PR body when adding commits to an open PR (ddev#8917) [skip ci]
- e978222 feat: forward AI agent variables and bare web_environment names on exec, fixes ddev#8378 (ddev#8380)
- 5fdde42 fix: run all-project-types in full and fix the bugs it found (ddev#8903) [skip ci]
- 94c92c9 feat: add
ddev restart --serviceand--profiles, fixes ddev#7904 (ddev#8906) - 5213923 fix(webserver): always resolve composer to /usr/local/bin/composer in every shell, fixes ddev#8907 (ddev#8908) [skip ci]
- ab91f54 ci(images): stop treating registry errors as a missing image tag (ddev#8910) [skip ci]
- 0669aef chore(claude): deny unsetting GOTEST_SHORT, predict the PR number (ddev#8902) [skip ci]
- 598e255 test: log restart output and global-commands volume state in TestAutocompletionForCustomCmds (ddev#8905)
- 0bbc99d fix(dbserver): stop spurious InnoDB and TLS startup warnings, fixes ddev#8831 (ddev#8885)
- 5d80819 feat: OSC 8 links and open-in-editor keys in the TUI and CLI output, fixes ddev#8882 (ddev#8883) [skip ci]
- a11c85e test(buildkite): update homebrew recipe to buildkite-agent@4 [skip github] (ddev#8899)
- a8f22d4 build: retry transient network failures in web image builds and tests, fix mariadb wrapper race (ddev#8896)
- d8e2143 fix: build a profile's images when it starts, and refresh built ones on --no-cache, fixes ddev#8817 (ddev#8820)[skip ci]
- b3ed160 test: show command output when diagnose, dockercheck and xdebug-diagnose tests fail (ddev#8897) [skip ci]
- a57266f ci: hide Homebrew's Landlock ABI warning annotation on Linux runners (ddev#8893) [skip ci]
- 15084bf docs: explain how to keep changes made inside the web container across restarts (ddev#8894) [skip ci]
- 5bf1e0f docs: fix SvelteKit quickstart for SvelteKit 3, which drops svelte.config.js (ddev#8892)
- 81ce907 ci(images): report and delete unused Docker Hub image tags, fixes ddev#8848 (ddev#8857) [skip ci]
- 4466def fix(download-images): pull images for the service's platform (ddev#8859)
- b65a22e feat: add ssh_agent_upstream to use an existing SSH agent, fixes ddev#3878 (ddev#8861)
- 01b6033 fix(list): fit table columns to their contents and wrap router errors (ddev#8878)
- bfe9365 fix: start with the last built images when offline and the build fails, for ddev#8832 (ddev#8860) [skip ci]
- d0af353 feat: let commands that don't use Docker run without it (ddev#8880) [skip ci]
- e05e3a6 fix(github): retry without a token only on 401, not on an API 404, for ddev#8855 (ddev#8881) [skip ci]
- d4b0042 fix: make
make staticrequiredandmake textlintwork on Windows (ddev#8879) [skip ci] - 42cf1ae fix(download-ddev): look up
--headthrough the GitHub API (ddev#8877) - 5f10b39 fix: show Git Bash PATH instructions in
ddev utility download-ddevon Windows (ddev#8873) - c69f458 fix(podman): use init in CopyIntoVolume container to avoid stop delay (ddev#8875) [skip ci]
- 92ec634 fix: stop download progress bar from running
tputon every refresh (ddev#8876) [skip ci] - daedbf4 feat: show QR codes in
ddev shareandddev launch --qr, remove ddev-qr add-on, for ddev/ddev-qr#15 (ddev#8870) - e0eb3d1 chore(claude): stop denying
sed -i(ddev#8874) [skip ci] - 8f8ac2f feat: add initial partial php8.6 support, fixes ddev#8779 (ddev#8826)
- c733ccb ci: load macOS signing identity from 1Password, fixes ddev#8842, fixes ddev#8869 (ddev#8871)
- ed76ebe ci: consolidate test eligibility checks (ddev#8863) [skip ci]
- a71005d fix(ci): handle stray
|, line endings and'in embargo variables (ddev#8864) [skip ci] - b5c78cc fix(add-ons): install the latest release, not the first one GitHub lists, fixes ddev#8854 (ddev#8855)
- ef0ea52 fix: install project-type-specific web image utilities only when needed, fixes ddev#8824 (ddev#8828)
- 60e251f fix: pass PATH_INFO to php-fpm from nginx, fixes ddev#3854, fixes ddev#4001 (ddev#8844)
- 18ecfec fix(webserver): stop the 403 explanation from disabling directory listing (ddev#8821)
- a75ec19 fix(images): exclude test dirs, README, and LICENSE from image hash, fixes ddev#8850 (ddev#8853)
- d1576fd fix: don't fail ddev start on unused containers, fixes ddev#8830 (ddev#8843)
- a8d9369 feat: add x-ddev.container-user, fixes ddev#8806 (ddev#8829) [skip ci]
- 46ce2bd docs(extend): split overlapping custom-service pages and fix ports/expose examples (ddev#8841) [skip ci]
- ac1835a fix(webserver): use an isolated volume in the webserver image test suite, fixes ddev#8849 (ddev#8851) [skip ci]
- 9c8b75c docs: merge CLAUDE.md into AGENTS.md (ddev#8852) [skip ci]
- 35b5204 fix(nginx): stop intercepting app-level 404s in the magento, magento2 and maho templates, fixes ddev#8837 (ddev#8838)
- ee9b64c feat: add console commands to Shopware 6 projects (ddev#8845)
- 2a06644 test(perf-collector): drop retired pipelines and improve failure message (ddev#8839)
- f9d959f build(images): skip fork release-marker check once marker's tag is published, fixes ddev#8804 (ddev#8827)
- bd98eeb docs(buildkite): document git-mirrors-path best practice for testbots (ddev#8799) [skip ci]
- ca6023f chore(claude): fix fallout from doc-lint and manual-testing guidance (ddev#8823) [skip ci]
- 464d23d test(buildkite): fix WSL2 agent tagging and remove orphaned NAT pipelines (ddev#8822) [skip ci]
- 83cf649 build(compose): update compose to current, revert ddev#8767, fixes ddev#8768 (ddev#8819)
- accbe7f fix(dbserver): add --single-transaction and MySQL 9.5+ dump flags to export-db (ddev#8797)
- 82b2f55 ci: fix release workflow broken by windows signing change ddev#8769 (ddev#8818)
💙 DDEV is free and open source, maintained by the nonprofit DDEV Foundation.
If this release saves you time, consider sponsoring DDEV.