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

8.0.0-alpha1
TopLogic Release

2026-03-31

enhancement

major
#28994
TableComponent: ConfigKey should be customizable
#29055
User-specified CSS classes cannot override default numeric alignment in table columns
#29084
JSON Schema Support for Typed Configuration
#29092
Multi-factor authentication and self-service account management
minor
#29037
Upload/update workflows at application startup
#29095
No fixed reference to tl-build-processor in tl-parent-build
#29204
TreeGrid Modelbuilder API: Node predicate does not get component model
nice-to-have
#29103
Making REST client JSON parser robust against empty content

defect

critical
#29080
Unwanted row objects in tables with changes from other sessions
#29199
XSS vulnerability in /jsp/openapi/server/displayAPISpec.jsp
major
#28674
Security issues in the UMLJS project
#28710
Accounts with reused contact have no authorization
#28993
Filters of dynamic columns ignore the attribute type
#29042
Error in column filter for double values
#29107
StackOverflowError when rolling back in the transaction monitor
#29111
JavaDoc-based I18N generation ignores custom ResKey in I18NConstants
minor
#27850
Modelleditor swallows classification with a less-than sign in the name
#28456
Reference to missing files in subsession.jsp
#28485
Immutable/Disbled Boolean fields accessible/focusable via tab
#28651
Unnecessary space for inline tables
#28725
Pointless scroll bar in the help editor
#29053
TL-Script: format() with null input returns IllegalArgumentException
#29061
Missing replacement of KnowledgeItem by ObjectKey in Collections in Queries
#29066
"SafeHTML not started" error with scripted tests
#29069
A calculated attribute of the type "General search expression" cannot return a closure
#29073
Abstract attributes can be accessed in transient objects
#29074
The form data of a component cannot be accessed in a value transformation of a component channel
#29075
After changing the model, calculated attributes that have become invalid can no longer be edited
#29076
API key in REST interface configuration is not hidden
#29087
Incorrect access to the D&D cache in the browser
#29091
Values of a composition attribute cannot be edited if previously used in the same form
#29106
Error when restarting the KnowledgeBase
#29112
Update minimatch and serialize-javascript to fix CVE-2026-27903, CVE-2026-27904, and GHSA-5c6j-r48x-rmvq
#29197
Eclipse error after dependency update: maven-jar-plugin 3.5.0 causes "outside of a scoping block" error in m2e

update

critical
#29110
Update dependency com.fasterxml.jackson.core:jackson-core to v2.21.1 [SECURITY]
defect

major

#29107

StackOverflowError when rolling back in the transaction monitor

Monitoring

When I try to roll back a change via the transaction monitor, this leads to a StackOverflowError.

The error is apparently dependent on the data status, because the error only occurs with a (large) customer data status. If I make the same change on a small test data status and try to roll it back, it can be rolled back without errors.

com.top_logic.util.error.TopLogicException: Internal error at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:218) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:134) at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:127) at com.top_logic.tool.boundsec.SuspendedResult.resume(SuspendedResult.java:66) at com.top_logic.tool.boundsec.HandlerResult$1.executeCommand(HandlerResult.java:260) at com.top_logic.layout.basic.DelegatingCommandModel.internalExecuteCommand(DelegatingCommandModel.java:53) at com.top_logic.layout.basic.AbstractCommandModel.executeCommand(AbstractCommandModel.java:47) at com.top_logic.layout.basic.CommandModelAdapter.executeCommand(CommandModelAdapter.java:49) at com.top_logic.layout.messagebox.MessageBox$ClosingCommand.executeCommand(MessageBox.java:896) at com.top_logic.layout.basic.ActivateCommand.execute(ActivateCommand.java:94) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:981) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:223) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:233) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:31) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3111) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:196) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:134) at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:127) at com.top_logic.base.services.simpleajax.AJAXServlet.processRequest(AJAXServlet.java:686) at com.top_logic.base.services.simpleajax.AJAXServlet.doPost(AJAXServlet.java:359) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:547) at com.top_logic.util.TopLogicServlet.doService(TopLogicServlet.java:402) at com.top_logic.util.TopLogicServlet.inContext(TopLogicServlet.java:266) at com.top_logic.util.TopLogicServlet$1.inContext(TopLogicServlet.java:334) at com.top_logic.util.TLContextManager.inInteractionInternal(TLContextManager.java:283) at com.top_logic.util.TLContextManager.inInteraction(TLContextManager.java:259) at com.top_logic.util.TopLogicServlet.enterContext(TopLogicServlet.java:329) at com.top_logic.util.TopLogicServlet.serviceWithLogMark(TopLogicServlet.java:183) at com.top_logic.util.TopLogicServlet.lambda$0(TopLogicServlet.java:167) at com.top_logic.util.TopLogicServlet.withSessionIdLogMark(TopLogicServlet.java:209) at com.top_logic.util.TopLogicServlet.service(TopLogicServlet.java:166) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1394) at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751) at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622) at com.top_logic.knowledge.gui.layout.HttpSecureHeaderFilter.doFilter(HttpSecureHeaderFilter.java:135) at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208) at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555) at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:824) at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:439) at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575) at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1096) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181) at org.eclipse.jetty.server.Server.handle(Server.java:182) at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677) at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166) at java.lang.Thread.run(Thread.java:840) Caused by: java.lang.StackOverflowError at com.top_logic.basic.sql.ResultSetProxy.next(ResultSetProxy.java:157) at com.top_logic.knowledge.service.db2.QueryResultAdapter.next(QueryResultAdapter.java:28) at com.top_logic.knowledge.service.db2.diff.AbstractDiffUpdateQuery$DiffUpdateResult.next(AbstractDiffUpdateQuery.java:301) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:259) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) at com.top_logic.knowledge.service.db2.diff.DiffEventReader.setNewFlexUpdateID(DiffEventReader.java:284) ...
  • 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