8.0.0-alpha11
TopLogic Release
2026-10-20
TopLogic 8.0.0-alpha11 extends the React UI (TL Views) with unified drag and drop, a popover element, an Excel export of tables and the configurable split of <adaptive-detail>, lets the React UI work behind proxies that buffer the event stream, hardens the OpenAPI server and the handling of encrypted configuration values, and adds an XML import into existing data and PowerPoint generation from TL-Script.
React UI (TL Views)
- Drag and drop – tables, tree tables, trees and Kanban boards share one drag-and-drop model with several drop operations, drop positions and drag kinds.
- Popover – a
<popover>element shows arbitrary content at a triggering button. - Dashboard – a user can hide a tile of a
<dashboard>and add it again later. - Object lists – the cards of an
<object-list>are selectable (selection). - Tables – Excel export and a generic download action, a row count (total / filtered / selected), per-column comparators and enumeration order, per-row CSS classes, hidden
<computed-column>s, a reworked column selection; "restore defaults" keeps the declared group-by and sort. - Adaptive detail –
<selector>and<detail>of an<adaptive-detail>takesize,unitandmin-size; the dragged split is persisted; the drawer width isdrawer-size. - Value inputs – a
<value-input>is declared like a model attribute (mandatory,<annotations>); a binary value gets the upload/download control by type. - Channels and actions – a writable channel can be preset from other channels; a server-side source (e.g. a bus listener) pushes channel values into a view through a supported API; derived form fields follow edited values; a
<button>honors the display mode of its command; the<on-submit>of a text or number input also runs when the field is left. - Design system – table, tree, column selection, text, dialog, window, drawer, snackbar, notice bar, app shell, app bar, sidebar, bottom bar and the layout containers read the design system package; the atomic parts (buttons, menu triggers, checkboxes, inputs, chips, …) look the same everywhere and can be replaced by a component library; the avatar is rendered with Material UI in the MUI adapter.
- Proxies – behind a proxy that buffers or refuses the window event stream, the client falls back to polling, so the React UI stays usable.
- Development – developer commands and the script recorder are available to all users outside the production mode; a recorded script can be downloaded; the exit animations of dialogs and tile stacks are part of the engine.
Security and access rights
- Model-based security – reworked React UI; a TL-Script function can determine the access parent of a type; concept for a discover right (filtered object sources, masked form fields).
- Privileged TL-Script functions – a configured script is authorized as a whole by a command group on a computed security object.
- OpenAPI server – basic authentication of a technical user no longer accepts an empty password; request bodies are validated against the declared schema.
- Encrypted configuration values – an invalid encrypted value is rejected instead of being silently "decrypted"; the error for an undecodable value no longer echoes the value into the log.
Model and TL-Script
- XML import into existing data – IDs are resolved against existing objects, known subtrees are skipped, references may be optional, language and variables come from the input.
- PowerPoint from TL-Script – declarative slide building blocks, export into a company template, analysis of templates.
- Wrapper generation –
tl:generate-javaworks on the first build after a version change; the generated code no longer collides on classifier constants of two enumerations, and only the singleton root classes extendStructuredElement. - Model patch – a class may gain a generalization and override its attributes in the same change;
add()works on an empty multi-reference of a transient object. - Developer documentation – a recipe for an application-defined primitive type whose display depends on the owning object; the upgrade guide 7.11 to 8.0 states the Maven 3.8.9 requirement and applies to 7.10.x applications as well.
Configuration and operation
- Transaction monitor – select a time range or a revision range instead of a single day.
- History compaction – the compaction works in bounded transactions, and the maintenance window ends with the task.
- Cluster – a database connection that failed in a cluster transaction is no longer returned to the pool.
- Database – changing the type of a column with content works on Oracle and of an indexed column on MS SQL Server.
Bug fixes
- React UI: trees and selection channels, row activation, dialog closing, single-select options, disposed row-source observers.
- Classic UI: the column filter sorts its options with the column's comparator.
- Build and tests: TLScriptFunctions overload binding, message locations without thousands separator, JSP compilation during scripted tests, sporadic test failures.
Migration
- React UI: drag and drop, design system packages (parts, table, tree, dialog, window, app shell, layout containers), column selection,
<adaptive-detail>(drawer-size, personalization keys), security configuration UI. - OpenAPI server: request body validation.
- Wrapper generation:
tl:generate-java, generated factories and base classes, wrapper hierarchy clean-up. - Upgrade guide 7.11 to 8.0: Maven 3.8.9 or newer.
Details are given in the migration section of the release notes below.