Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Change Log

## [17.0.0] - 2025-10-17

### Changed

- BREAKING CHANGE: Dropped support for Python 3.8
- BREAKING CHANGE: `base_ref` parameter no longer gets reset to default branch by Decision task
- BREAKING CHANGE: `base_rev` parameter no longer gets reset to merge-base by Decision task
- BREAKING CHANGE: `run-task` script no longer fetches or checks out `base_ref` parameter
- BREAKING CHANGE: `run-task` script no longer fetches all heads if `head_ref` was not specified

### Added

- `run-task` now supports shallow Git clones
- Improved support for shallow clones in `repo.get_changed_files()`

### Perf

- Improvements to graph traversal logic and caching

### Fixed

- Bug in `retrigger-multiple` action's schema definition
- `run-task` no longer fetches head ref twice in some scenarios
- `run-task` avoids fetching tags in some scenarios when not necessary
- `run-task` properly normalizes `head_ref` before checking it out
- Appropriate exception now being caught in various `taskcluster` call sites

## [16.2.1] - 2025-10-14

### Fixed
Expand Down
32 changes: 32 additions & 0 deletions docs/reference/migrations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,38 @@ Migration Guide

This page can help when migrating Taskgraph across major versions.

16.x -> 17.x
------------

* Upgrade to Python 3.9 or above.
* The ``base_ref`` parameter could now be ``None`` if it wasn't explicitly
passed into the Decision task. If this was relied upon, do the following
instead:

.. code-block:: python

from taskgraph.util.vcs import get_repository

repo = get_repository()
base_ref = repo.default_branch

* The ``base_rev`` parameter is no longer being reset to the merge-base. This
means in some cases, ``base_rev`` might not actually be an ancestor of
``head_rev``. If you need the merge-base, you can use:

.. code-block:: python

from taskgraph.util.vcs import get_repository

repo = get_repository()
base_rev = repo.find_latest_common_revision(parameters["base_rev"], parameters["head_rev"])

* The ``base_ref`` is no longer being fetched by ``run-task``. If you were
relying on it, you can run ``git fetch origin <base_ref>`` in a subprocess.
* The ``run-task`` scripts no longer fetches all heads when ``head_ref`` isn't
specified. If this behaviour was relied upon, you can run
``git fetch +refs/heads/*:refs/remotes/work/*`` in a subprocess.

15.x -> 16.x
------------

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### Project
[project]
name = "taskcluster-taskgraph"
version = "16.2.1"
version = "17.0.0"
description = "Build taskcluster taskgraphs"
readme = "README.rst"
authors = [
Expand Down
4 changes: 2 additions & 2 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading