Skip to content

v0.7.0

Latest

Choose a tag to compare

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

Added

  • ToolCallMarkup reads tool calls an open model wrote as text. Read(text) returns the Hermes / Qwen 2.5
    <tool_call>{json}</tool_call> and Qwen3-Coder <function=Name><parameter=x>…</function> blocks (wrapper optional) as
    name + arguments, the prose before them, and where a block the text ends inside begins; Scan(text) says whether a
    streaming reader should hold output. Deciding which blocks to run stays with the caller.

Changed

  • Breaking: text that is not JSON has no tool calls. Parse, HasToolCalls (factory and every parser) and
    DetectProvider answer an empty list / false / Provider.Auto for a plain-text answer instead of throwing
    JsonException. Migration: drop a catch (JsonException) around these calls; check HasToolCalls instead.
  • Breaking: a call whose arguments are not a JSON object throws FormatException naming the tool, where it used to
    be returned and fail later inside GetArgument/HasArgument. Migration: catch FormatException where a model's
    malformed call should be reported back to it.
  • Breaking: a streaming chunk counts only for calls complete within it. A choices[].delta entry with an empty or
    partial arguments, or without a name, is no longer returned as a call (nor reported by HasToolCalls). Migration:
    accumulate the stream, then parse the assembled message.
  • GetArguments<T>() and GetArgument<T>() match property names case-insensitively by default
    (ToolCall.DefaultArgumentOptions); pass options to keep exact matching.

Fixed

  • Ollama's native response yields its calls. A tool_calls entry without an id, or with arguments given as an
    object, was dropped (HasToolCalls said true, Parse returned nothing) or threw; it is now read, with a generated id.
  • The format guide (docs/tool-call-format-guide.md) no longer carries a maintenance log — release history is this file.
  • The package links to the repository as its project site (PackageProjectUrl) — its nuget.org page had no project link.

Changed

  • The nuget.org «Release Notes» of every package link to the GitHub release of its version, whose notes are this CHANGELOG's section for that version.