Enhancement
Critical
Major
Detail
Detail
#25907
Layout editor: inconsistent behavior of unfold state, selection and reaction to object creation
#25951
Application tests: CheckLabeledExecutabilityOp fails to assert non-executability of literal ResKey reasons.
#25952
Model Editor: Enum default provider does not work for enum references for which singleton link storage was explicitly selected
#26002
ConfigurationItem-valued properties with format annotations may cause an attempt to create abstract config items when deserializing null values
#26012
Help editor crashes when a user has chosen a language that is not in the supported languages of the application
#26039
Gridcomponent: Display of context menu for new (transient) row object leads to UnsupportedOperationException
#26085
An attribute of type tl.model.search:Expr is not displayed in the form above a TL script editor
#26111
Context menu commands for table rows are erroneously executed on the table model when opening the context menu in the background of the table
#26153
Migration: Replay fails if string values with line breaks are contained in the dataset where a line ends with a semicolon
#26171
A TL script expression entered in a wizard template is reformatted when transferred to the final template
#26223
TL script: Under unfavorable conditions wrong parameter values when evaluating local functions
Bugfix
Detail
#26168
Attribute defaults cannot make transactional changes
If you want to formulate a default provider for an attribute via tl:DefaultByExpression, which makes a transactional change (e.g. creates a new object, or generates an ID (via nextId()) and "forgets" to hide the attribute in the creation dialog, the expression is also executed during form creation and fails. In any case the expression will be executed when trying to create a form for the type, because all attributes are always shown there.
To avoid the error, one must be able to specify that the default calculation must be done only during the creation transaction.
Solution
Additional configuration option "In transaction", which can be used to delay the execution until the creation transaction.
Test
- Open the form editor for the DemoTypes:A type.
- Check that the idLong attribute is displayed in it (see #26068).