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
Major
#26112
Calculated attributes on historical stands may calculate incorrectly
Problem
The evaluation of the calculation rule partly does not take place in the history context of the object for which the attribute value is calculated. Model literals (e.g. classifiers) are already resolved by the compiler and then do not match the history context of the values being compared to.
Solution
The script that computes the attribute value must be compiled in the context that matches the (version state of the) attribute(s).
Test
- Model with classification attribute state a classification with elements x` and `y.
- Calculated attribute value with calculation rule obj -> $obj.get(`...#state`) == `...#x` ? 1 : 2
- If the attribute state is set to x`, the attribute `value in the present returns the value 1`. This value must also be supplied for a stable state in the past, if the attribute `state has not changed. However, `value 2` is currently supplied even though the value of `state has not changed.
or TestHistoricObjectsWithScriptAttributes.script.xml