Skip to content

Release v22.35.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 17:49
cb72033

Added

  • The command generator registers a typed CommandResult<T> factory for each model-bound command's response types (looking through Task, ValueTask, nullable, value tuples, System.Tuple, OneOf and Result), so the command pipeline builds CommandResult<T> for them without reflection. NativeAOT applications get typed command results for every response type the generator can name (Refs #2854)
  • CommandResultFactories (for generated code) and MissingCommandResultFactory, thrown only when a response type has no factory and the code is ahead-of-time compiled (Refs #2854)

Response types generated code cannot name (inaccessible, nested in open generic types, obsolete or experimental), subtypes of the declared response type, and commands built without the generator keep using reflection whenever code is JIT-compiled, including in applications built with PublishAot running under dotnet run or a test host. Results are identical either way.

Reviewed with Anthropic models only (no cross-provider review available right now).