Skip to content

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 15:33
v0.15.0
95c2c38

A tool-focused release: the Playground becomes a glass-box run inspector, and the built-in tool set grows to 39 tools in 7 groups.

Playground: glass-box run inspector

The admin Tool Playground now shows the complete nr_llm ↔ LLM dialog as it happens: every outbound request (messages sent, tools offered), every response (structured view, raw JSON, extracted thinking), every tool execution with arguments, result and duration — streamed live from the moment you click Run, with a summary strip for rounds, tool calls, token split, estimated cost and wall time. A dry-run mode assembles and shows the exact prompt without calling the model; max-tokens and temperature are run controls, and truncated responses are flagged. (#314, #317, #320, ADR-040/041)

28 new built-in tools

The tool catalogue now answers the everyday diagnostic questions directly:

  • Who changed this?get_record_history renders a record's sys_history as old → new per field with user and time; credential-like values stay withheld. (#325)
  • Why is this URL broken?resolve_url maps a URL to its page via the real router; probe_url GETs it (own hosts only) and auto-appends the matching log exception on a 5xx; get_last_exception, read_source and search_code follow the trail into the code. (#323, #325)
  • Check my TCA / TypoScriptvalidate_tca runs structural checks (dangling foreign_table, showitem/palette references, v14 ds_pointerField); check_typoscript runs the core syntax scanner over the page-effective constants and setup, including site-set TypoScript. (#325, #326)
  • Schema navigationget_full_tca (index), get_table_schema (relations surfaced), get_flexform_schema, fluid_resolve. (#324)
  • Fileslist_fal_storages, browse_fal_folder, search_fal_files, get_fal_references, find_missing_files, all storage-scoped and mount-aware. (#327)
  • System diagnosticslist_extensions, get_site_config (credential keys redacted), list_scheduler_tasks, get_system_status, list_deprecations, list_middlewares. (#328)
  • Contentsearch_records, get_page_content, read_records, get_typoscript, get_tsconfig. (#321)

Every tool follows the same security contract: neutral denials, bounded output, self-enforced TYPO3 permissions for non-admins, and no secret ever egresses to the provider.

Tool groups

Every tool declares a group. Groups toggle centrally in the Tools module, restrict per LLM configuration, and (de)select per run in the playground — enablement cascades fail-closed. (#322, ADR-043)

BREAKING: ToolInterface gained getGroup(): string. Third-party tools should return their extension key, so admins can disable an extension's whole tool family with one switch.

Also

  • The LLM module overview is a guided starting point with usage/cost KPIs and per-card readiness states. (#313)
  • Non-UTF-8 bytes anywhere in a run no longer crash the playground; out-of-range temperature is clamped. (#315#317)
  • Tip for small local models: restrict runs to the relevant tool groups — verified live with the seeded qwen3:4b. (#329)

Full details in the CHANGELOG.

Full Changelog: v0.14.1...v0.15.0

Installation

composer require netresearch/nr-llm

Publication status

Security

All release artifacts are signed with Sigstore keyless signing.

Verify signatures

cosign verify-blob \
  --bundle nr-llm-0.15.0.zip.sigstore.json \
  --certificate-identity-regexp "https://github.com/netresearch/.*" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  nr-llm-0.15.0.zip

Verify checksums

sha256sum -c checksums.txt

Software Bill of Materials (SBOM)

SBOMs are provided in both SPDX and CycloneDX formats for supply chain transparency.