TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_8.0.0-alpha7
  4. #29361

8.0.0-alpha7
TopLogic Release

2026-07-30

enhancement

critical
#29088
Model-based access rights
#29108
Lightweight UI definition layer (TL Views) based on React UI components
major
#28694
Description of model parts as formatted text (rich text)
#28708
Enable Standard Selection in (Tree) Tables and Grids via TL Script
#29102
Add com.top_logic.layout.react module for React/SSE integration
#29221
Automatic determination of possible authorization configurations
#29349
XML Parsing Functions for TL-Script via XMLImporter
#29374
TL Script: gzip()
#29389
Code Completion for Variables ($) in the TL Script Editor
#29396
Conversation display for TL Views: object list element, file chips, card panels
#29399
Info Service Notifications: Display at the bottom instead of the top, and keep them in place when hovering over them with the mouse
#29400
Introduce a first-class "operation mode" service for applications (OperationMode enum + ApplicationModeService)
minor
#29085
Re-login on session timeout instead of redirect to login page
#29089
Extend the TL Script functions log() and info() to include selectable message levels (INFO, WARN, ERROR)
#29195
Problems with HTML attributes and TL script
#29306
TL Script: dateFormat() should accept an explicit timezone to format Calendar values losslessly
#29382
Expose a public, classpath-driven overload of `Workspace.getAppPaths`
#29385
The app archetype should automatically generate a standard git-ignored local-credentials overlay (tl_config) by default
#29392
Transaction Abort on Non-2xx Response
#29398
Login Form: Use "Username" Instead of "Name"

defect

major
#29383
A dead SOCKET_APPENDER (Chainsaw, localhost:4445) in the default logging configuration can cause logging to stall and operations to abort under heavy load
#29384
The TL-Script functions `resetSequence` and `generateSequenceId` generate a different sequence ID than `SequenceDefaultProvider` (in terms of suffix and context order), so they cannot reset a provider-managed sequence with a dynamic context
#29394
Editable tables in the React UI: Generalized row-set bindings for tabular editing in forms
#29410
Attribut filename der Structured-Text-Bildablage case-sensitive (binär) speichern
#29419
Understandable save failures and form validation feedback in the React view layer
minor
#28816
Reference value attributes only generate errors with SingleSelection
#29359
Inappropriate tooltips on some main tabs
#29360
Occasional error message in the log: "mainLayout" is null.
#29361
Invalid database definition for tag
#29363
Missing validation of dialogs in GOTO statements to dialogs of invisible parents
#29380
Context-sensitive auto-numbering fails if the context and the numbered object are created within a single transaction
#29381
Double-clicking in a graphic component does not work reliably
#29390
Subtree selection ends too early if the lowest level is not included in the level filter
#29393
URL routing in the React view layer is broken: ForwardingReactContext does not delegate getRouteManager()
#29401
Images in an image drop zone cannot be copied or saved using the browser's context menu
#29402
Tree selection is lost when the view is refreshed (invalidated)
#29412
Flaky TestDynamicComponentService.testIncrementalUpdates: asserts on asynchronous WatchService event after a fixed 10ms sleep
#29416
Anzeige des Änderungslogs schlägt fehl, wenn parallel Änderungen committet werden
#29420
FlowDiagram: Fehlerfall im row-wise Sub-Grid: subGridCols=2 und subGridStartCol=1
#29426
FlowDiagram: Text in PDF-eingebettetem Diagramm ist nicht selektierbar

task

major
#29407
Security-Scan: npm-Abhängigkeiten der React-Module aktualisieren
#29408
Security-Scan: httpcore5 anheben; pdfbox-/azure-Findings bewerten
minor
#29415
Slim down the repository CLAUDE.md and consolidate developer guidance into skills and FAQ articles
defect

minor

#29361

Invalid database definition for tag

Migration

In the database definition for "Tag," there is a reference called "taggedObject." Its target type is the abstract type "Object," but it is monomorphic; that is, the database does not store the specific type of the tagged object.

If you try to store something in this reference (e.g., a Group), an error occurs

Caused by: com.top_logic.element.meta.AttributeException: com.top_logic.dob.ex.IncompatibleTypeException: Value must have type 'Object' but has 'Group'
    at com.top_logic.element.meta.kbbased.storage.AbstractStorage.update(AbstractStorage.java:92)
    at com.top_logic.element.meta.AttributeUpdate$DefaultStorageAlgorithm.store(AttributeUpdate.java:80)
    at com.top_logic.element.meta.AttributeUpdate.store(AttributeUpdate.java:654)
	at com.top_logic.element.meta.form.overlay.FormObjectOverlay.store(FormObjectOverlay.java:322)
    at com.top_logic.element.meta.AttributeUpdateContainer.store(AttributeUpdateContainer.java:699)
	at com.top_logic.element.meta.form.AttributeFormContext.store(AttributeFormContext.java:143)
    at com.top_logic.element.layout.grid.DefaultGridApplyHandler.storeChanges(DefaultGridApplyHandler.java:30)
	at com.top_logic.element.layout.grid.GridComponent.storeRowValues(GridComponent.java:1413)
    ... 67 more
Caused by: com.top_logic.dob.ex.IncompatibleTypeException: Value must be of type 'Object' but is of type 'Group'
	at com.top_logic.knowledge.KnowledgeReferenceStorageImpl.checkType(KnowledgeReferenceStorageImpl.java:186)
    at com.top_logic.knowledge.KnowledgeReferenceStorageImpl.checkAttributeValue(KnowledgeReferenceStorageImpl.java:95)
	at com.top_logic.knowledge.service.db2.DBKnowledgeItem.setValue(DBKnowledgeItem.java:268)
    at com.top_logic.knowledge.service.db2.DynamicKnowledgeItem.setAttributeValue(DynamicKnowledgeItem.java:124)
	at com.top_logic.element.meta.kbbased.storage.ForeignKeyStorage.storeReferencedTLObject(ForeignKeyStorage.java:167)
	at com.top_logic.element.meta.kbbased.storage.TLItemStorage.internalSetAttributeValue(TLItemStorage.java:112)
	at com.top_logic.element.meta.AbstractStorageBase.setAttributeValue(AbstractStorageBase.java:81)
    at com.top_logic.element.meta.kbbased.storage.AbstractStorage.update(AbstractStorage.java:88)
    ... 74 more

Side note: Since the "Tag:Tag#taggedObject" attribute in the model uses "historic-storage," the problem is not apparent.

Migration

  • The migrations Ticket_29361_Made_Tag_taggedObj_polymorphic and Ticket_29361_Move_taggedObj_to_Tag_table (module tl-element) automatically convert the reference Tag:Tag#taggedObject automatically (polymorphic, new column TAGGED_OBJ_TYPE, stored as a foreign key in the Tag table). No manual action is required unless the application extends the Tag schema itself.
  • Schema validation has been tightened: A monomorphic reference whose target type is an abstract MOClass or an MOAlternative will be rejected with a DataObjectException ("... must be a non-abstract class") when the schema is resolved, rather than failing with an IncompatibleTypeException only when a value is saved. You must declare your own *Meta.xml files containing such a reference as polymorphic or have them point to a concrete type; otherwise, the application will not start.
  • Migration API: Util.updateTLReference(...), Util.updateInverseReference(...), and Util.updateTLStructuredTypePart(...) (com.top_logic.model.migration) have an additional parameter, DeletionPolicy, after HistoryType (null leaves the value unchanged). Custom migration processors that call these methods must be adapted.
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • DE
  • Login