Keyword: RequiresMigration
major
Design System UI pass, part 1: one selection form; surface-interactive-selected becomes surface-interactive-strong
The database does not enforce uniqueness of reference values without duplicates: a unique index on the link tables, separate link tables for bags
Self-service accounts: invitations expire and record their acceptance, invitations can be accepted and managed in the React UI, localized mail templates
Agent screenshots belong to their chat: deleted with it, shown as thumbnails in the chat
Administration of the React UI: scheduler (task list, run now, stop, activate/deactivate, cluster lock, run history) with one unified active/inactive switch per task
Administration of the React UI: maintenance functions of the classic maintenance pages (database export/import/history compaction, SQL console, reload, search index, security storage, encryption)
Administration of the React UI: people (contacts with optional login) in one form
React Interface: Workflow Administration with BPMN Editor, Step Views from the View Designer, and Task Editing (BPE)
Rights System: Remove the configurable group mapper from the ElementAccessManager
tl-chat: Chat actions run as React commands within the window rather than via a separate ChatServlet; the chat's proxy workaround is no longer used in favor of engine polling
View layer: value listeners of the model (<value-listeners>) react to field changes in the React form, through a UI-independent listener contract
React View Layer: Commands Without HandlerResult - View commands report errors as exceptions; React command handlers return their response as a msgbuf message
SQLFactory: Generate column changes (modifyColumnName/Type/Mandatory) only with a complete column definition
Remove database defaults for columns: Add required columns using "create, populate, set as required"
Create accounts at an external login and assign their groups from a claim
Self-Service: Open self-registration without an invitation
Agent Access and Recording: Commands operate on stable object IDs; technical keys are used only for recording and playback
Self-service mails: texts editable in the service configuration, language of an invitation selectable
Model: handlers declared on an attribute (change) or a type (creation, deletion), run within the commit
TL Views: <start-job> / <job-status> - close button for an ended job, point of no return, partial result of a cancelled job, closing the dialog from the follow-up, follow-up sees the job's commits
tl-ai-core pulls the Playwright browsers (driver-bundle, 200 MB) into every application: browser tools move into the optional module tl-ai-browser
React Configuration Editor: Multi-line text (HTML, Markdown, code, multi-line) uses the entire line by default
System Environment: Display the source of configuration variables and set variables from the administration interface
AI Agents: Meaningful commit messages for changes made by an agent instead of "Agent edit"
minor
ModificationListener: no supported way to report to the user what a Modification changed, once the commit succeeded
critical
Canceling a background job (TL Views <start-job>, Scheduler Task, JMS Consumer) interrupts the thread in the middle of a database operation and closes an embedded H2 database (MVStore panic, application becomes unusable)
major
Scripted test TestTransactionMonitor-01_RevertRevision fails when a scheduled task commits concurrently
React Interface: Logging in in one browser tab immediately logs you out if a second tab for the application is open
Configured SecurityParents do not work with StructuredElementWrapper
The development server ignores X-Forwarded-* headers, so a relative callback URL behind a proxy names the wrong origin
tl-ai-core, Anthropic provider: Claude 5.5 models missing from the bundled model catalog, and claude-haiku-5-5 sent a thinking budget (HTTP 400)
tl-ai-core: agent turn rolled back with "Create on objects of type ... without permission" when a tool creates a part in an object created in the same turn - remove the duplicate pre-commit guard, check initial values in TL-Script
minor
React applications include modules from the classic interface (self-service, WYSIWYG editor, code editor, search, monitoring, AI administration)
TL Views: a sidebar separator stays visible when every item after it is hidden; the anonymous session sees the system separator with nothing below it
React Table: When there are multiple row types, attribute columns are resolved only for the first type (label, sorting, filter)
React Table with Row Edit: A column based on a derived attribute is editable, but saving fails
React: Button with an upload action does not open the file dialog
React-UI: Set the color role of a row, cell, or view as a separate script (row-role, cell-role, role) instead of the ineffective status classes tl-status-*
React-UI: The only way to display tabs for a single type is by using a type deviation in `access-control`, and that is logged as a WARN.
TL Script: When `throw()` is used or a `TopLogicException` occurs, `try()` passes only the message text to the `catch` block instead of the `ResKey`.