Changelog 

This page summarizes the latest release. The development branch also includes unreleased changes: inspect the pending changelog fragments before assuming a behavior is available in a tagged package.

The complete changelog is the canonical release ledger. The manual's older highlights are selective and may omit intermediate versions.

During 0.x, a minor release may introduce breaking changes; patch updates remain within the minor series. Review migration notes before upgrading.

Version 0.44.0 (2026-11-12) 

A configuration can have its texts checked against a rule set by a second model, a table task can send its rows as TOON, EXT:autotranslate can translate through nr-llm, and an agent run stores what its model calls cost. nr-llm now requires nr-vault 1.5. Run the TYPO3 database schema update after updating.

  • Rule-set judge (ADR-288): a configuration can have its texts checked against a rule set by a second, small model. The rule set is the snippets carrying the selected tags; mode report delivers the text with a hint that quotes the broken rule and the passage, mode block stops it. Off by default. tx_nrllm_configuration gains rule_judge_mode, rule_judge_tags and rule_judge_configuration.
  • Guardrail configurations (ADR-290): a caller can name further configurations with withGuardrailConfigurations(); their term lists screen the call as well, and the rule-set judge of each one applies, the strictest mode deciding. The backend AI chat uses it so that a site with its own configuration keeps the chat's bans.
  • TOON table input (ADR-286): with "format":"toon" in a table task's input_source the rows go to the model in TOON instead of JSON; on the first 50 rows of five demo tables this needed 45 to 71 % fewer tokens.
  • EXT:autotranslate (ADR-289): its translatorClass can name Netresearch\NrLlm\Integration\Autotranslate\AutotranslateTranslator, which translates through the nr-llm translator in the setting autotranslate.translator and refuses a blank, cut-off or markup-only answer instead of storing it.
  • A2A client (spec 051, stages 1 and 2): an administrator can register a remote agent that speaks Agent2Agent 1.0, import its card with nrllm:a2a:import, and send it a message with nrllm:a2a:send. Nothing is sent unless an agent is registered. Requests go through the address guard and are pinned to the checked addresses, which needs netresearch/nr-vault 1.5. Stage 2 lets an agent run delegate a step to a skill of an enabled remote agent and wait in the new status waiting_for_dependency until nrllm:a2a:poll continues it; while nr_mcp_agent is installed no delegation tool is offered. New tables tx_nrllm_a2a_task and tx_nrllm_a2a_event.
  • Run cost: an agent run stores what its model calls cost, also across an approval or input pause. Before, every run stored a cost of 0; a run whose cost is unknown now shows "Unknown".
  • Failed approved writes: a background batch offers a record again when its card was approved but the write failed, and the Agent Runs module marks a finished run whose tool call failed.
  • Head editors (ADR-277): the new grant usage_view_groups and the group field AI usage visible for groups open the module AI usage of my groups. be_groups gains tx_nrllm_usage_visible_groups.
  • An approval or input in the Agent Runs inbox streams a line per step, so a reverse proxy's read timeout counts one step instead of the whole continuation (ADR-276).
  • Workspace writers ask an inline owner as the run's workspace shows it, and approval cards name a content element without a header by its type and UID.