Skip to content

chore(deps): bump graphql-core from 3.3.0 to 3.3.1 - #8179

Merged
sentrivana merged 1 commit into
masterfrom
dependabot/uv/graphql-core-3.3.1
Nov 3, 2026
Merged

sentrivana merged 1 commit into
masterfrom
dependabot/uv/graphql-core-3.3.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 3, 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:

  • CVE-2026-119286: 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
dependabot Bot requested a review from a team as a code owner November 3, 2026 15:34
@dependabot dependabot Bot added Dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Nov 3, 2026
@sentrivana
sentrivana enabled auto-merge (squash) November 3, 2026 15:35
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Coverage Results 📊

✅ 136864 passed | ⏭️ 7456 skipped | Total: 144320 | Pass Rate: 94.83% | Execution Time: 458m 49s

All tests are passing successfully.

✅ Patch coverage is 100.00% (no changed executable lines found; target 80%).
Project statement coverage is 90.30%.


Generated by Coverage Action

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: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/graphql-core-3.3.1 branch from 0808ce1 to 8b40416 Compare November 3, 2026 15:49
@sentrivana
sentrivana merged commit 71094ac into master Nov 3, 2026
170 checks passed
@sentrivana
sentrivana deleted the dependabot/uv/graphql-core-3.3.1 branch November 3, 2026 16:01
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant