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
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Change Log

## [19.0.0] - 2026-02-06

### Added

- BREAKING CHANGE: Support for msgspec schemas; voluptuous schemas renamed to `LegacySchema`

### Changed

- Updated taskcluster dependency to v92; artifact functions now handle redirects manually
- Updated workerType in template `.taskcluster.yml`
- Disabled unnecessary `taskcluster-proxy` for Windows tests

### Fixed

- Race condition in `docker_image` transforms when creating docker-contexts directory
- Wrong location for `extra` in `.taskcluster.yml` template

## [18.1.0] - 2026-01-13

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

This page can help when migrating Taskgraph across major versions.

18.x -> 19.x
------------

* The ``Schema`` class in ``taskgraph.util.schema`` is now based on msgspec
instead of voluptuous. The old voluptuous-based class has been renamed to
``LegacySchema``. Both will continue to be supported.

If you have custom schemas using ``Schema``, you have two options:

**Option 1**: Switch to ``LegacySchema`` to keep using voluptuous:

.. code-block:: python

from taskgraph.util.schema import LegacySchema

**Option 2**: Migrate to the new msgspec-based ``Schema``:

.. code-block:: python

from taskgraph.util.schema import Schema

class MySchema(Schema):
foo: str
bar: int = 10

The new ``Schema`` class uses kebab-case renaming and forbids
unknown fields by default. See the msgspec documentation for more details.

* ``validate_schema`` now supports both voluptuous and msgspec schemas, and
``optionally_keyed_by`` accepts a ``use_msgspec=True`` flag for msgspec output.

17.x -> 18.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 = "18.1.0"
version = "19.0.0"
description = "Build taskcluster taskgraphs"
readme = "README.rst"
authors = [
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

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

Loading