Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: graphql-java/graphql-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: validation-refactor
Choose a base ref
...
head repository: graphql-java/graphql-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 20 commits
  • 12 files changed
  • 5 contributors

Commits on Feb 9, 2026

  1. Bump aws-actions/configure-aws-credentials from 5 to 6

    Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 5 to 6.
    - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
    - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
    - [Commits](aws-actions/configure-aws-credentials@v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: aws-actions/configure-aws-credentials
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Feb 9, 2026
    Configuration menu
    Copy the full SHA
    da5e6b1 View commit details
    Browse the repository at this point in the history
  2. Bump org.testng:testng from 7.11.0 to 7.12.0

    Bumps [org.testng:testng](https://github.com/testng-team/testng) from 7.11.0 to 7.12.0.
    - [Release notes](https://github.com/testng-team/testng/releases)
    - [Changelog](https://github.com/testng-team/testng/blob/master/CHANGES.txt)
    - [Commits](testng-team/testng@7.11.0...7.12.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.testng:testng
      dependency-version: 7.12.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Feb 9, 2026
    Configuration menu
    Copy the full SHA
    54f8b69 View commit details
    Browse the repository at this point in the history
  3. Bump com.fasterxml.jackson.core:jackson-databind from 2.20.1 to 2.21.0

    Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.20.1 to 2.21.0.
    - [Commits](https://github.com/FasterXML/jackson/commits)
    
    ---
    updated-dependencies:
    - dependency-name: com.fasterxml.jackson.core:jackson-databind
      dependency-version: 2.21.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Feb 9, 2026
    Configuration menu
    Copy the full SHA
    60bad37 View commit details
    Browse the repository at this point in the history
  4. Bump net.ltgt.errorprone from 4.3.0 to 5.0.0

    Bumps net.ltgt.errorprone from 4.3.0 to 5.0.0.
    
    ---
    updated-dependencies:
    - dependency-name: net.ltgt.errorprone
      dependency-version: 5.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Feb 9, 2026
    Configuration menu
    Copy the full SHA
    fd28e61 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2026

  1. Configuration menu
    Copy the full SHA
    289505e View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2026

  1. Configuration menu
    Copy the full SHA
    fd7ff0a View commit details
    Browse the repository at this point in the history
  2. Avoid redundant array copy in Async$Many for synchronous execution path

    In the all-synchronous execution path (no CompletableFutures), Async$Many
    allocated an Object[] to collect field values, then copied them into a new
    ArrayList in materialisedList(). Replace the copy with Arrays.asList() which
    wraps the existing array at zero cost.
    
    Benchmarked with a new ExecutionBenchmark (balanced tree: ~530 fields, ~2000
    result scalars, depth 5) showing ~5% throughput improvement on the synchronous
    path. Also adds async-profiler support to build.gradle for JMH profiling.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    acc6c10 View commit details
    Browse the repository at this point in the history
  3. Make ResultPath.toStringValue lazy and avoid intermediate string allo…

    …cations
    
    The toString representation of ResultPath was eagerly computed in the
    constructor via initString(), but is never read during normal query
    execution — only used for error reporting. Make it lazy (computed on
    first toString() call) to eliminate all string work from the hot path.
    
    Also inline segmentToString() into initString() to avoid intermediate
    String allocations when the value is eventually computed, letting Java's
    StringConcatFactory handle it as a single multi-arg concat.
    
    Benchmarked ~30-78% throughput improvement vs master across all execution
    benchmarks.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    45d13fc View commit details
    Browse the repository at this point in the history
  4. Add fast-path DataFetcher lookup avoiding FieldCoordinates allocation

    Every field fetch created a throwaway FieldCoordinates object just for a
    HashMap lookup. Add an internal nested Map<String, Map<String, ...>>
    (typeName → fieldName → factory) built at CodeRegistry construction time,
    and an internal getDataFetcher(String, String, GraphQLFieldDefinition)
    method that does the lookup by strings directly. Use this in
    ExecutionStrategy.fetchField to skip FieldCoordinates creation entirely.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    659fe34 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #4228 from graphql-java/validation-refactor

    Consolidate validation rules into single OperationValidator and improve performance
    andimarek authored Feb 19, 2026
    Configuration menu
    Copy the full SHA
    f8f9892 View commit details
    Browse the repository at this point in the history
  6. Merge remote-tracking branch 'origin/master' into async-many-material…

    …ized-list-optimization
    andimarek committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    9a54c18 View commit details
    Browse the repository at this point in the history
  7. Make fast-path getDataFetcher public and document performance benefit

    Remove @internal from the String-based getDataFetcher overload and add
    proper javadoc documenting the ~54 KB/op allocation savings and 5-9%
    throughput improvement over the FieldCoordinates-based lookup.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    4011983 View commit details
    Browse the repository at this point in the history
  8. Simplify ResultPath.initString() — inlining is unnecessary with lazy …

    …init
    
    Since toStringValue is lazily computed (once per path), the manual
    inlining of segmentToString() provides no measurable performance
    benefit. Simplify back to the clean delegation.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 19, 2026
    Configuration menu
    Copy the full SHA
    c52498b View commit details
    Browse the repository at this point in the history
  9. Merge pull request #4252 from graphql-java/async-many-materialized-li…

    …st-optimization
    
    Reduce allocations in Async$Many and ResultPath on execution hot path
    andimarek authored Feb 19, 2026
    Configuration menu
    Copy the full SHA
    9ae83ab View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. Merge pull request #4241 from graphql-java/dependabot/github_actions/…

    …aws-actions/configure-aws-credentials-6
    dondonz authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    3d1e349 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f0ded9 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #4243 from graphql-java/dependabot/gradle/com.fast…

    …erxml.jackson.core-jackson-databind-2.21.0
    dondonz authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    20d3645 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6e7cb30 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2026

  1. Fix SchemaTransformerBenchmark to pass schema validation

    The benchmark's `infoDirective` lacked valid locations, causing schema
    validation failures during `transformSchema`. Additionally, the directive
    was not declared on the schema, so the post-transformation validation
    would reject it. This meant the benchmark was measuring error-path
    behavior rather than the real transformation cost.
    
    - Add FIELD_DEFINITION and OBJECT valid locations to `infoDirective`
    - Declare `infoDirective` as an additional directive on the schema
    - Import `DirectiveLocation`
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    andimarek and claude committed Feb 21, 2026
    Configuration menu
    Copy the full SHA
    cb886dc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    50c22c1 View commit details
    Browse the repository at this point in the history
Loading