Skip to content

Releases: strawberry-graphql/strawberry

🍓 0.248.1

08 Nov 15:41
Compare
Choose a tag to compare

This release fixes the following deprecation warning:

Failing to pass a value to the 'type_params' parameter of 'typing._eval_type' is deprecated,
as it leads to incorrect behaviour when calling typing._eval_type on a stringified annotation
that references a PEP 695 type parameter. It will be disallowed in Python 3.15.

This was only trigger in Python 3.13 and above.

Releases contributed by @patrick91 via #3692

🍓 0.248.0

07 Nov 13:56
Compare
Choose a tag to compare

In this release, all types of the legacy graphql-ws protocol were refactored.
The types are now much stricter and precisely model the difference between null and undefined fields.
As a result, our protocol implementation and related tests are now more robust and easier to maintain.

Releases contributed by @DoctorJohn via #3689

🍓 0.247.2

05 Nov 15:31
Compare
Choose a tag to compare

This release fixes the issue that some coroutines in the WebSocket protocol handlers were never awaited if clients disconnected shortly after starting an operation.

Releases contributed by @DoctorJohn via #3687

🍓 0.247.1

01 Nov 16:37
Compare
Choose a tag to compare

Starting with this release, both websocket-based protocols will handle unexpected socket disconnections more gracefully.

Releases contributed by @DoctorJohn via #3685

🍓 0.247.0

21 Oct 15:39
Compare
Choose a tag to compare

This release fixes a regression in the legacy GraphQL over WebSocket protocol.
Legacy protocol implementations should ignore client message parsing errors.
During a recent refactor, Strawberry changed this behavior to match the new protocol, where parsing errors must close the WebSocket connection.
The expected behavior is restored and adequately tested in this release.

Releases contributed by @DoctorJohn via #3670

🍓 0.246.3

21 Oct 14:11
Compare
Choose a tag to compare

This release addresses a bug where directives were being added multiple times when defined in an interface which multiple objects inherits from.

The fix involves deduplicating directives when applying extensions/permissions to a field, ensuring that each directive is only added once.

Releases contributed by @Speedy1991 via #3674

🍓 0.246.2

12 Oct 17:20
Compare
Choose a tag to compare

This release tweaks the Flask integration's render_graphql_ide method to be stricter typed internally, making type checkers ever so slightly happier.

Releases contributed by @DoctorJohn via #3666

🍓 0.246.1

09 Oct 10:36
Compare
Choose a tag to compare

This release adds support for using raw Python enum types in your schema
(enums that are not decorated with @strawberry.enum)

This is useful if you have enum types from other places in your code
that you want to use in strawberry.
i.e

# somewhere.py
from enum import Enum


class AnimalKind(Enum):
    AXOLOTL, CAPYBARA = range(2)


# gql/animals
from somewhere import AnimalKind


@strawberry.type
class AnimalType:
    kind: AnimalKind

Releases contributed by @nrbnlulu via #3639

🍓 0.246.0

07 Oct 09:04
Compare
Choose a tag to compare

The AIOHTTP, ASGI, and Django test clients' asserts_errors option has been renamed to assert_no_errors to better reflect its purpose.
This change is backwards-compatible, but the old option name will raise a deprecation warning.

Releases contributed by @DoctorJohn via #3661

🍓 0.245.0

07 Oct 00:07
Compare
Choose a tag to compare

This release removes the dated subscriptions_enabled setting from the Django and Channels integrations.
Instead, WebSocket support is now enabled by default in all GraphQL IDEs.

Releases contributed by @DoctorJohn via #3660