Removed:
- Remove the
--dependency-sizesoption and GitHub artifact fetching fromddev size status. Fall back to the other wheels storage tier when the preferred one (set via--wheels-storage) does not have a wheel. (#23831)
Added:
- Add deterministic Dispatcher test batch planning, with each job carrying the Python version it runs under and the Agent image its E2E tests run against. The internal
max_jobs_per_batchoption moves from[dispatcher]to[dispatcher.batching]. (#24687) - Report the type of each changed file from
GitRepository.changed_files, and allow comparing two refs. (#24776) - Add the Dispatcher pull-request updater task, which renders each progress snapshot into one PR comment, falls back to smaller comment tiers when GitHub refuses the body, and publishes the final report to the GitHub Actions run summary. (#24822)
- Include the target branch in backport PR titles (
[Backport <branch>] <subject>). (#24868) - Include a comment on the source PR listing each failed base when a backport fails. (#24872)
- Add
--to-dd-organd--to-dd-keytoddev size diffto send per-module size deltas to Datadog asdatadog.agent_integrations.size_diff, and report the deltas as a comment on pull requests. (#24895) - Add the
ddev ci dispatch-testscommand and the Dispatcher that runs a batching plan. (#24935) - Add a retry strategy to the async GitHub client for failures that are not rate limiting. (#24963)
- Report a cancelled Dispatcher run on its pull request and cancel the workflow runs it dispatched. (#25042)
- Add a
--minimum-base-packageoption toddev ci dispatch-teststhat plans a minimum-base-package job alongside each test job. (#25074) - Add a shutdown mode to the async GitHub client that caps request timeouts and stops retrying. (#25076)
- Tell processors when a stop is requested so they can shorten work in flight. (#25078)
- Add pull request file endpoints to the async GitHub client. (#25082)
- Handle the shutdown signals in the event bus so every orchestrator winds down cleanly. (#25088)
- Add
--pytest-argstoddev ci dispatch-tests, forwarded to each batch workflow. (#25112) - Add a shared monitoring runtime for Dispatcher context, console logging, and metric sinks. (#25159)
- Add structured Datadog log delivery for Dispatcher operations. (#25176)
- Add a buffered Datadog log handler to the monitoring runtime. (#25179)
- Export the resolved Dispatcher run to a manifest that a later invocation can reuse for planning. (#25190)
- Show a per-platform totals table and pivot the per-module table by platform in the
ddev size diffmarkdown output and PR comment. (#25195) - Allow
ddev validate allto write its formatted pull request comment to a file. (#25243)
Fixed:
- Speed up package installs in E2E
start_commandsby pointing the Agent container's apt mirror at the generic Ubuntu archive instead of a region-pinned mirror. (#24733) - Rename
TaskPullRequestUpdatertoTaskRunReporterandPullRequestUpdaterOptionstoRunReporterOptions, since the task also reports on runs that have no pull request. (#24931) - Bump stamina from 23.2.0 to 26.1.0. (#24960)
- Fix a message submitted from a worker thread being lost, leaving the event bus running until its timeout. (#24962)
- Wait for sync processors to finish and retire the bus thread pool when the run ends. (#24978)
- Abandon a batch's gathering when the event bus is shutting down. (#24980)
- Ignore CI targets and target environments whose names contain characters outside the set used by real integrations, so that a directory name or
hatch.tomlmatrix value taken from a pull request cannot inject shell commands or$GITHUB_ENVentries into CI jobs. (#24991) - Report a message dropped and a processor skipped once the bus is stopping. (#25002)
- Send check-run status and conclusion as the enums the GitHub API declares. (#25046)
- Stop passing
--explicit-package-baseswhen type checking ddev, so mypy resolves first-party imports instead of silently treating them asAny. (#25051) - Draw the Dispatcher pull-request comment progress bar with pixel images instead of block characters. (#25083)
- Resolve a pull request's changed files through the GitHub API instead of local git, and split the pull request endpoints into the two schemas GitHub returns, so a listed pull request can no longer stand in for a full one. (#25095)
- Send a batch's job list to the test workflow as gzip and base64. (#25096)
- Reject a
per_pageoutside GitHub's accepted range of 1..100 in the async GitHub client. (#25100) ddev ci dispatch-testssends each batch the commit and branch its results belong to and whether the tested head lives in a fork, no longer opens the batch's check run itself, and rejects a plan naming an unknown runner. (#25115)- Discover Dispatcher test environments from
hatch.tomlwithout executing Hatch. (#25129) - Resolve Dispatcher pull requests from workflow head metadata and preserve expected-head validation. (#25133)
- Mark Dispatcher pull request reports as informational during shadow mode. (#25136)
- Retry interrupted license archive downloads and make license validation tests independent of live HTTP requests. (#25142)
- Include short help in ddev size so it fits in the terminal (#25146)
- Give Dispatcher artifact requests a configurable API allowance separate from polling while sharing GitHub backpressure. (#25148)
- Report Dispatcher run links and job progress before artifact collection, using a separate API allowance for collection. (#25150)
- Accept pending GitHub Actions step statuses and unify Dispatcher shutdown reporting and cleanup, preserving original failures and secondary diagnostics. (#25156)
- Stop passing hatch's verbosity to the
uv pip installcommands ddev injects, so CI environment creation no longer dumps uv's resolver DEBUG output. (#25170) - Improve Dispatcher test job names and CI Visibility tags. (#25175)
- Link running Dispatcher comments to their workflow run. (#25178)
- Order the disk usage diff details table by largest size change first instead of alphabetically. (#25206)
- Fix Dispatcher validation and clarify resolved run identity fields. (#25220)
- Require a tests directory for
ddev testto run pytest for an integration, while lint, formatting, and environment listing remain available with only ahatch.toml. (#25222) - Prevent repository instruction files from selecting Dispatcher test targets. (#25227)
- Define a shared Dispatcher monitoring field contract for logs, test tags, and metrics. (#25235)
- Propagate Dispatcher monitoring attributes to test batch jobs. (#25238)
- Improve Test Batch summaries with links to their Dispatcher context. (#25239)
- Fix Dispatcher reports that showed queued batches after jobs started. (#25242)