Changes for version 0.04 - 2026-07-26

  • Extend fast root continuation to single root object/abstract fields (#103)
  • Drive on_stall from C, skip the response Promise::XS entirely (#104)
  • Fix DataLoader Ticket cancellation leak, drive fallback on_stall from C too (#105)
  • Pool LazyInfo ($info) structs to cut per-call allocator churn (#106)
  • Extend Phase 7's raw frame linkage to suspending list items (#107)
  • Fix two UTF8 flag loss bugs found while adding multibyte robustness tests (#108)
  • Add regression tests for unverified multibyte/persistence paths (#109)

Changes for version 0.03_01 - 2026-07-25

  • Apply argument defaults when referenced variables are omitted.
  • Reject unknown resolver modes during schema compilation.
  • Preserve DataLoader ticket all/race Promise compatibility.
  • Speed up variable preparation and direct variable argument lookup.
  • Add fast resolver ABIs for zero-, one-, and multiple-argument fields.
  • Add explicit fast_resolve modes for reduced resolver callback signatures.
  • Add zero-argument object accessors that bypass the generic resolver adapter.
  • Cache accessor method lookup with subclass and redefinition invalidation.

Documentation

Modules

XS-backed GraphQL parser and execution toolkit for Perl
batching loader for GraphQL::Houtou resolvers
Directive definitions for GraphQL::Houtou
lightweight GraphQL error object
build an Apollo Federation 2 subgraph schema
Houtou-owned introspection types
GraphQL over HTTP endpoint as a plain PSGI app
request-time execution API on the XS VM
schema container for GraphQL::Houtou
Houtou-owned GraphQL type base class
GraphQL enum type
GraphQL input object type
GraphQL interface type
GraphQL list wrapper type
GraphQL non-null wrapper type
GraphQL object type
built-in and custom GraphQL scalars
GraphQL union type
GraphQL document validation facade
query depth limit validator
query field-count limit validator

Provides

in lib/GraphQL/Houtou/DataLoader.pm
in lib/GraphQL/Houtou/DataLoader.pm
in lib/GraphQL/Houtou/Internal/TypeSupport.pm
in lib/GraphQL/Houtou/XS/Parser.pm
in lib/GraphQL/Houtou/XS/Parser.pm
in lib/GraphQL/Houtou/XS/Parser.pm
in lib/GraphQL/Houtou/Promise/PromiseXS.pm
in lib/GraphQL/Houtou/Role/Abstract.pm
in lib/GraphQL/Houtou/Role/Composite.pm
in lib/GraphQL/Houtou/Role/FieldDeprecation.pm
in lib/GraphQL/Houtou/Role/FieldsEither.pm
in lib/GraphQL/Houtou/Role/FieldsInput.pm
in lib/GraphQL/Houtou/Role/FieldsOutput.pm
in lib/GraphQL/Houtou/Role/HashMappable.pm
in lib/GraphQL/Houtou/Role/Input.pm
in lib/GraphQL/Houtou/Role/Leaf.pm
in lib/GraphQL/Houtou/Role/Named.pm
in lib/GraphQL/Houtou/Role/Output.pm
in lib/GraphQL/Houtou/Runtime/DirectiveRuntime.pm
in lib/GraphQL/Houtou/Runtime/ExecState.pm
in lib/GraphQL/Houtou/Runtime/InputCoercion.pm
in lib/GraphQL/Houtou/Runtime/LazyInfo.pm
in lib/GraphQL/Houtou/Runtime/OperationCompiler.pm
in lib/GraphQL/Houtou/Runtime/SchemaBlock.pm
in lib/GraphQL/Houtou/Runtime/SchemaGraph.pm
in lib/GraphQL/Houtou/Runtime/Slot.pm
in lib/GraphQL/Houtou/Runtime/VMBlock.pm
in lib/GraphQL/Houtou/Runtime/VMCompiler.pm
in lib/GraphQL/Houtou/Runtime/VMOp.pm
in lib/GraphQL/Houtou/Runtime/VMProgram.pm
in lib/GraphQL/Houtou/Runtime/VMProgram.pm
in lib/GraphQL/Houtou/XS/Parser.pm