Releases: strawberry-graphql/strawberry
🍓 0.250.0
In this release, we migrated the graphql-transport-ws
types from data classes to typed dicts.
Using typed dicts enabled us to precisely model null
versus undefined
values, which are common in that protocol.
As a result, we could remove custom conversion methods handling these cases and simplify the codebase.
Releases contributed by @DoctorJohn via #3701
🍓 0.249.0
After a year-long deprecation period, the SentryTracingExtension
has been
removed in favor of the official Sentry SDK integration.
To migrate, remove the SentryTracingExtension
from your Strawberry schema and
then follow the
official Sentry SDK integration guide.
Releases contributed by @DoctorJohn via #3672
🍓 0.248.1
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
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
🍓 0.247.1
🍓 0.247.0
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
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
🍓 0.246.1
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