BREAKING Drop TYPO3 12 support; raise floor to TYPO3 13.4 / 14.3
BREAKING symfony/ai-agent pinned to ~0.13.0 (experimental, no BC promise)
BREAKING MCP write_table appends a new record after the existing ones (it used to put it on top); the generated
*_delete_batch / *_update_batch / *_move_batch tools are all-or-nothing and take at most 500 records (see Behaviour changes)
TASK Remove TYPO3-12-only dual code paths (StandaloneView Fluid views,
legacy icon size strings, page-tree v12 component id, TYPO3-11 mailer branch)
FEATURE AI Agent: backend assistant in a docked right-edge panel (Ctrl/Cmd+Shift+K), with chat,
conversations list, starter chips and plain-language answers in the editor's backend language
FEATURE AI Agent: ask in natural language, use /tool commands or attach records with @table:uid
FEATURE AI Agent: changes are shown as a card first (preview) and written only after you apply them;
applied changes can be undone and a stale change is not written over newer edits
FEATURE AI Agent: finds the right tool for a request from the tools the editor's group may use
FEATURE AI Agent: conversations are stored on the server, one running turn per backend user,
provider fixed per conversation
FEATURE AI Agent: uses the workspace selected in the MCP Server module (Live is allowed unless the
group's workspace enforcement blocks it); the panel shows which workspace a change goes to
FEATURE AI Agent: plan progress shown while a request has several steps
FEATURE AI Agent: runs on T3Planet Credits through the chat completions endpoint
FEATURE MCP records_apply: create, update, delete and move many records across tables in one atomic call
FEATURE MCP records_apply: bulk shorthand, dryRun, strict/non-strict, append ordering, up to 500 records
FEATURE MCP records_apply: requestId makes a retried call safe (new table tx_nst3af_mcp_idempotency)
FEATURE MCP records_apply: fromFile reads the batch from an uploaded .json file (up to 10 MB)
FEATURE MCP records_undo: take a whole batch back by its batchId
FEATURE MCP: write_table and the generated *_delete_batch / *_update_batch / *_move_batch tools run
on the records_apply engine (batch tools all-or-nothing; write_table file fields after commit)
FEATURE MCP: records written by an MCP client are recorded in the AI Label module (setting mcpMarkWritesAsAi)
TASK t3af:mcp:cleanup also removes expired records_apply request ids
TASK New settings: mcpMarkWritesAsAi, mcpIdempotencyTtlHours
FEATURE Credits: clear messages for exhausted credits and other credit errors (EN/DE, with model and parameter);
one retry after a temporary upstream timeout or 5xx; a redacted (content_removed) reply shows an info message
in the AI Agent instead of an error
BUGFIX Credits: recover from token_ip_conflict on Activate and Refresh token
FEATURE AI Agent: create a page before or after a named page, and move a page after another one
FEATURE AI Agent: show or hide the conversations list
FEATURE AI Agent: only offers what the editor may do; the page tree, tables, fields, files and
workspaces follow the editor's own permissions, and a refusal says why in plain words
FEATURE AI Agent: every refused, hidden or failed request is written to the AI logs
FEATURE MCP: tabs of the MCP module are grouped in a navigation group
BUGFIX MCP: the stdio transport no longer uses STDIN/STDOUT as buffered defaults
BUGFIX MCP: stdio uses the workspace chosen in the MCP Server module when -w is not given (it used to start in
Live), and no longer saves the workspace to the backend user, so the editor's own session is not moved
FEATURE AI Agent: new content elements get a column, so content_defender does not warn on save
FEATURE MCP records_apply: a text field with one run of more than 256 KB without a space is refused
with a clear message, because TYPO3 cannot index it
[SECURITY] MCP: write_table and records_apply refuse a table or field the backend user may not edit
[SECURITY] MCP Server settings (mode, advanced settings, scopes, IP allowlist, mTLS, analytics export,
health ping) need an administrator, or the AI Foundation module with the MCP Server tab visible
[SECURITY] MCP Server module page no longer issues a personal token to a user without the MCP Server tab
[SECURITY] cache_clear: scope "pages" (all page caches) needs options.clearCache.pages = 1 for non-admins,
as in TYPO3 core
RELEASE Release major version 2.0.0