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