Skip to content

Releases: strawberry-graphql/strawberry

🍓 0.284.0

17 Oct 10:33

Choose a tag to compare

This release drops support for Python 3.9, which reached its end-of-life (EOL)
in October 2025. The minimum supported Python version is now 3.10.

We strongly recommend upgrading to Python 3.10 or a newer version, as older
versions are no longer maintained and may contain security vulnerabilities.

Releases contributed by @bellini666 via #4018

🍓 0.283.3

10 Oct 20:03

Choose a tag to compare

Adds support for lazy unions.

Releases contributed by @rcybulski1122012 via #4017

🍓 0.283.2

07 Oct 17:25

Choose a tag to compare

This release adds support for the upcoming Python 3.14

Releases contributed by @patrick91 via #3828

🍓 0.283.1

06 Oct 20:55

Choose a tag to compare

Fixed multipart subscription header parsing to properly handle optional boundary parameters and quoted subscription spec values. This improves compatibility with different GraphQL clients that may send headers in various formats.

Key improvements:

  • Made the boundary=graphql parameter optional in multipart subscription detection
  • Added proper quote stripping for subscriptionSpec values (e.g., subscriptionSpec="1.0")
  • Enhanced test coverage for different header format scenarios

Example of supported headers:

Accept: multipart/mixed;boundary=graphql;subscriptionSpec=1.0,application/json
Accept: multipart/mixed;subscriptionSpec="1.0",application/json

Releases contributed by @LouisAmon via #4002

🍓 0.283.0

06 Oct 08:31

Choose a tag to compare

In this release, we renamed the strawberry server command to strawberry dev
to better reflect its purpose as a development server.

We also deprecated the strawberry-graphql[debug-server] extra in favor of
strawberry-graphql[cli]. Please update your dependencies accordingly.

Releases contributed by @DoctorJohn via #4011

🍓 0.282.0

07 Sep 20:28

Choose a tag to compare

This release fixes mask errors to support strawberry execution results.

Releases contributed by @aryaniyaps via #3987

🍓 0.281.0

26 Aug 16:07

Choose a tag to compare

In this release we removed the --log-operations option from the
strawberry server command. The option only worked for WebSocket connections to
the debug server, and had limited utility.

Removing this option allowed us to remove the undocumented debug option from
all HTTP view integrations and WebSocket protocol implementation, simplifying
the codebase.

Releases contributed by @DoctorJohn via #3979

🍓 0.280.0

19 Aug 17:27

Choose a tag to compare

This release unifies the format of HTTP error response bodies across all HTTP
view integrations. Previously, the Chalice integration used a custom JSON body
response different from the plain string used by other integrations. Now, all
integrations will return a plain string for HTTP error responses.

Releases contributed by @DoctorJohn via #3978

🍓 0.279.0

19 Aug 17:14

Choose a tag to compare

This release changes the strawberry.Maybe type to provide a more consistent and intuitive API for handling optional fields in GraphQL inputs.

Breaking Change: The Maybe type definition has been changed from Union[Some[Union[T, None]], None] to Union[Some[T], None]. This means:

  • Maybe[str] now only accepts string values or absent fields (refuses explicit null)
  • Maybe[str | None] accepts strings, null, or absent fields (maintains previous behavior)

This provides a cleaner API where if field is not None consistently means "field was provided" for all Maybe fields. A codemod is available to automatically migrate your code: strawberry upgrade maybe-optional

See the breaking changes documentation for migration details.

Releases contributed by @patrick91 via #3961

🍓 0.278.1

05 Aug 22:13

Choose a tag to compare

This release removes some internal code in favour of using an external dependency,
this will help us with maintaining the codebase in the future 😊

Releases contributed by @patrick91 via #3967