You are viewing the documentation for Blueriq 14. Documentation for other versions is available in our documentation directory.

Before you upgrade make sure to read the General Upgrade instructions as well as the Upgrade instructions for previous versions.

The changes are color coded. Orange elements have been changed, Green elements have been added and Red elements have been removed compared to the 13.13 release.

Table of contents

Spring Boot 2.4

We upgraded Spring Boot to version 2.4.4. With this upgrade a lot of other dependencies have been upgraded as well. Some things to take into account:

application.properties

With Spring Boot 2.4, the order in which property files are processed has changed. See Spring's upgrade instructions for more information.

If you experience issues with properties not being read after you upgrade to Blueriq 14, you can check the link mentioned above.

Error codes in HTTP endpoints

Due to changes in Spring Web and Spring MVC, it might be that in some specific error situations, a different HTTP error code might be returned compared to Blueriq 13 (e.g. 404 instead of 400).

Log correlation

In the logback-spring.xml file, a pattern can be defined to define how a log line looks. Starting with Blueriq 14, the variable names for the trace id and span id have changed:

Blueriq 13Blueriq 14
X-B3-TraceIdtraceId
X-B3-SpanIdspanId

You should change any logback-spring.xml files. See Logging for more details.

Spring Boot upgrade instructions

Please read the upgrade instructions for Spring Boot, Spring Framework and Spring Cloud if you run into trouble during the upgrade:

Legacy property encryption has been removed

In Blueriq 12.10 we have introduced a new property encryption algorithm. The legacy property encryption will not work anymore starting from this release. Legacy encrypted properties can be recognized from the _-_encryptedValue_-_ prefix. If your configuration files contain legacy encrypted properties, please convert them using the new property encryption method explained here: Property encryption.

Legacy Toggles

In previous releases legacy toggles were added when a behavior change was done in Blueriq. These legacy toggles were for temporary use to help customers upgrade to a new version more gradually. In release 14 we removed a few legacy properties. Please check your application.properties for the usage of the properties prefixed with: blueriq.legacy.

When you do use these legacy properties, please find the corresponding property on the Legacy Properties page and remove them from your application using the explanation.

There is one exception, when using blueriq.legacy.create-empty-elements-for-unknowns this legacy property is changed to a feature toggle: blueriq.webservices.create-empty-elements-for-unknowns.

Parsing DateTime using DateValue 

From 14.0 onwards, if a datetime value is parsed using the DateValue.parseDate(..) method, an error will be logged instead of a warning. In the next major release, support for parsing a datetime value using DateValue.parseDate(..) will be removed. Also the method DateValue.valueOf(..) will return a DateValue instead of a date with time component. If your custom code uses these methods, please make sure to use DateTimeValue instead of DateValue for parsing datetime values.

Writeable IActionHandler

Non read-only IActionHandlers no longer have any additional concurrency mitigations or other checks. Consequently, the profile or separate instances can't be used outside of the IActionHandler.

Ignore mode AQ_Timeline

By controlling the application ID behavior, the AQ_Timeline can show case information from other applications/versions. The AQ_Timeline used the process engine settings for this. but now it uses the process lists settings instead. This is more appropriate as these settings are intended for Runtime containers, and it is also in line with our DCM 2.0 initiative, in which the process engine will not be available to the runtime anymore, including the process engine settings.

If you have specified an ignore mode specifically for the AQ_Timeline using the following settings:

blueriq.processengine.app-id-ignore-modes.studio-RepositoryName-MyTimelineProject = project

you need to update this to

blueriq.processlist.app-id-ignore-modes.studio-RepositoryName-MyTimelineProject

Note that these settings also affect other containers and the process engine, so take a good look at Control applicationId behavior before applying these changes.

Known issues

For an overview of known issue please refer to: Known issues.