strawberry-graphql / strawberry-sqlalchemy

A SQLAlchemy Integration for strawberry-graphql
MIT License
93 stars 27 forks source link

Bump strawberry-graphql from 0.243.1 to 0.250.0 #214

Closed dependabot[bot] closed 18 hours ago

dependabot[bot] commented 1 day ago

Bumps strawberry-graphql from 0.243.1 to 0.250.0.

Release notes

Sourced from strawberry-graphql's releases.

🍓 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

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

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

Releases contributed by @​DoctorJohn via #3685

🍓 0.247.0

This release fixes a regression in the legacy GraphQL over WebSocket protocol. Legacy protocol implementations should ignore client message parsing errors.

... (truncated)

Changelog

Sourced from strawberry-graphql's changelog.

0.250.0 - 2024-11-18

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.

Contributed by Jonathan Ehwald via [PR #3701](strawberry-graphql/strawberry#3701)

0.249.0 - 2024-11-18

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.

Contributed by Jonathan Ehwald via [PR #3672](strawberry-graphql/strawberry#3672)

0.248.1 - 2024-11-08

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.

Contributed by Patrick Arminio via [PR #3692](strawberry-graphql/strawberry#3692)

0.248.0 - 2024-11-07

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.

Contributed by Jonathan Ehwald via [PR #3689](strawberry-graphql/strawberry#3689)

0.247.2 - 2024-11-05

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Summary by Sourcery

Build:

sourcery-ai[bot] commented 1 day ago

Reviewer's Guide by Sourcery

This PR updates the strawberry-graphql dependency from version 0.243.1 to 0.250.0. The update includes several significant changes to the library's internals, particularly around WebSocket protocol handling and type system improvements.

Class diagram for TypedDict migration in strawberry-graphql

classDiagram
    class GraphQLTransportWS {
        +String field1
        +int field2
        +boolean field3
    }
    class TypedDictGraphQLTransportWS {
        +String field1
        +int field2
        +boolean field3
        +null field4
    }
    GraphQLTransportWS <|-- TypedDictGraphQLTransportWS : migration
    note for TypedDictGraphQLTransportWS "Migrated from data classes to TypedDicts to handle null vs undefined values."

Class diagram for removal of SentryTracingExtension

classDiagram
    class StrawberrySchema {
        -SentryTracingExtension sentryTracing
        +SentrySDKIntegration sentrySDK
    }
    note for StrawberrySchema "SentryTracingExtension removed in favor of Sentry SDK integration."

File-Level Changes

Change Details Files
Migration of WebSocket protocol types to TypedDicts
  • Replaced data classes with TypedDicts for graphql-transport-ws types
  • Improved null vs undefined value handling in protocol messages
  • Enhanced type strictness in legacy graphql-ws protocol
poetry.lock
Removal of deprecated Sentry integration
  • Removed SentryTracingExtension after one-year deprecation period
  • Shifted to official Sentry SDK integration
poetry.lock
WebSocket protocol handling improvements
  • Fixed coroutine handling for client disconnections
  • Improved handling of unexpected socket disconnections
  • Enhanced message parsing error handling in legacy protocol
poetry.lock
Python compatibility updates
  • Fixed deprecation warning for typing._eval_type in Python 3.13+
poetry.lock

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
codspeed-hq[bot] commented 1 day ago

CodSpeed Performance Report

Merging #214 will not alter performance

Comparing dependabot/pip/strawberry-graphql-0.250.0 (91c6cf7) with main (2133fd7)

Summary

âś… 1 untouched benchmarks

dependabot[bot] commented 18 hours ago

Superseded by #215.