strawberry-graphql
strawberry
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
🤖 Release 0.335.0 This release drops support for Python 3.10, which reached end of life in October 2026. The minimum supported Python version is now 3.11. The unused `strawberry.ext.dataclasses` module is removed. [skip ci]
main
1 hour ago
Support relay.Node on Pydantic types Pydantic types inherit the `id` resolver of regular Strawberry interfaces, so they can implement `relay.Node` like regular Strawberry types: with a `relay.NodeID` field, which the schema leaves out, and a `resolve_nodes` class method. The docs show it, and the tests cover node lookups, connections, custom `resolve_id`s and Pydantic interfaces. Pydantic interfaces can implement `relay.Node` too, and inputs can't, as inputs can't implement interfaces.
feature/pydantic-first-class
7 hours ago
Make the alias tests use AliasPath and strawberry.field(name=...) test_alias_path_for_nested_extraction and test_strawberry_name_overrides_pydantic_alias didn't use the features they are named after.
2026-10-12-pydantic-inputs
7 hours ago
Use Strawberry's check for the options of postponed annotations `find_unresolved_options()` (#4703) replaces the copy of `@strawberry.type`'s check for `Annotated` options that can't be read yet, with Strawberry's own metadata, like `strawberry.lazy()`, left out of the options. It only checks the options of the field itself: metadata nested in the type, like the `Field()` of the items in `list[Annotated[Shelf, Field(...)]]`, doesn't configure the field, so it doesn't raise an error anymore. A `strawberry.field()` nested in the type raises `InvalidStrawberryFieldAnnotationError` right away, as it would once the type can be resolved.
2026-10-12-pydantic-type-mapping
7 hours ago
Make the model config and validator tests check their behavior - The strict mode tests send a JSON scalar value of the wrong type, as GraphQL rejects other values before they reach Pydantic. - The validate_default test uses a default factory, since published defaults are sent by GraphQL and validated like other values. - The extra and populate_by_name tests are named after what they check: GraphQL rejects unknown fields and inputs are validated by name, so these settings can't change how GraphQL inputs are validated. - The before validator tests send values their validators change.
2026-10-12-pydantic-validation
7 hours ago
Add strawberry.pydantic.interface for Pydantic interfaces Pydantic types implement the interfaces they inherit, Pydantic or regular Strawberry ones. Inputs can't inherit interfaces, like with `@strawberry.input`, and decorating an interface or one of its implementations as an input suggests a shared undecorated base. Shortcake-Parent: 2026-10-12-pydantic-validation
2026-10-12-pydantic-interfaces
7 hours ago
Remove the annotations added for fields with a resolver from Strawberry types Strawberry adds an annotation for each field with a resolver, like a `@strawberry.field` method, so that dataclasses creates the field. It left them on the class, so tools that read a type's annotations saw a `StrawberryAnnotation` object as the type of the field: `typing.get_type_hints()` returned it, and Pydantic couldn't create a model that extends a Strawberry type or interface with such fields. They're now removed once the dataclass is created, so the class only has the annotations written by the user. Shortcake-Parent: main
2026-10-16-resolver-annotations
7 hours ago
Use Strawberry's helpers for computed fields and generic models - Computed fields read their `strawberry.field()` with `get_annotated_field()`, like data fields. - The resolvers of generic models get the arguments of the model that declares them, from `get_generic_arguments()` (#4704) with a `split_base` that reads Pydantic's generic metadata. The arguments were looked up by the name of the type parameter across the whole MRO, so with `class SortedPage(Page[int], Sorted[str])` the resolvers of both bases got `int`, and the `list[T]` of `class ListPage(Page[list[T]], Generic[T])` was lost.
2026-10-12-pydantic-resolver-fields
7 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
First-class Pydantic v2+ support
#3965
9 hours ago
bbd0ed8
feature/pydantic-first-class
CodSpeed Performance Gauge
0%
Add strawberry.pydantic.input for Pydantic input types
#4695
5 days ago
6e2045b
2026-10-12-pydantic-inputs
CodSpeed Performance Gauge
0%
Map Pydantic types to GraphQL types and support forward references
#4700
4 days ago
5152cfe
2026-10-12-pydantic-type-mapping
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs