TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.10.0
  4. #28678

7.10.0
TopLogic Release

2026-01-19

enhancement

critical
#25918
Graph-Binding 2.0
major
#25529
Schwache Modell-Constraints
#27483
TLScript: Mathematische Funktionen
#28083
Core-Theme: Bessere Darstellung/UX der TL-Script-Kontexthilfe
#28336
Dynamische Confirm-Messages
#28604
Allgemeine Anzeige der Änderungshistorie mit Undo-Möglichkeit
#28648
TL-Script: Unzip
#28727
Baum-Tabellen-Selektionslogik
#28765
Image-Upload-Control
#28892
TL-Script: flatMap()-Function
#28893
TL-Script: indexBy() mit Werttransformation
#28897
Instance-Export: Kontext für optionalen Import mitexportieren
#28899
Kachelsichten: Gemischte Ansichten von Objektkacheln mit Standardkacheln
#28900
TL-Script: transpose()-Funktion
#28901
TL-Script: count() mit einem Argument
#28902
TL-Script: remove()
#28903
TL-Script: split() mit Begrenzung
#28920
Layout-Editor: Pluggable generic commands
#28924
TL-Script: toJson()
#28927
TL-Script: excelFile()
#28931
Rollen-Profile beim Anwendungsstart importieren/aktualisieren
#28934
TL-Script: pdfFile()
#28947
Kompositionsattribute: Anlegen aus Kopie
#28949
TL-Script: CSS-Klassen-Berechnung für ganze Zeilen
minor
#27849
Eigenschaft vom Typ "Color" kann in TL-Script nicht mit einem Farbwert versehen werden
#28305
Bessere Default-Datei-Namen für generische Excel-Exporte
#28633
XML-Import: Handler, um ein Property from Typ "Internationalisierte Zeichenkette" um eine Übersetzung zu ergänzen
#28643
TL-Script: Parse Base64 in Data-URL Format
#28652
XML-Import: Transienter Import mit Nachbearbeitungsaktion
#28729
Layout-Editor: Buttonzeile in jedem Layout einblenden
#28742
(Lokale) Dialoge anzeigen ohne Sicht zu wechseln
#28743
Layout-Editor: Ein- und Ausblenden von Toolbars in allen Komponenten
#28745
Drag aus Baumtabellen soll auch zugeklappte Knoten liefern
#28762
Einführung von Renovate Bot zur automatischen Aktualisierung externer Abhängigkeiten.
#28874
ExternalAuthentication bei Verwendung von tl-security-auth-pac4j automatisch aktivieren
#28875
Neuberechnung der Optionen bei Auswahlfeldern
#28879
TL-Script Methoden über Reflection anbieten
#28880
Add TLScript "try" function for exception handling
#28886
Instance-Export: Nicht-Kompositionen nicht "automatisch" mitexportieren
#28906
Kachel-Preview-Image aus Binär-/Bildattribut
#28913
Applikationstests: Kontext-lokale Objektidentifikaton
#28915
Update GWT auf Version 2.12
#28918
Enum-Protokoll-Namen über @Name-Annotation
#28930
Berechnete Spalten als "multiple" und "mandatory" markieren
#28937
Befehlsfreigabedienst: Prüfung auf Collections und Delegation auf andere Modelle
#28951
Befehle zum Ändern einer Auswahl in einer Baumtabelle
#28963
Drag&Drop über Fenstergrenzen hinweg
#28965
Dateierweiterung für XML-Import-Kommandos vorgeben
#28970
HTML als Wert für ein "Strukturierter Text" Attribut
#28974
XML-Import: Kontext for ID-Auflösung
#28983
Fehler bei Rückwärtsnavigation über nicht navigierbare Attribute ausgeben
#28986
Servlets mit async Support ermöglichen
#28999
Scheduler: Ausführung alle x Tage anstatt jeden Tag
#29001
Zurückgenommene Änderungen in "Meine letzten Änderungen" ausblenden
#29016
Dialoge in dem Fenster anzeigen in dem gerade gearbeitet wird
#29019
Legacy Bus-System entfernen
nice-to-have
#28987
StreamUtilities.readStreamContents() Utility also for BinaryDataSource
#29043
Heartbeat-Logging für die Revison-Migration
#29045
Consolidate Git-Ignores (Anwendungstemplate, Message-Backups, Settings)
#29046
Introspection für TL-Script-Funktionen

defect

major
#27746
Kontexthilfe für TL-Script teilweise abgeschnitten und nicht oder nur schlecht scrollbar
#28047
Error Icon neben dem TextInput ist falsch positioniert
minor
#27707
Tabelle macht kein Update nach Zeilenverschiebung per Knopfdruck
#28265
Update pdf.js to 4.9.155 due to CVE reports
#28678
Spalte MACHINE_IP zu kurz in USER_SESSION (bei IPv6)
#28693
Fragwürdige Clipboard-Kommandos werden standardmäßig an allen Grid-Komponenten angezeigt
#28919
Transiente Objekte können Referenzen auf gelöschte Objekte liefern
#28945
Fehler beim Anzeigen der Änderungshistorie, wenn Referenz gelöscht wurde
#28950
TL-Script: toSet() ändert die Reihenfolge der Elemente
#28954
Spalte "Administrator" von Benutzerkonten kann nicht gefiltert werden
#28955
Volltext-Suche bei Grid Komponente führt potentiell zu einem geloggten Error
#28957
Clientseitige Fehler beim GotoLinkControl
#28972
Flow-Diagram: Font-Size und Font-Family attribute für Text haben keinen Effekt.
#28973
Dialog "Meine letzten Änderungen" braucht u.U. sehr lange um sich zu öffnen
#28980
I18NRuntimeException wird als "Internal error" gemeldet
#28982
Tabellen-Komponenten können unerwartete Objekte anzeigen
#28984
Workflow-Prozesse können nicht mehr abgeschlossen werden
#28991
Flow-Diagram: Selektionskanal darf nur bei Konfiguration von Mehrfachselektion Mengen enthalten
#28992
SVG-Diagram mit Click-Handler kann zu Fehlern führen
#28996
TL-Script: Kein internationalisiertes Zahlenformat in Ausdrücken in HTML-Templates
#28998
Flow-Diagram: Doppelclick- und Context-Menu-Handler
#29036
Übersetzungsfehler bei Resource-Dateien mit Landeskennung
defect

minor

#28678

Spalte MACHINE_IP zu kurz in USER_SESSION (bei IPv6)

z.B.:

[2025-06-15 08:09:26] [info] 2025-06-15T08:09:26,844 ERROR [http-nio-8080-exec-36]: com.top_logic.event.bus.Channel - Failed to send event 'com.top_logic.base.bus.UserEvent [user: 'Account(type:tl.accounts:Person, id: Person:4875, name: bhu)', type: loggedIn, machine: '0:0:0:0:0:0:0:1, X-Forwarded-For: 2a02:8071:4481:93e0:801c:9ab5:f32d:66a9']' to receiver 'class com.top_logic.knowledge.monitor.UserMonitor for class com.top_logic.event.bus.Service [namespace: changes, name: user]'.
[2025-06-15 08:09:26] [info] com.top_logic.knowledge.service.KnowledgeBaseException: Database operation failed.
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.DefaultDBContext.commitTransaction(DefaultDBContext.java:861)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.TransactionImpl.internalCommit(TransactionImpl.java:164)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.AbstractTransaction.commit(AbstractTransaction.java:73)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.monitor.UserMonitor.login(UserMonitor.java:209)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.monitor.UserMonitor.receive(UserMonitor.java:120)
[2025-06-15 08:09:26] [info] #011at com.top_logic.event.bus.Channel$1.run(Channel.java:149)
[2025-06-15 08:09:26] [info] #011at com.top_logic.event.bus.Channel$1.run(Channel.java:145)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.thread.ThreadContextManager.inInteractionInternal(ThreadContextManager.java:404)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.thread.ThreadContextManager.inSystemInteractionInternal(ThreadContextManager.java:446)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.thread.ThreadContextManager.inSystemInteraction(ThreadContextManager.java:438)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.thread.ThreadContext.inSystemContext(ThreadContext.java:157)
[2025-06-15 08:09:26] [info] #011at com.top_logic.event.bus.Channel.send(Channel.java:145)
[2025-06-15 08:09:26] [info] #011at com.top_logic.event.bus.Sender.send(Sender.java:77)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.SessionService.sendEvent(SessionService.java:561)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.SessionService.getNewSessionForUser(SessionService.java:413)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.SessionService.login(SessionService.java:365)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.SessionService.loginUser(SessionService.java:361)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.Login.login(Login.java:384)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.Login.login(Login.java:292)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.LoginPageServlet.checkRequest(LoginPageServlet.java:282)
[2025-06-15 08:09:26] [info] #011at com.top_logic.base.accesscontrol.LoginPageServlet.doPost(LoginPageServlet.java:214)
[2025-06-15 08:09:26] [info] #011at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
[2025-06-15 08:09:26] [info] #011at com.top_logic.util.NoContextServlet.doService(NoContextServlet.java:100)
[2025-06-15 08:09:26] [info] #011at com.top_logic.util.NoContextServlet.executeInInteraction(NoContextServlet.java:49)
[2025-06-15 08:09:26] [info] #011at com.top_logic.util.NoContextServlet.lambda$service$0(NoContextServlet.java:40)
[2025-06-15 08:09:26] [info] #011at com.top_logic.util.TopLogicServlet.withSessionIdLogMark(TopLogicServlet.java:209)
[2025-06-15 08:09:26] [info] #011at com.top_logic.util.NoContextServlet.service(NoContextServlet.java:39)
[2025-06-15 08:09:26] [info] #011at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.gui.layout.HttpSecureHeaderFilter.doFilter(HttpSecureHeaderFilter.java:135)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
[2025-06-15 08:09:26] [info] #011at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340)
[2025-06-15 08:09:26] [info] #011at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
[2025-06-15 08:09:26] [info] #011at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
[2025-06-15 08:09:26] [info] #011at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
[2025-06-15 08:09:26] [info] #011at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[2025-06-15 08:09:26] [info] #011at java.base/java.lang.Thread.run(Thread.java:1583)
[2025-06-15 08:09:26] [info] Caused by: java.sql.SQLException: Value too long for column "MACHINE_IP VARCHAR_IGNORECASE(64)": "'0:0:0:0:0:0:0:1, X-Forwarded-For: 2a02:8071:4481:93e0:801c:9ab5:f32d:66a9' (73)"; SQL statement:
[2025-06-15 08:09:26] [info] INSERT INTO "USER_SESSION" ("BRANCH","IDENTIFIER","REV_MAX","REV_MIN","REV_CREATE","PHYSICAL_RESOURCE","NAME","SESSION_ID","MACHINE_IP","SERVER","LOGIN","LOGOUT") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [22001-224]: INSERT INTO "USER_SESSION" ("BRANCH","IDENTIFIER","REV_MAX","REV_MIN","REV_CREATE","PHYSICAL_RESOURCE","NAME","SESSION_ID","MACHINE_IP","SERVER","LOGIN","LOGOUT") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.sql.SQLH.enhanceMessage(SQLH.java:594)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.db.sql.PrepStmtBasedCompiledStatement.enhanceMessage(PrepStmtBasedCompiledStatement.java:144)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.db.sql.PrepStmtBasedCompiledStatement$1.executeBatch(PrepStmtBasedCompiledStatement.java:131)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.DefaultDBAccess.executeInsertBatch(DefaultDBAccess.java:403)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.DefaultDBAccess.insertAll(DefaultDBAccess.java:371)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.VersionedDBAccess.storeAll(VersionedDBAccess.java:505)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.VersionedDBAccess.insertAll(VersionedDBAccess.java:489)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.DefaultDBContext.commitNew(DefaultDBContext.java:537)
[2025-06-15 08:09:26] [info] #011at com.top_logic.knowledge.service.db2.DefaultDBContext.commitTransaction(DefaultDBContext.java:790)
[2025-06-15 08:09:26] [info] #011... 52 more
[2025-06-15 08:09:26] [info] Caused by: org.h2.jdbc.JdbcBatchUpdateException: Value too long for column "MACHINE_IP VARCHAR_IGNORECASE(64)": "'0:0:0:0:0:0:0:1, X-Forwarded-For: 2a02:8071:4481:93e0:801c:9ab5:f32d:66a9' (73)"; SQL statement:
[2025-06-15 08:09:26] [info] INSERT INTO "USER_SESSION" ("BRANCH","IDENTIFIER","REV_MAX","REV_MIN","REV_CREATE","PHYSICAL_RESOURCE","NAME","SESSION_ID","MACHINE_IP","SERVER","LOGIN","LOGOUT") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [22001-224]
[2025-06-15 08:09:26] [info] #011at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1282)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.db.sql.AbstractStatementBatch.executeBatch(AbstractStatementBatch.java:46)
[2025-06-15 08:09:26] [info] #011at com.top_logic.basic.db.sql.PrepStmtBasedCompiledStatement$1.executeBatch(PrepStmtBasedCompiledStatement.java:129)
[2025-06-15 08:09:26] [info] #011... 58 more
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

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