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 13 | Blueriq 14 |
---|---|
X-B3-TraceId | traceId |
X-B3-SpanId | spanId |
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:
- Spring Boot: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes
- Spring Framework: https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x#upgrading-to-version-53
- Spring Cloud: https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes
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 IActionHandler
s 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.