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

7.11.0
TopLogic Release

2026-06-19

enhancement

major
#29084
JSON Schema Support for Typed Configuration
minor
#29334
Statuscode als Argument bei Antworten in REST-Anfragen

defect

major
#28993
Filter von dynamischen Spalten ignorieren den Attributtyp
#29042
Fehler in Spaltenfilter nach Double-Werten
#29234
OpenAPI server cannot return binary responses
#29325
Generated JSON schema marks a non-nullable layout-template property (dialog title) as nullable/optional
#29336
7.10: Bookmark-Links funktionieren bei eingeloggten Nutzern nicht
#29338
CreateTLSingletonProcessor legt doppelte Annotation an
minor
#28456
Referenz auf fehlende Dateien in subsession.jsp
#28485
Immutable/Disbled Booleanfelder über Tab erreichbar/fokusierbar
#28651
Unnötiger Platz bei Inline-Tabellen
#28725
Sinnlose Scroll-Bar im Hilfe-Editor
#29053
TL-Script: format() mit null input liefert IllegalArgumentException
#29066
"SafeHTML not started" Fehler bei scripted Tests
#29069
Ein berechnetes Attribut vom Typ "Allg. Suchausdruck" kann keine Closure zurückgeben
#29074
In einer Wertetransformation eines Komponentenkanals kann nicht auf die Formulardaten einer Komponente zugegriffen werden
#29075
Nach Modell-Änderung können invalide gewordene berechnete Attribute nicht mehr editiert werden
#29076
API-Key in REST-Schnittstellenkonfiguration wird nicht verborgen
#29091
Werte eines Kompositionsattribut nicht bearbeitbar, wenn im gleichen Formular vorher verwendet
#29240
Update mit falschem Attribute möglich
#29284
Flow-Diagram: Font-Metrik passt nicht - Texte fließen über ihren Rahmen hinaus
#29304
Ersatzwert-Attribut wird in transienten Objekten nicht korrekt übernommen
#29339
Fehlerhafte Migration in #28305
#29340
TL-Script: Optimierung von Datenbankabfragen mit transienten Objekte schlägt fehl
defect

major

#29325

Generated JSON schema marks a non-nullable layout-template property (dialog title) as nullable/optional

Observed while building layout-template arguments from the generated JSON schema (toplogic://schema/layout-template/{name}).

Symptom

For the template com.top_logic/dialog.template.xml, the title property is declared non-nullable with an item-default:

<property name="title" type="PolymorphicConfiguration">
    <item-default/>
    <non-nullable/>
</property>

but the generated JSON schema presents it as nullable/optional:

"title": {
    "title": "Title provider",
    "anyOf": [
        { "type": "null" },
        { "$ref": "toplogic://schema/config/com.top_logic.layout.component.title.TitleProvider" }
    ]
}

Because the schema offers {"type": "null"}, a schema-driven client (here: an AI agent authoring the arguments) reads title as optional and omits it.

Consequence

When title is omitted, the non-nullable item-default resolves to a ConstantTitle$Config whose getTitle() is @Mandatory and unset. The resulting component cannot be instantiated:

Property 'com.top_logic.layout.component.title.ConstantTitle$Config.getTitle()': Property is mandatory but not set.

This error is only logged (caught in DatabaseLayoutCacheEntry.put(...), "Cannot parse layout '...'") and the layout silently fails to build — it is not surfaced to the caller.

Expected

The generated schema should reflect the contract:

  • A <non-nullable/> property should not include {"type": "null"} in its anyOf (it is not optional).
  • For a non-nullable item-default whose concrete default config has @Mandatory nested properties (e.g. ConstantTitle.getTitle()), the schema should surface those nested properties as required, so a client can supply a complete value rather than producing an un-instantiable default.

Notes

  • Reproduced against engine 8.0.0-alpha3 via the layout-template config-schema endpoint.
  • The same shape likely affects any layout-template property declared non-nullable with an item-default that carries mandatory nested fields.
  • Manifested in the tl-ai agentic layout editor, where the agent omitted title and produced an un-instantiable dialog; once the error was reported back (build-time validation with an own protocol), the agent supplied a correct ConstantTitle value.
  • 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