Releases: strawberry-graphql/strawberry
🍓 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
🍓 0.246.0
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