CS
SCALE.sdm
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage
Confidential information

0.51.0

Release date: March 15, 2024

Support of multiple domains has been dropped

Prior to this release, it was possible to deploy the application using multiple domains at the same time:

# Helm: values.yml
envConfig:
  routing:
    hostnames: ["example.com", "another-example.com"]

The support has been dropped and the usage of domains streamlined. It is now possible to use only one domain. The example above needs to be rewritten to:

# Helm: values.yml
envConfig:
  routing:
    hostname: "example.com"
New featureAdd-ons now support environment variables for enhanced customization and configuration. [#5408]

Previously, add-ons operated with command-line arguments to deliver configuration details and contextual information. With the latest update, environment variables have been introduced to offer the same information, streamlining accessibility and maintenance.

As part of this enhancement, command-line arguments will be phased out over time. Please refer to the deprecation notice for guidance on migrating to the new environment variable setup.

New feature
DEPLOYMENT
Auto-scaling of add-on workers (experimental). [#2416]

There is a new experimental feature, which automatically scales workers for pending add-on tasks.

New featureDiscipline drop down was added to the MDM test case edit view. [#5679]

This feature relates to the MDM test cases, which are found under   > Configuration > MDM > Test cases. When adding a new MDM test case or editing an existing MDM test case, users can now select a discipline.

image
Discipline drop down in 'New MDM test case view'

New featureIt is now possible to apply calculation rules in the test grid. [#3568]

This feature relates to the Apply calculation rule function, which can be accessed by navigating to  Result and right-clicking on a test in the grid.

image
Apply calculation rule

New featureIt is now possible to delete milestone groups. [#5837]

This feature relates to the milestones in  Project. When editing an existing milestone group, the header now contains a trash symbol. You can click on this trash symbol to delete the milestone group.

New feature
UI
It is now possible to edit a test case to be project-specific. [#5311]

This feature relates to the requirements grid in  Project. When you right-click on a requirement in the grid, you now have the option to edit the project test case. That means, you can now edit the test case to be project-specific.

image
Edit a project test case

New featureIt is now possible to manually assign test records to test cases if there was no automatic match. [#5112]

This feature relates to the Set as project status function, which can be accessed by navigating to  Result and right-clicking on a test in the grid. Here, it is now possible possible to assign tests manually. That means, to manually match the test with the appropriate test case.

image
Assign tests manually

New featureIt is now possible to manually override the assessment when setting the project status. [#5775]

This feature relates to the Set as project status function, which can be accessed by navigating to  Result and right-clicking on a test in the grid. When entering a test value here, the assessment cell automatically changes color to show how the value matches the requirement’s thresholds.

It is now possible to double-click on a cell in the Assessment column and choose a different color if you want to manually override the automatic assessment. Note: Manually selected assessments are represented with the symbol  .

image
Override automatic assignment

New feature
API
It is now possible to sort for the next upcoming milestone within projects GraphQL requests. [#5744]
New featureProject requirements can now be viewed for a specific date. [#5627]

This feature relates to the requirements grid in  Project. It is now possible to compare the current status of your requirements with the status at a previous date. For example, you can look at a specific requirement and see how its value changed from one milestone to the next. Further information in the manual.

image
Monitor project status over time

New feature
API
The field 'last synchronization scheduled at date' is now set within test GraphQL requests. [#5843]
New feature
UI
The MDM test cases grid now includes a 'Source' column. [#5707]

This feature relates to the MDM test cases grid, which is found under   > Configuration > MDM > Test cases. This grid now includes a Source column, which indicates whether the test case is internal or external.

  • Internal: Internal test cases were added to the overview manually. They can be edited further or deleted.
  • External: External test cases were imported into the overview. They are read-only, meaning that they can neither be edited nor deleted.

image
MDM test cases grid with 'Source' column

New feature
API
The option to subscribe to task status updates has been implemented. [#5763]

Users may now subscribe to receive status updates for tasks, even if they are not the task owner. This allows users to stay informed about the progress of tasks initiated by their actions, such as downloading attachments via an add-on. Previously, users initiating these tasks would not receive updates, as the tasks were executed under the system user. With this update, users can opt in to receive timely status notifications for such tasks, enhancing their overall experience.

New featureThe test and requirements grid has been updated to refresh only when the directly impacted group is modified. [#5550]

This feature relates to the grid components, e.g. the test grid in  Result and the requirements grid in  Project. In these grids, users can drag column headers to the upper left corner, thus grouping the data. In the past, if multiple columns were grouped and then an additional filter was applied, any expanded groups automatically collapsed. This behavior has been changed. Now the collapse/expand state remains as it is and is fully unrelated to the filter function.

New featureThe test attributes grid now displays the raw value. [#5585]

This feature relates to the attributes tab in  Result. This tab now includes a Raw value column, which helps users debug situations where an attribute value has been converted and the result makes no sense. For example:

  1. An attribute holds angle information, and its display unit was set to deg in MDM.
  2. The expected SI base unit is rad accordingly. This is the expected input unit.
  3. The value is converted from rad to deg so that it can be displayed within the grid and the attributes tab.
  4. If those attributes are obtained from a backend system, i.e. a third-party system, and they are imported directly in deg instead of rad, then the conversion will produce nonsense values.
  5. In such cases, the user can look at the Raw value column to see the database value without any conversion.

New feature
API
Users are now able to attach documents to project test cases in the backend. [#5723]
Improvement
UI
Enhanced test grid functionality: Improved organization of context menu options and introduction of visual icons for better user navigation. [#5090]

This improvement relates to the test grid in  Result. Specifically, it relates to the context menu, which is accessed by right-clicking on a test in the grid. The context menu has been improved in several ways, for example:

  • Icons were added to each item in the context menu.
  • The items were rearranged, so that they are now displayed in a more logical order.
image
Comparison of old and new context menu

ImprovementGrouped test results can now be sorted in ascending and descending order. ]

This fix relates to the test grid in  Result. The test results are now displayed correctly after having been grouped by their column headers and also sorted in asending or descending order.

ImprovementImprovements were made to the area for manually creating a new test record. [#5383#5779#5778#5883]

This improvement makes it easier to apply test templates while manually creating a new test record in  Result. Specifically, it is now easier for users to understand the override behavior of templates.

For example, if a user selects multiple templates, there is a chance that the templates will both include the same attribute, but with conflicting attribute values. One template might set the barrier overlap to 40% and another template might set the barrier overlap to 100%. This improvement has now made it easier for users to understand which value will be applied when manually creating a new test.

ImprovementIt is now easier to delete several MDM requirements at once. [#5685]

This improvement relates to the MDM requirements, which are found under   > Configuration > MDM > Requirements. If you select multiple MDM requirements and then right-click, a context menu appears. This context menu includes an option to delete all of the selected requirements at once. In the past, it was necessary to confirm the deletion of each MDM requirement separately. This behavior has been changed. Now you only need to confirm the deletion once. This confirmation applies to all of the selected MDM requirements.

image
Delete multiple MDM requirements

ImprovementOIDC: The user's role or group memberships are only updated when appropriate. [#5776]

Previously, roles and groups were always updated whenever a user logged in using OIDC/OAuth. This was also the case even if OIDC_GROUP_FIELD or OIDC_ROLE_FIELD was left blank, resulting in the removal of all roles and groups of the user.
This has now changed. Roles and groups will only be updated if the fields are configured.

ImprovementOptimizations have been implemented to decrease response times during preset brick editing. [#5470]
ImprovementProject permissions are now grouped in the permissions list. [#5693]

This improvement relates to the project permissions, which are found under   > Configuration > User management > Project roles. The project permissions are now grouped by topic.

image
Project permissions are now grouped

ImprovementThe toolbar and navigation concept were redesigned. [#4851]

This improvement relates to the toolbar in  Project and  Result. The toolbar is located at the top of the user interface. The toolbar has been improved in several ways, for example:

  • It is now possible to navigate directly between  Project and  Result.
  • In  Result, the list of presets is no longer hidden within the burger menu  . It now has its own drop-down list directly in the toolbar.
  • The burger menu   now displays the same entries for  Project and  Result.

image
Comparison of old and new toolbar

Feature removal
API
MDM attribute configuration has been deprecated and replaced with a test template. [#4406]

MdmAttributeConfiguration was removed. Use RdTestTemplate instead.

Feature removal
DEPLOYMENT
Support of multiple domains has been dropped. [#5600]

Prior to this release, it was possible to deploy the application using multiple domains at the same time:

# Helm: values.yml
envConfig:
  routing:
    hostnames: ["example.com", "another-example.com"]

The support has been dropped and the usage of domains streamlined. It is now possible to use only one domain. The example above needs to be rewritten to:

# Helm: values.yml
envConfig:
  routing:
    hostname: "example.com"

Bug fix
UI
After enabling grouping in the requirements grid, the group columns become visible immediately. [#5575]
Bug fixConditions now support EQ '' and EQ None as part of a FloatRange. [#5848]
Bug fixGrouped test cases can now be sorted in ascending and descending order. [#5870]

This fix relates to the MDM test cases, which are found under   > Configuration > MDM > Test cases. The test cases are now displayed correctly after having been grouped by their column headers and also sorted in asending or descending order.

Bug fixIt is now possible to apply calculation rules without having superuser status. [#5874]

This fix relates to the Apply calculation rule function, which can be accessed by navigating to  Result and right-clicking on a test in the grid. It is now possible for users with the permission Can execute calculation rule to apply the calculation rule. Users no longer need to have superuser status.

Bug fix
API
It is now possible to update a test attachment where a file is sent along. ]
Bug fixIt is once again possible to group requirements by context columns. [#5833]

This fix relates to the requirements grid in  Project.

Bug fixObject permissions are now respected for project attribute operations [#5730]
Bug fixObject permissions are now respected for project document operations. [#5729]
Bug fixObject permissions are now respected for project milestone and milestone group operations. [#5731]
Bug fixObject permissions are now respected for requirement value and private requirement value operations. [#5850]
Bug fixObject permissions for project requirements and project test case operations are now being properly respected. [#5732]
Bug fixProject documents can now be uploaded as expected. [#5799]
Bug fixTest results can now be grouped by date. [#5800]

This fix relates to the test grid in  Result. The tests are now displayed correctly after having been grouped by the date column.

Bug fixTest results can now be grouped by number fields. [#5800]

This fix relates to the test grid in  Result. The tests are now displayed correctly after having been grouped by a number value.

Bug fixThe 'Edit role' and 'Edit user' views now function as expected. It is now possible to access these views without superuser permissions. [#5819#5820]
Bug fixThe back button functionality in the 'Notifications' view has been corrected. If the user hasn't visited any page before, the application now navigates to the test grid as expected. [#5734]
Bug fixThe error message for deleting MDM requirements has been enhanced to provide more helpful feedback. [#5705]

It is not possible to delete an MDM requirement that is already included in a project. Users who try to do so will receive an error message. The text of this error message was improved, so that it now advises the user to set the MDM requirement as obsolete.

Bug fixThe MDM requirements and MDM test cases now load as expected. [#5867]
Bug fix
DEPLOYMENT
The pod operator-worker no longer hangs in termination phase due to unresolved finalizers. [#4680]
Bug fixThe reference test is now reset when manually reporting the requirement status. [#5787]
Bug fixThe save button in the 'Edit user' view now functions as expected. The page now correctly detects user changes and enables the save button accordingly. [#5582]
Bug fixThe Save button will now remain inactive during the process of saving a preset or preset brick. [#5220]

It can take 10-20 seconds for a preset or a preset brick to finish saving. The user now sees a loading indicator during this time, and the save button is disabled. This provides the user with feedback, indicating that the save process is still running. It also prevents the user from clicking on the save button multiple times.

Bug fixThe user edit page has been restored to its expected functionality, with the username field now undergoing proper validation. [#5710]

API changes
BreakingType MdmAttributeConfigurationType was removed
BreakingType MdmAttributeConfigurationTypeConnection was removed
BreakingType MdmAttributeConfigurationTypeEdge was removed
BreakingType MdmAttributeConfigurationCreateMutationPayload was removed
BreakingType MdmAttributeConfigurationCreateMutationInput was removed
BreakingType MdmAttributeConfigurationUpdateMutationPayload was removed
BreakingType MdmAttributeConfigurationUpdateMutationInput was removed
BreakingType MdmAttributeConfigurationDeleteMutationPayload was removed
BreakingType MdmAttributeConfigurationDeleteMutationInput was removed
BreakingLoadMdmTestCasesInput.groupKeys type changed from [String] to [GenericScalar]
BreakingLoadProjectRequirementsInput.groupKeys type changed from [String] to [GenericScalar]
BreakingLoadProjectTestCasesInput.groupKeys type changed from [String] to [GenericScalar]
BreakingInput Field additionalInputs removed from input type CalculationRulesExecuteMutationInput
BreakingSSRMInputType.groupKeys type changed from [String] to [GenericScalar]
BreakingLoadMdmRequirementsInput.groupKeys type changed from [String] to [GenericScalar]
BreakingInput Field additionalInputs removed from input type CalculationRuleExecuteMutationInput
BreakingInput Field code removed from input type CalculationRuleCreateMutationInput
BreakingRemoved argument asOf from ProjectTestCaseType.projectrequirementSet
BreakingField deleteMdmAttributeConfiguration was removed from object type Mutation
BreakingField updateMdmAttributeConfiguration was removed from object type Mutation
BreakingField createMdmAttributeConfiguration was removed from object type Mutation
BreakingInput Field code removed from input type CalculationRuleUpsertMutationInput
BreakingLoadUsersInput.groupKeys type changed from [String] to [GenericScalar]
BreakingField code was removed from object type CalculationRuleType
BreakingField allMdmAttributeConfigurations was removed from object type Query
BreakingField mdmAttributeConfiguration was removed from object type Query
BreakingType for argument groupKeys on field Query.loadRdTests changed from [String] to [GenericScalar]
BreakingRemoved argument asOf from Query.allProjectRequirements
BreakingInput Field code removed from input type CalculationRuleUpdateMutationInput
Non-BreakingType LoadRdTestTemplateResponseType was added
Non-BreakingType LoadRdTestTemplateType was added
Non-BreakingType ProjectTestCaseAttachmentType was added
Non-BreakingType ProjectTestCaseAttachmentTypeConnection was added
Non-BreakingType ProjectTestCaseAttachmentTypeEdge was added
Non-BreakingType ProjectTestCaseAttachmentCreateMutationPayload was added
Non-BreakingType ProjectTestCaseAttachmentCreateMutationInput was added
Non-BreakingType ProjectTestCaseAttachmentUpdateMutationPayload was added
Non-BreakingType ProjectTestCaseAttachmentUpdateMutationInput was added
Non-BreakingType ProjectTestCaseAttachmentDeleteMutationPayload was added
Non-BreakingType ProjectTestCaseAttachmentDeleteMutationInput was added
Non-BreakingType DisciplineAttributesInputType was added
Non-BreakingType ProjectTestCaseAttachmentAttributesInputType was added
Non-BreakingType ProjectTestCaseCloneMutationPayload was added
Non-BreakingType ProjectTestCaseCloneMutationInput was added
Non-BreakingType ProjectRequirementCreateMutationPayload was added
Non-BreakingType ProjectRequirementCreateMutationInput was added
Non-BreakingType MilestoneAttributesInputType was added
Non-BreakingType MilestoneGroupAttributesInputType was added
Non-BreakingType CustomToolSettingAttributesInputType was added
Non-BreakingType OnTaskStatusUpdate was added
Non-BreakingField inTestCase was added to object type LoadMdmRequirementsType
Non-BreakingInput Field lastSyncScheduledAt: DateTime was added to input type RdTestUpdateMutationInput
Non-BreakingCollectionType.testsCount description changed from The total count of objects that a user has permissions for to Count for the m2m relation
Non-BreakingCollectionType.testsCount type changed from Int to Int!
Non-BreakingInput Field customtoolsettingSetAttributes: [CustomToolSettingAttributesInputType] was added to input type CustomToolCreateMutationInput
Non-BreakingInput Field asOf: DateTime was added to input type LoadProjectRequirementsInput
Non-BreakingArgument disciplineId: ID added to ClientStateTagType.clientstateSet
Non-BreakingArgument disciplineId_In: [ID] added to ClientStateTagType.clientstateSet
Non-BreakingInput Field milestoneSetAttributes: [MilestoneAttributesInputType] was added to input type MilestoneGroupCreateMutationInput
Non-BreakingInput Field data: [CalculationRuleAdditionalInputType] was added to input type CalculationRulesExecuteMutationInput
Non-BreakingInput Field disciplines: [ID] was added to input type MdmTestCaseCreateMutationInput
Non-BreakingInput Field disciplinesAttributes: [DisciplineAttributesInputType] was added to input type ProjectTestCaseAttributesInputType
Non-BreakingInput Field projecttestcaseattachmentSetAttributes: [ProjectTestCaseAttachmentAttributesInputType] was added to input type ProjectTestCaseAttributesInputType
Non-BreakingInput Field customtoolsettingSetAttributes: [CustomToolSettingAttributesInputType] was added to input type CustomToolUpdateMutationInput
Non-BreakingInput Field disciplines: [ID] was added to input type ProjectTestCaseCreateMutationInput
Non-BreakingInput Field selectedTestCase: ID was added to input type LoadMdmRequirementsInput
Non-BreakingInput Field data: [CalculationRuleAdditionalInputType] was added to input type CalculationRuleExecuteMutationInput
Non-BreakingField hasSourceId was added to object type LoadMdmTestCasesType
Non-BreakingField onTaskStatusUpdate was added to object type Subscription
Non-BreakingInput Field milestoneSetAttributes: [MilestoneAttributesInputType] was added to input type MilestoneGroupUpdateMutationInput
Non-BreakingInput Field lastSyncScheduledAt: DateTime was added to input type RdTestCreateMutationInput
Non-BreakingField disciplines was added to object type ProjectTestCaseType
Non-BreakingInput Field customtoolsettingSetAttributes: [CustomToolSettingAttributesInputType] was added to input type CustomToolAttributesInputType
Non-BreakingField totalCount was added to object type ContentTypeTypeConnection
Non-BreakingField updateProjectTestCaseAttachment was added to object type Mutation
Non-BreakingField cloneProjectTestCase was added to object type Mutation
Non-BreakingField createProjectTestCaseAttachment was added to object type Mutation
Non-BreakingField createProjectRequirement was added to object type Mutation
Non-BreakingField deleteProjectTestCaseAttachment was added to object type Mutation
Non-Breaking

Mutation.executeCalculationRules description changed from `Executes calculation rules and returns the execution plan consisting of the results and possible runtime errors.

Several possibilities exist:

  • If a test ID is given but no calculation rules, every calculation rule matching the test is taken into account.
  • If a test ID and a list of calculation rules are specified, only those rules will run, independently if they match the test or not.
  • If only calculation rules without a test ID are given, those rules run standalone. If they require inputs, they need to be specified as additionalInputs.

In case the test ID is being given, any missing inputs are searched within its attributes. The results can also be persisted directly to the given test.toExecutes calculation rules and returns the execution plan consisting of the results and possible runtime errors.

Several possibilities exist:

  • If a test ID is given but no calculation rules, every calculation rule matching the test is taken into account.
  • If a test ID and a list of calculation rules are specified, only those rules will run, independently if they match the test or not.
  • If only calculation rules without a test ID are given, those rules run standalone. If they require inputs, they need to be specified as data.

In case the test ID is being given, any missing inputs are searched within its attributes. The results can also be persisted directly to the given test.`

Non-BreakingInput Field disciplines: [ID] was added to input type MdmTestCaseAttributesInputType
Non-BreakingField statusReferenceTestName was added to object type LoadProjectRequirementsType
Non-BreakingField testCaseObsolete was added to object type LoadProjectRequirementsType
Non-BreakingField privateStatusReferenceTestName was added to object type LoadProjectRequirementsType
Non-BreakingField privateStatusReferenceTestId was added to object type LoadProjectRequirementsType
Non-BreakingField statusReferenceTestId was added to object type LoadProjectRequirementsType
Non-BreakingField testCaseId was added to object type LoadProjectRequirementsType
Non-BreakingLoadProjectRequirementsType.testCaseName description changed from Test case that the requirement belongs to to Name of the test case that the requirement belongs to
Non-BreakingField loadRdTestTemplates was added to object type Query
Non-BreakingField projectTestCaseAttachment was added to object type Query
Non-BreakingField allProjectTestCaseAttachments was added to object type Query
Non-BreakingArgument depth: Int added to Query.history
Non-BreakingArgument identifier_In: [String] added to Query.allMdmAttributes
Non-BreakingArgument disciplineId: ID added to Query.allClientStates
Non-BreakingArgument disciplineId_In: [ID] added to Query.allClientStates
Non-BreakingArgument name_Contains: String added to Query.allProjectTestCases
Non-BreakingArgument name_In: [String] added to Query.allProjectTestCases
Non-BreakingField disciplines was added to object type MdmTestCaseType
Non-BreakingInput Field disciplines: [ID] was added to input type MdmTestCaseUpdateMutationInput
Non-BreakingInput Field disciplines: [ID] was added to input type ProjectTestCaseUpdateMutationInput
Non-Breaking

Description for type CalculationRulesExecuteMutationPayload changed from `Executes calculation rules and returns the execution plan consisting of the results and possible runtime errors.

Several possibilities exist:

  • If a test ID is given but no calculation rules, every calculation rule matching the test is taken into account.
  • If a test ID and a list of calculation rules are specified, only those rules will run, independently if they match the test or not.
  • If only calculation rules without a test ID are given, those rules run standalone. If they require inputs, they need to be specified as additionalInputs.

In case the test ID is being given, any missing inputs are searched within its attributes. The results can also be persisted directly to the given test.toExecutes calculation rules and returns the execution plan consisting of the results and possible runtime errors.

Several possibilities exist:

  • If a test ID is given but no calculation rules, every calculation rule matching the test is taken into account.
  • If a test ID and a list of calculation rules are specified, only those rules will run, independently if they match the test or not.
  • If only calculation rules without a test ID are given, those rules run standalone. If they require inputs, they need to be specified as data.

In case the test ID is being given, any missing inputs are searched within its attributes. The results can also be persisted directly to the given test.`


Deprecations
REST-API Endpoints (deprecated in 0.40.0, removal in January, 2025)
Condition wildcards (deprecated in 0.49.0, removal in October, 2024)
Addon command-line arguments (deprecated in 0.51.0, removal in April, 2025)