Starting with this release, multipart uploads are disabled by default and Strawberry Django view is no longer implicitly exempted from Django's CSRF protection.
Both changes relieve users from implicit security implications inherited from the GraphQL multipart request specification which was enabled in Strawberry by default.
These are breaking changes if you are using multipart uploads OR the Strawberry Django view.
Migrations guides including further information are available on the Strawberry website.
Starting with this release, clients using the legacy graphql-ws subprotocol will receive an error when they try to send binary data frames.
Before, binary data frames were silently ignored.
While vaguely defined in the protocol, the legacy graphql-ws subprotocol is generally understood to only support text data frames.
You can now configure your schemas to provide a custom subclass of
strawberry.types.Info to your types and queries.
import strawberry
from strawberry.schema.config import StrawberryConfig
from .models import ProductModel
class CustomInfo(strawberry.Info):
@​property
def selected_group_id(self) -> int | None:
"""Get the ID of the group you're logged in as."""
return self.context["request"].headers.get("Group-ID")
@​strawberry.type
class Group:
id: strawberry.ID
name: str
@​strawberry.type
class User:
id: strawberry.ID
name: str
group: Group
Starting with this release, multipart uploads are disabled by default and Strawberry Django view is no longer implicitly exempted from Django's CSRF protection.
Both changes relieve users from implicit security implications inherited from the GraphQL multipart request specification which was enabled in Strawberry by default.
These are breaking changes if you are using multipart uploads OR the Strawberry Django view.
Migrations guides including further information are available on the Strawberry website.
Starting with this release, clients using the legacy graphql-ws subprotocol will receive an error when they try to send binary data frames.
Before, binary data frames were silently ignored.
While vaguely defined in the protocol, the legacy graphql-ws subprotocol is generally understood to only support text data frames.
You can now configure your schemas to provide a custom subclass of
strawberry.types.Info to your types and queries.
import strawberry
from strawberry.schema.config import StrawberryConfig
from .models import ProductModel
class CustomInfo(strawberry.Info):
@​property
def selected_group_id(self) -> int | None:
"""Get the ID of the group you're logged in as."""
return self.context["request"].headers.get("Group-ID")
@​strawberry.type
class Group:
id: strawberry.ID
name: str
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)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tychen-SJTU/MECD-Benchmark/network/alerts).
Bumps strawberry-graphql from 0.138.1 to 0.243.0.
Release notes
Sourced from strawberry-graphql's releases.
... (truncated)
Changelog
Sourced from strawberry-graphql's changelog.
... (truncated)
Commits
2f21067
Release 🍓 0.243.037265b2
Disable multipart uploads by default (#3645)18f0f5d
Fix missing return annotation in get_customer docs (#3642)ab16971
Release 🍓 0.242.063528a5
Let legacy ws clients know about invalid data frames (#3633)2941146
[pre-commit.ci] pre-commit autoupdate (#3618)a162c9b
Release 🍓 0.241.07287047
Add ability to set a custom info class for a schema (#3592)13bd97b
Remove old link2d96d23
Release 🍓 0.240.4Dependabot 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