Skip to content

build(deps-dev): bump graphql-core from 3.3.0 to 3.3.1 - #224

Open
dependabot[bot] wants to merge 2 commits into
masterfrom
dependabot/uv/graphql-core-3.3.1
Open

dependabot[bot] wants to merge 2 commits into
masterfrom
dependabot/uv/graphql-core-3.3.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 31, 2026

Copy link
Copy Markdown
Contributor

Bumps graphql-core from 3.3.0 to 3.3.1.

Release notes

Sourced from graphql-core's releases.

v3.3.1

Patch-release GraphQL-core v3.3.1, based on GraphQL.js v17.0.2.

This patch-release supports Python 3.10 to 3.15.

This is a security release. It fixes a denial-of-service vulnerability in the validator. Upgrading is recommended for all users of GraphQL-core 3.3.

Security fix:

  • Fixed a memory leak that could be used for a denial of service (see the security advisory). When a validation was aborted because the document had more errors than allowed by max_errors (100 by default), the same error object was raised every time. Its traceback grew with each aborted validation and kept the frames of all these validations alive, including their documents. Any client could exhaust the memory of a server by sending documents with more than 100 validation errors. Now a new error is created for every aborted validation (#287). GraphQL-core 3.2 is not affected.

Bug fixes:

  • The memoization of collected subfields used the ids of objects that could be freed and reused during execution. Therefore, a field could be resolved with the selection set of another field. The cache now uses the identity of the field list like GraphQL.js and keeps the list alive during execution (#284). This was a regression in 3.3.
  • Closing a subscription did not close the source iterator if the __aiter__ method of the source returned a different object, such as an async generator (#283). This was a regression in 3.3.
  • Decimal, Fraction and NumPy scalar values, as returned by database drivers, ORMs and NumPy/pandas, can be serialized as Int, Float and Boolean again (#280). This was a regression in 3.3. Different from 3.2, non-integer values such as Decimal("2.5") are rejected as Int instead of being truncated.
  • If input values of different types shared the same default value, e.g. after extend_schema(), the default was coerced for the type that was used first (#279). Coerced default values are now memoized on the argument or input field like in GraphQL.js. Schemas that were pickled with 3.3.0 can still be unpickled.

Behavior changes:

  • A GraphQLError created while another exception is handled does not take over the traceback of that exception anymore. If the error is raised, it gets its own traceback, and the handled exception becomes its context. Errors of incremental computations and reasons of abort signals do not accumulate tracebacks anymore when they are raised repeatedly.
  • validation_aborted_error has been removed from graphql.validation.validate. It was not exported.

Other changes:

  • Improved performance when coercing literal arguments, and added a benchmark for executing fields with arguments.

Thanks to @​riodw for reporting the memory leak and to @​Fire162 for submitting a first fix (#288), to @​abraira85 for reporting and analyzing the issue with the subfields and to @​jadenfix for fixing it, to @​patrick91 for fixing the shared default values and improving performance, to @​AryanRG for fixing the subscription iterator, and to @​gabor-lbl for reporting the serialization issue.

Thanks to @​jkimbo for sponsoring this project.

Commits
  • d83193f Bump version
  • e8bd478 Memoize collected subfields on the identity of the list (#285)
  • f9fc5ad Do not let errors adopt or accumulate tracebacks
  • 3c319fd Create a new error for every aborted validation
  • f0598fe Split tests for closing the consumed source iterator
  • 6b0588f Close the consumed subscription source iterator (#286)
  • d913a61 Memoize coerced default values on the input value (#282)
  • 3be333a Only reuse memoized default values for the type they were coerced to (#279)
  • e46bc83 Serialize Decimal, Fraction and NumPy scalars (#281)
  • bdab43b Avoid per-argument work when coercing literal arguments
  • Additional commits viewable in compare view

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 show <dependency name> 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.

Bumps [graphql-core](https://github.com/graphql-python/graphql-core) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/graphql-python/graphql-core/releases)
- [Commits](graphql-python/graphql-core@v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: graphql-core
  dependency-version: 3.3.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 31, 2026
@semanticdiff-com

Copy link
Copy Markdown

Review changes with  SemanticDiff

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants