Skip to content

v5.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 08:53
· 12 commits to main since this release

Changed

  • Faster queries and hydration, measured with the benchmarks of tests/Benchmark: a query no longer copies the shared
    identity map, so that its cost no longer grows with the entities known (5,000 known: 160 µs down to 25 µs); the
    query is exported and masked for the query events only when they have listeners; the reflection of the hydrated and
    tracked properties, of the value objects, of the DTOs and of the lazy ghosts is read once; a response is decoded
    once. Hydrating 1,000 rows takes about 10% less time.

Added

  • The walkers extending AbstractGraphqlWalker format the arguments as DefaultGraphqlWalker did: a dialect overrides
    formatEnum() to print a backed enum as an enum literal, and omitsArgument() to leave out the arguments its API
    refuses.

Fixed

  • Data API Builder fetches the page after any cursor, "0" included, rather than the first page again.
  • A count or an aggregate missing from a response, or not a number, says so and names it, rather than
    expected array, got "array": InvalidGraphqlResponseException::expectedNumber().
  • The queries sent together with GraphqlQuery::concurrently() share their entities through the identity map: the
    second no longer creates another instance of an entity the first hydrated.