Administration Changelog
This page lists changes included in the releases of each version that are specifically relevant to administrators. Administrators are defined as individuals who perform updates to the BPC and carry out administrative configuration within the BPC.
For a list of all changes, see Changelog.
BPC 4.1.28
Release Date: 2026-01-16
With this update, the following components must be updated: BPC Modules | Karaf
Improvements
-
Affects: Karaf |
BPC 4.1.27
Release Date: 2025-11-17
The following components must be updated with this update: BPC Modules | Karaf | Java
Improvements
-
Exceptions occur when uninstalling bundles BPC-10228
Affects: BPC Core |
Security
-
mssql-jdbc:12.6.1 | CVE-2025-59250 BPC-10266
The driver provided via
pax-jdbc-mssqlis no longer included in the release.Make sure that the MSSQL driver you are using is at least the following version:
10.2.4, 11.2.4, 12.2.1, 12.6.5, 12.8.2, 12.10.2, 13.2.1If an older driver is being used, it should be replaced. Remove the old driver by deleting it from the deploy directory or by uninstalling it from
pax-jdbc-mssqlor the driver itself. Then install an up-to-date driver (without the "pax-jdbc-mssql" feature). See also: DatabasesRe: Documentation | Karaf |
Bugs
-
Using the local/Karaf IDP as a fallback is not working BPC-9837
If the configured Identity Provider is unreachable, the system no longer incorrectly logs that the local Karaf Identity Provider is selected as a fallback. Instead, a note is displayed indicating that it could be enabled as a fallback.
Affects: BPC Core | Documentation |
-
Keycloak: Changed "GET /groups" API Request Starting with Version 26+ BPC-10149
Retrieving subgroups has been adjusted to accommodate changes in the Keycloak API.
Re: BPC Core |
-
bpc.env.sh DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN does not work BPC-10169
An error in the commented-out option DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN in the central configuration file (
bpc.env.sh) has been fixed. Previously, enabling this option did not work because the value must be enclosed in quotation marks. The Windows version was not affected.Affects:
-
Replication incorrectly detects an infinite loop BPC-10181
Affects: BPC Core |
Internal Dependencies / Dependency Updates
-
This update upgrades Karaf to version 4.4.8. It is necessary to update the modules
bpc-be-core,bpc-be-analysis,bpc-be-forms, andbpc-be-monitor.For BPC module developers:
With the updated Karaf, we are shipping CXF 3.6.8 instead of 3.6.7, which provides Jackson version 2.19.2.
Please update the CXF version (3.6.8) and Jackson version (2.19.2) in your
pom.xml. To do this, check whether you have animport packagestatement for this version. This must be added or adjusted if you use Jackson functions such as the `ObjectMapper` class.<Import-Package> ... com.fasterxml.jackson.*;version="[2.17.2,3.0.0)", ... </Import-Package>_
_Re: BPC Core | Process Monitoring | Data Analysis | Documentation | Forms | Karaf | -
Re:
BPC 4.1.26
Release Date: 2025-10-13
The following components must be updated with this release: BPC Modules
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions you need to follow to perform an update. |
-
HTTP proxy filters X-APIKey header BPC-10011
HTTP calls made via an HTTP proxy or Flow connection filter out the BPC API key header (
X-APIKey). Caution: This could affect existing BPC configurations if, for example, an INUBIT process is triggered that, in turn, makes calls to the BPC API using the API key provided. (In this case, it would be better to store a fixed BPC API key within the INUBIT process.)Re: BPC Core | Documentation |
Improvements
-
Better display and setting of Boolean values in settings tables BPC-9968
For Boolean values in the settings tables, a combo box is no longer displayed; instead, only the checkbox with the truth value appears. The value can be changed by clicking, pressing the spacebar, or pressing Enter.
Re: BPC Core |
Security
-
HTTP proxy filters X-APIKey header BPC-10011
HTTP calls made via an HTTP proxy or Flow connection filter out the BPC API key header (
X-APIKey). Note: This could affect existing BPC configurations if, for example, an INUBIT process is triggered that in turn makes calls to the BPC API using the API key provided. (In this case, it would be better to store a fixed BPC API key within the INUBIT process.)Affects: BPC Core | Documentation |
-
Default for filterSessionCookie set to true BPC-9926
For new backend Connections of the HTTP-Proxy and Flow types, the " Filter BPC Session " option is enabled by default.
Re: BPC Core | Documentation |
Bugs
-
Replication in an Infinite Loop BPC-10121
Replication could get stuck in a specific time window if that window was adjacent to the present and no records were found.
Subject: BPC Core |
-
JavaScript modifiers cannot be executed BPC-9993
For existing Karaf installations, include the following value in
KARAF/etc/custom.properties:# the base value is from config.properties and has been extended # by the packages 'jdk.internal.access' and 'jdk.internal.module' org.osgi.framework.bootdelegation = \ com.sun.*, \ javax.transaction, \ javax.transaction.xa, \ javax.xml.crypto, \ javax.xml.crypto.*, \ javax.security.cert, \ jdk.nashorn.*, \ sun.*, \ jdk.internal.reflect, \ jdk.internal.reflect.*, \ org.apache.karaf.jaas.boot, \ org.apache.karaf.jaas.boot.principal, \ jdk.internal.access, \ jdk.internal.moduleSubject: Data Analysis | Karaf |
BPC 4.1.25
Release Date: 2025-08-21
The following components must be updated with this update: BPC Modules
Improvements
-
Enable grouping by default in the BPC Settings tables. BPC-9737
The option to group settings is now enabled by default. It is recommended to use this view, as it displays the settings in a shared context.
Re: BPC Core |
-
Status Change: Automatic Preselection of Target Status BPC-9816
A preselected value can now be configured for the process status change. The preselection is controlled by the configuration
preselectStatein the settingfunction_changeStateConfig."preselectState": "_first": Always selects the first available value from the dropdown."preselectState": "<Suchwert>": Selects the first entry that contains the specified text (case-sensitive). Both raw values and display names (from Custom Renderer) can be used.If exactly one process is loaded and there are exactly two values to choose from, the status field automatically selects the status that does not match the current status.
Sample configuration[ { "dataIndex": "STATUS", "useDistinctValues": true, "preselectState": "Offen" }, { "dataIndex": "VALID", "useDistinctValues": true, "preselectState": "no" }, { "dataIndex": "STATUS2", "useRendererValues": true, "useDistinctValues": false, "preselectState": "_first" } ]Re: Process Monitoring |
Bugs
-
Replication stops when gaps > blockDayRange BPC-9606
Re: BPC Core |
-
Data Modifier Editor does not always save the latest changes when saving BPC-9613
Affects: BPC Core |
-
Maintenance mode can be enabled via the UI but cannot be disabled again. Error: "Not allowed to set local server properties" BPC-9799
When BPC is running in a cluster, it may not be possible to disable maintenance mode via the GUI.
Affects: BPC Core |
BPC 4.1.24
Release Date: 2025-06-02
The following components must be updated with this update: BPC Module | Java
Security
-
Filter session cookie content from log files BPC-9533
The logging configuration has been changed so that session tokens are masked. For new Karaf installations, this happens automatically. For existing installations, please update the configuration file
[KARAF]/etc/org.ops4j.pax.logging.cfg. Replace the old linewith the following: log4j2.maskpasswords.pattern = %replace{${log4j2.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}*{}*with the following lines:
# Chained replacement patterns to mask sensitive information # Filter out UUIDs as these are used as session cookies (keycloak+oidc) log4j2.maskuuids.pattern = %replace{${log4j2.pattern}}{(?i)([a-f0-9]{4})[a-f0-9]{4}(-[a-f0-9]{4}){3}-[a-f0-9]{8}(([a-f0-9]{4}))(?-i)}{$1****-****-****-**-*****$3*} # Filter out JWT tokens that might contain session IDs log4j2.maskjwt.pattern = %replace{${log4j2.maskuuids.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.[\\w-]+}*{(JWT)}* log4j2.maskunsecuredjwt.pattern = %replace{${log4j2.maskjwt.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.}*{(JWT)}* # Filter out 256-bit (64 hex digits) UUIDs used for Karaf session cookies and API keys log4j2.maskkarafsessioncookie.pattern = %replace{${log4j2.maskunsecuredjwt.pattern}}{[0-9a-fA-F]{64}}*{}* # Filter out passwords log4j2.maskpasswords.pattern = %replace{${log4j2.maskkarafsessioncookie.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}*{}*Since session tokens in Keycloak and OIDC are UUIDs that are also used elsewhere, we log the first and last four characters here.
Re: BPC Core | Documentation | Karaf |
Bugs
-
PDFs cannot be made available for download via INUBIT or for the file viewer in the process monitor BPC-9105
When binary files were uploaded via INUBIT or another backend system, the files might have been corrupted during download or viewing.
Affects: Process Monitoring |
BPC 4.1.23
Release Date: 2025-04-08
The following components must be updated with this release: BPC Modules
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions you need to follow to perform an update. |
-
Restriction on the visibility of the gear icon for widget configuration in the dashboard BPC-9087
Dashboard widgets now only display the configuration icon if the user is authorized to edit the dashboard. To do so, the user needs the "
bpcDashboard_editDashboard" permission. Users without this permission can no longer edit dashboard widgets. If editing capabilities (e.g., for custom widgets) are to continue to be offered, either the corresponding permission must be granted or the configuration must be provided through alternative means (e.g., via the widget header).Re: Process Dashboard |
Improvements
-
CustomRenderer and the
translateformatter are applied in the monitor export BPC-9100Subject: Process Monitoring |
-
Inclusion of all renderers in the filter selection list BPC-8112
Subject: Process Monitoring |
-
Display the number of selected rows during status changes BPC-8673
Re: Process Monitoring |
-
Displaying the number of selected processes/rows BPC-8722
In the moduleHeaderContent setting, the Parameter
showSelectionCounterin the metablock can be used to control whether the number of selected records is displayed.[ { "id": "metadata", "config": { "showFilter": false, "showSorter": false, "showSelectionCounter" : true } } ]See also Monitor Quick Actions
Re: Process Monitoring | Documentation |
-
Restriction on the visibility of the gear icon for widget configuration in the dashboard BPC-9087
Dashboard widgets now only display the configuration icon if the user is allowed to edit the dashboard. To do so, the user needs the "
bpcDashboard_editDashboard" permission. Users without this permission can no longer edit dashboard widgets. If editing capabilities (e.g., for custom widgets) are to continue to be offered, either the corresponding permission must be granted or the configuration must be provided through alternative means (e.g., via the widget header).Re: Process Dashboard |
-
The BPC startup script should not wait 30 seconds each time (after OpenSearch starts and after Karaf starts) BPC-9332
The startup script no longer waits 30 seconds after OpenSearch and Karaf start. If problems arise where OpenSearch is not available in a timely manner, the watchdog should be used.
Re:
-
Separate the BPC startup script from setup functions BPC-9372
The startup script no longer makes any changes to the environment. Directories must be configured according to the installation instructions, and
JAVA_HOMEmust also be configured correctly.Affects:
Bugs
-
ProcessStarter: "windowWidth" and "windowHeight" do not affect the window BPC-9042
The ProcessStarter configuration for
windowWidthandwindowHeightnow correctly affects the window.Re: Process Monitoring |
-
Invalid operators for numeric column filters BPC-9082
The selection of an operator for "number" filters has been restricted to the operator list. "=" is defined as the default operator, and the default operator can also be changed in the filter configuration within the column configuration. See also Configuring the Monitor Columns
Re: Process Monitoring | Documentation |
-
The bpcMonitor_editMonitorViews permission cannot be restricted to individual module IDs BPC-9329
The
bpcMonitor_editMonitorViewspermission can be set for specific instances to create and modify views in certain monitors by appending the module ID at the end.Re: BPC Core | Process Monitoring |
-
Changes in karaf/etc/de.Virtimo.BPC.core.cfg are not applied at runtime BPC-9413
Re: BPC Core |
Documentation
-
Administration of OpenSearch Indices BPC-7133
Subject: Documentation |
-
Note for system users without a home directory (Installation). BPC-8913
-
Model Version Update (BPC Configuration Index) BPC-9117
There is now a description of*the* BPC’s internal
model_versionat Versioning of the Internal BPC Configuration. It also explains that this can affect a BPC downgrade and the Deployment between different BPCs.The changelog now indicates when an update to the internal configuration is available.
In addition, the Administration Changelog displays an overview of all versions in which a change to the
model_versionoccurred. As part of this, an overview of versions with Karaf and OpenSearch updates was also added.Re: Documentation |
-
Documentation: How to Use MinIO as an S3 Replacement BPC-9225
Re: Documentation | OpenSearch |
-
Installation and Update BPC-9371
The installation via bundle file is now described at Installation. The included start and stop scripts are now described.
Re: Documentation |
-
Hardening the DB Connection BPC-9414
Notes added stating that database connections generally require read-only permissions.
See Backend Connections, Security, and Documents.
Subject: Documentation |
-
Downgrade with a Change in Model Version BPC-9417
Instructions for downgrading BPC, taking technical specifics into account. See: * Versioning of the Internal BPC Configuration * Troubleshooting * Downgrade Guide
Subject: Documentation |
BPC 4.1.22
Release Date: 2025-03-10
The following components must be updated with this update: BPC Module | OpenSearch | OpenSearch Plugin
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended steps to take when performing an update*.*
-
Update OpenSearch BPC-9287
Update OpenSearch according to the update instructions
Re: BPC Core | Process Monitoring | Documentation | Forms | OpenSearch |
New Features
-
Renderer for IGUASU Links BPC-9019
Monitors that contain an
externalReferencefield with an IGUASU reference can display a link that allows users to jump to the data source in IGUASU. To do this, the rendererflow!_!flowRenderermust be set in the monitor column configuration.See also: BPC → IGUASU
Re: BPC Core | Process Monitoring | Documentation |
-
BPC start/stop script BPC-7477
Scripts are provided that can be used to start and stop the BPC, Karaf, and OpenSearch.
Re:
-
Support customData via additionalInfos hooking BPC-9060
The user session can be supplemented with customData coming from the Additional Info endpoint of the Identity Provider Backend Connection.
Re: BPC Core | Documentation |
Improvements
-
Optimized use of OpenSearch to avoid misleading warnings BPC-9175
The OpenSearch log contains many entries such as "QueryGroup _id can’t be null, It should be set before accessing it." This is a known OpenSearch bug that was introduced in version 2.18.0. We have reduced the number of these messages as much as we could on our end.
Re: BPC Core |
-
Make default charts in the Analysis module compatible with the dark theme BPC-9293
To display existing charts using a dark theme without a white background, the background color of the charts should be set to full transparency (RGBA alpha value set to 0) under Chart Configuration → Settings → Background Color.
Subject: Data Analysis |
Bugs
-
OpenSearch backups are not running BPC-9334
Snapshots whose names do not conform to the current naming scheme have blocked the execution of backups.
Affects: BPC Core |
-
HTTP Proxy Sets Invalid Headers When Using HTTP/2 BPC-9337
When the HTTP proxy used an HTTP/2 connection, the pseudo-header ":status" was passed on to the client. Under a strict interpretation, this results in an error. For example, in this case,
nginxreported a 502 Bad Gateway error to the client.Subject:
-
If a deployment was performed from a BPC with existing monitor views to a BPC that did not yet have any views, an error occurred.
This error has been fixed.
Re: BPC Core |
-
Instance-Specific Permissions for Editing HTML Content BPC-9365
A bug was fixed that prevented instance-specific HTML content editing permissions from being granted by the role htmlcontent_editor_<MODUL-ID>.
Re: BPC Core |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
_
Administration Documentation_Re: BPC Core | Process Monitoring | Documentation | Forms | OpenSearch | -
Update org.mariadb.jdbc:mariadb-java-client BPC-9324
Re: BPC Core |
BPC 4.1.21
Release Date: 2025-02-10
The following components must be updated with this release: BPC Modules | Karaf
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended actions to take during an update.
-
Updating TLS Hardening BPC-9256
Properties have been set in the
custom.java.securityIf you are not yet using a `
custom.java.security` file via Central configuration file, you should do so.Existing `
custom.java.security` files should be updated with the following entry:jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurvesSubject:
-
Custom Java Security Settings via BPC.env for OpenSearch BPC-9259
The
bpc.envfiles now also apply the security.properties settings from the filecustom.java.securityto OpenSearch. As a result, changes made to this file affect both Karaf and OpenSearch.If you are using a BPC.env file, it is recommended that you update it. If it does not already exist, the file
custom.java.securitybe added. To do so, the following must be added.bpc.env.shexport OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"bpc.env.cmdSET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\custom.java.securitySee also Central configuration file
Re: Documentation |
Improvements
-
Settings can now be protected from changes via the BPC license. This will primarily be used in our cloud installations (K8s). For example, using the core setting 'backupRepository', we define the configuration for OpenSearch backups in an Amazon S3 bucket, and we do not want this to be changeable via the BPC frontend.
To achieve this, when creating the license, the XML can be extended with the list element `
NON_WRITEABLE_SETTINGS`, which contains the IDs of the non-editable settings.Excerpt from a sample license:
<?xml version="1.0" encoding="UTF-8" ?> <license> <bpc> <licenseKeys> ... </licenseKeys> <licenseMaps> ... </licenseMaps> <licenseLists> <NON_WRITEABLE_SETTINGS> <_core_noinstance_backupRepository/> <_core_noinstance_identityProviderBackendConnection/> </NON_WRITEABLE_SETTINGS> </licenseLists> </bpc> </license>The settings (example:
_core_noinstance_backupRepository) are the same as those used in the OpenSearch index ‘BPC-configuration’.The structure is as follows:
<ModuleId>_<InstancId>_<SettingName>If the setting pertains to a module and not to an instance or component, then the value
noinstancemust be used for the<InstanceId>. You can access the<SettingName>by displaying the "ID" column in the Settings grid in the BPC frontend.Example:
_core_noinstance_backupRepository-
<ModuleId>=_core -
<InstanceId>=noinstance -
<SettingName>=backupRepository
Affects: BPC Core |
-
-
Reduce the number of shards for newly created OpenSearch indices BPC-9049
We have reduced the number of shards to 1 in the Core_IndexTemplates setting. This is also the default setting that Elasticsearch/OpenSearch has been using for new indices for a few years now. This only affects newly created indices. Existing indices are not affected.
Re: BPC Core |
-
Reduction in Accesses to the OpenSearch Backup API BPC-9189
By optimizing accesses to the OpenSearch Backup API, fewer accesses are made to the data storage. This reduces the associated costs, for example, when using Amazon S3.
Re: BPC Core | OpenSearch |
-
JSON data should not be sorted automatically BPC-9227
When saving JSON settings, attributes within objects were automatically sorted. This behavior has been disabled. This makes it possible to arrange the order according to your own criteria.
Re: BPC Core |
-
Custom Java Security Settings via BPC.env for OpenSearch BPC-9259
The
bpc.envfiles now also set the security.properties for OpenSearch from the filecustom.java.security. As a result, changes made to this file affect both Karaf and OpenSearch.If you are using a BPC.env file, it is recommended that you update it. If it does not already exist, the file
custom.java.securityTo do this, add the following:bpc.env.shexport OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"bpc.env.cmdSET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\custom.java.securitySee also Central configuration file
Re: Documentation |
-
The BPC license filename should allow an additional .Virtimo file extension for joining BPC & INUBIT licenses. BPC-7813
The license filename may now also be
license.xml.virtimo. Previously, it had to belicense.xml.bpc. This makes it possible to use a license that is also a valid INUBIT license file.Subject: BPC Core |
-
Speed up generation of the config JSON for the BPC frontend BPC-9263
This change speeds up the loading of the BPC configuration in the client.
Re: BPC Core | Process Monitoring |
Security
-
Updating TLS Hardening BPC-9256
Properties have been set in the
custom.java.securityIf you are not yet using a
custom.java.securityfile via Central configuration file, you should do so.Existing
custom.java.securityfiles should be updated with the following entry:jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurvesRe:
Bugs
-
Data_Filter: No placeholder replacement for roles and use of "#" BPC-9110
The placeholder
#user.loginName#is now correctly replaced in the Data_Filter when the dynamic filter#is used.Subject: Process Monitoring |
-
Handling Multiple Session Cookies BPC-9164
If the client sends multiple session cookies—possibly because multiple BPC instances are installed on the server—the appropriate session cookie is now taken into account.
Re: BPC Core |
-
Detail View Update Problem BPC-9252
In cases involving frequent data changes, errors could occur in the monitor when displaying detail views. As a result, the entire rendering of the application was disrupted, and the page had to be reloaded manually.
Affects: Process Monitoring |
-
Module upload causes an OOM exception BPC-9266
Uploaded files are no longer kept entirely in memory. This reduces memory usage and prevents "OutOfMemoryException".
Affects: BPC Core |
Internal Dependencies / Dependency Updates
-
Update Karaf, CXF, and Jackson BPC-9264
This update requires updating Karaf and the modules
bpc-be-core,bpc-be-analysis,bpc-be-forms, andbpc-be-monitor.For BPC module developers:
In our earlier Karaf versions, we used CXF version 3.5.4. This CXF version includes Jackson version 2.14.3. We now ship Karaf with CXF 3.6.5, which includes Jackson version 2.17.2.
Please update the CXF version (3.6.5) in your `
pom.xml`. More importantly, you must also update the Jackson version (2.17.2) you are using. To do this, check whether you have animport packagestatement for this version. This must be added or updated if you use Jackson functions such as the `ObjectMapper` class.Replace
<Import-Package> ... com.fasterxml.jackson.*;version="[2.13.4,2.15.0)", ... </Import-Package>with
<Import-Package> ... com.fasterxml.jackson.*;version="[2.17.2,3.0.0)", ... </Import-Package>Affects: BPC Core | Process Monitoring | Data Analysis | Forms | Karaf |
BPC 4.1.20
Release Date: 2025-01-13
The following components must be updated with this update: BPC Module | OpenSearch | OpenSearch Plugin
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended steps to take when performing an update.
-
Update OpenSearch BPC-9048
Update OpenSearch according to the update instructions
Re: BPC Core | Documentation | Forms | OpenSearch |
Improvements
-
The log level for the BPC plugin in OpenSearch has been reduced from
tracetoinfo. This setting can be found in the fileopensearch/config/log4j2.properties.Re: OpenSearch |
-
Commit Date Instead of Build Date in Bundle Info BPC-9174
The bundle info, which can be accessed via the Karaf console, no longer displays the build date but rather the date of the last change to the underlying source code.
Re: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Documentation | Forms |
Bugs
-
PDF cannot be displayed in the Monitor Detail view BPC-9104
Re: Process Monitoring |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
Affects: BPC Core | Documentation | Forms | OpenSearch |
BPC 4.1.19
Release Date: 2024-12-16
The following components must be updated with this release: BPC Modules | OpenSearch Plugin
New Features
-
Update to settings for IGUASU instance type in Flow BPC-8863
Starting with IGUASU version 3.0.6, you can now jump directly from the BPC Flow Processor overview to the IGUASU processor. “Frontend URL” and “System ID” are now available in the Flow Manager. “URL” has been renamed to “Service URL.” Username and password are no longer required. Long descriptions of the processors are displayed in abbreviated form, with the full text available in a tooltip.
Re: BPC Core |
Improvements
-
OpenSearch setting for moving shards to other nodes when disk space is low BPC-9011
If free disk space falls below defined thresholds, shards are distributed to other nodes. It may also happen that indexes are set to read-only to prevent the disk from filling up.
The value of `
cluster.routing.allocation.disk.threshold_enabled` is now `true`. This corresponds to the OpenSearch default value.Re: OpenSearch |
-
Fields of type "object" and "flat_object" should be displayed correctly in the monitor using the default configuration BPC-9144
Fields containing nested JSON objects are assigned the value
"formatter" : "jsonStringify"in the initial column configuration. This converts the contents to text and displays them in the monitor.Affects: Process Monitoring |
Bugs
-
New: Replication distribution within the cluster is not always triggered BPC-8504
A bug has been fixed that caused individual replication jobs to not be distributed correctly across all available nodes when changes were made to the nodes in the BPC cluster.
Re: OpenSearch |
-
OpenSearch cannot be accessed via HTTP BPC-8800
Although the OpenSearch connection was configured to use HTTP, the system attempted to establish the TLS context based on the configuration. However, if this configuration was incorrect, an error occurred.
The configuration is now ignored, as it is not relevant for HTTP connections.
Nevertheless, it is recommended to use secure connections in this context.
Affects: BPC Core |
-
Replication and Tail Sync cause data inconsistencies BPC-9088
There were various issues when the time zone of the "Last Updated" column in the database table was set to UTC: - Tail Sync did not always delete all records. - Instead, it updated all records on every run. - Interaction with replication was also disrupted.
Re: BPC Core |
-
BPC Prometheus metric
bpc_moduleexports incorrect version information BPC-9119Re: BPC Core |
Documentation
-
The documentation on configuring secure network connections has been revised.
See in particular Secure Connection (TLS/HTTPS)
Subject: Documentation |
BPC 4.1.18
Release Date: 2024-11-18
The following components must be updated with this update: BPC Module | OpenSearch | OpenSearch Plugin | Java
|
Update to the internal configuration Changes were made to the internal configuration of the BPC in this version. This affects deployments between BPC instances running different versions. Additionally, extra steps are required when downgrading the BPC. For more information, see the page at Versioning of the Internal BPC Configuration. |
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended actions to take during an update.
-
Update OpenSearch BPC-8894
Update OpenSearch according to the update instructions
Affects: BPC Core | Documentation | Forms | OpenSearch |
New Features
-
A dark theme is now available for the BPC. It can be downloaded from the download page.
To switch between installed themes, you can use the plugin Theme Switcher, for example.
Re: Process Monitoring | Documentation | Karaf |
Improvements
-
Unnecessary error logs with MaintenanceModeEnabledException BPC-8784
Re: BPC Core |
Bugs
-
When impersonating, the language of the impersonating user is saved in the impersonated user’s account BPC-8864
When impersonating other users, the language can no longer be changed in the impersonated user’s Keycloak profile. For this to work, Keycloak must be configured correctly so that Impersonator information is provided via an active scope.
Re: BPC Core |
-
Remove obsolete grid_showHeader configuration BPC-8912
The configuration
grid_showHeaderis obsolete because it causes errors. The behavior of the header has been controlled for some time now using the parametermoduleHeader_enabled. This setting is automatically removed during the BPC update.Subject: BPC Core | Process Monitoring |
Documentation
-
Karaf access via SSH is described in more detail, and useful notes have been added.
The following documentation pages have been updated.
Re: Documentation |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
_
Administration Documentation_Re: BPC Core | Documentation | Forms | OpenSearch |
BPC 4.1.17
Release Date: 2024-10-18
The following components must be updated with this update: BPC Module | Java
New Features
-
LocalStorage should be automatically cleared during the BPC update BPC-6268
When the BPC is loaded, the version number of the Core Common Package (Fe-Core) is determined and stored in Local Storage. If this version number differs from the one saved during the previous load, the local storage is reset.
Subject: BPC Core |
-
Reference in the audit log BPC-8824
It is now possible to include references to external resources when writing audit information. For example, you can reference the IGUASU instance that generated the entry.
Subject: BPC Core | Documentation |
BPC 4.1.16
Release Date: 2024-09-23
The following components must be updated with this release: BPC Modules | OpenSearch Plugin
Improvements
-
Version information as Prometheus metrics BPC-8871
Affects: BPC Core | Documentation |
-
Prometheus Metric: BPC Status (Overall status of all BPC modules) BPC-8904
Re: BPC Core | Documentation |
-
HTML Content Module - Assign Write Permissions per Instance BPC-8699
Instance-specific roles for editing can now be assigned for the HTML Content Module: htmlcontent_editor_<MODUL_ID> See also: HTML Content Module (User-Defined Content)
Re: BPC Core | Documentation |
Bugs
-
Opensearch: BpcPlugin - ConcurrentModificationException BPC-8852
Subject: OpenSearch |
BPC 4.1.15
Release Date: 2024-08-26
The following components must be updated with this update: BPC Module | Karaf | OpenSearch
Security
-
cxf-rt-rs-service-description:3.5.8 | CVE-2024-29736 BPC-8743
Affects: BPC Core | Process Monitoring | Data Analysis | Forms | Karaf |
-
JSESSIONID cookie has been disabled
Affects: BPC Core |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
Re: BPC Core | Documentation | Forms | OpenSearch |
BPC 4.1.14
Release Date: 2024-07-02
The following components must be updated with this release: BPC Module
Improvements
-
Enable re-login in case of IP pinning issues BPC-8179
If an IP pinning error occurs, you can now log in normally after reloading the page in your browser. The error will not reappear (unless the IP address changes again).
Affects: BPC Core |
BPC 4.1.13
Release Date: 2024-06-04
The following components must be updated with this update: BPC Modules
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow to perform an update. |
-
The maximum memory for Karaf is configured differently BPC-8542
In current Karaf versions, Karaf-specific environment variables for setting JVM memory have been removed and must be replaced with an alternative.
Linux
Please replace `
# Karaf export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"
` with `
bpc.env.sh# Karaf export JAVA_MIN_MEM=128M export JAVA_MAX_MEM=512M
` and adjust the values accordingly.
Windows
Please replace
bpc.env.cmdrem *** Karaf *** SET JAVA_MIN_MEM=128M SET JAVA_MAX_MEM=512M
with
rem *** Karaf *** SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m
and adjust the values accordingly.
See also Central configuration file and Karaf
Re: Documentation |
Improvements
-
Maximum memory for Karaf is configured differently BPC-8542
In current Karaf versions, Karaf-specific environment variables for setting JVM memory have been removed and must be replaced with an alternative.
Linux
Please replace `
# Karaf export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"
` with `
bpc.env.sh# Karaf export JAVA_MIN_MEM=128M export JAVA_MAX_MEM=512M
` and adjust the values accordingly.
Windows
Please replace
bpc.env.cmdrem *** Karaf *** SET JAVA_MIN_MEM=128M SET JAVA_MAX_MEM=512M
with
rem *** Karaf *** SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m
and adjust the values accordingly.
See also Central configuration file and Karaf
Subject: Documentation |
BPC 4.1.12
Release Date: 2024-05-06
The following components must be updated with this update: BPC Modules
Bugs
-
Discrepancies in replication consistency checks BPC-8494
Affects: BPC Core |
BPC 4.1.11
Release Date: 2024-04-08
The following components must be updated with this update: BPC Module | OpenSearch | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow to perform an update. |
-
Data Binding BPC-8415
Data binding within forms has been revised. Combining multiple data bindings now requires an operator such as
+. For more information: Binding Form Component AttributesSubject: Documentation | Forms |
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended actions to take when performing an update.
-
Update OpenSearch BPC-8408
Update OpenSearch according to the update instructions
Subject: BPC Core | Documentation | Forms | OpenSearch |
Bugs
-
Data binding within forms has been revised. Combining multiple data bindings now requires an operator such as
+. For more information: Binding Form Component AttributesRe: Documentation | Forms |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
_
Administration Documentation_Re: BPC Core | Documentation | Forms | OpenSearch |
BPC 4.1.10
Release Date: 2024-03-11
The following components must be updated with this update: BPC Modules | Karaf
|
Update to the Internal Configuration This version includes changes to the internal configuration of the BPC. This affects deployments between BPC instances running different versions. Additionally, extra steps are required when downgrading the BPC. For more information, see the page at Versioning of the Internal BPC Configuration. |
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow for an update. |
-
Karaf Log Monitor BPC-7550
Karaf logs are now made available via a monitor (see also Karaf Log).
The additional component 'Decanter' is used to write the Karaf logs to the OpenSearch index
bpc-logs. In a new Karaf installation, this component is already preinstalled, and no action is required. If an existing Karaf installation cannot or should not be replaced, it can also be installed later via the Karaf console (internet connection required).virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-logFor configuration instructions, see Karaf Log.
Subject: BPC Core | ** Documentation | Karaf |
-
Compilation with Java 17 BPC-8333
As a result of this change, the use of Java 17 is now mandatory, and support for Java 11 has ended.
Re: BPC Core | Process Monitoring | Data Analysis | Forms |
-
Karaf Update BPC-8353
Karaf must be updated with this update.
New Features
-
Karaf logs are now made available via a monitor (see also Karaf Log).
The additional component 'Decanter' is used to write the Karaf logs to the OpenSearch index
bpc-logs. In a new Karaf installation, this component is already pre-installed, and no action is required. If an existing Karaf installation cannot or should not be replaced, it can also be installed later via the Karaf console (internet connection required).virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-logFor configuration instructions, see Karaf Log.
Re: BPC Core | Documentation | Karaf |
-
Health endpoint for cluster Leader BPC-7915
New status endpoint for querying the role of individual nodes in cluster mode. This endpoint can now be used to check whether a node has the "Leader" role or not. See also BPC API
/cxf/bpc-core/status/clustermasterRe: BPC Core | Documentation |
Improvements
-
Redundant values removed from Keycloak IdP configuration BPC-7983
Re: BPC Core | Documentation |
-
Compilation to Java 17 BPC-8333
As a result of this change, the use of Java 17 is now mandatory, and support for Java 11 has ended.
Subject: BPC Core | Process Monitoring | Data Analysis | Forms |
BPC 4.1.9
Release Date: 2023-12-15
The following components must be updated with this release: BPC Module | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions you need to follow to perform an update. |
-
Display Karaf version on status page BPC-8260
An update to the OpenSearch plugin (os-BPC-plugin) is required.
Subject: BPC Core | OpenSearch |
Improvements
-
Display Karaf version on the status page BPC-8260
An update to the OpenSearch plugin (os-BPC-plugin) is required.
Re: BPC Core | OpenSearch |
-
Dashboard module reduced to frontend BPC-8279
For existing installations, the file
bpc-be-dashboard.jarcan be omitted without replacement and deleted from theKARAF/deploydirectory. The Dashboard module now consists solely of the filebpc-fe-dashboard.war.Re: Process Dashboard | Documentation | Karaf |
BPC 4.1.8
Release Date: 2023-11-21
The following components must be updated with this update: BPC Modules
BPC 4.1.7
Release Date: 2023-10-23
The following components must be updated with this update: BPC Modules | OpenSearch | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow to perform an update. |
-
Update OpenSearch BPC-8015
Update OpenSearch according to the update instructions
If the environment variable
KARAF_PAX_JDBC_FEATURES_TO_INSTALLis used in the central configuration filebpc.env.sh, ensure that the new module PAX JDBC Feature Installer is installed.If backend module developers are using the OpenSearch REST High Level Client, they will most likely need to adapt their packages, as OpenSearch has moved some classes.
Affects: BPC Core | Process Monitoring | Data Analysis | Documentation | Forms | OpenSearch |
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended actions to take when performing an update.
-
Update OpenSearch BPC-8015
Update OpenSearch according to the update instructions
If the environment variable
KARAF_PAX_JDBC_FEATURES_TO_INSTALLis used in the central configuration filebpc.env.sh, ensure that the new module PAX JDBC Feature Installer is installed.If backend module developers are using the OpenSearch REST High Level Client, they will most likely need to adapt their packages, as OpenSearch has moved some classes.
Affects: BPC Core | Process Monitoring | Data Analysis | Documentation | Forms | OpenSearch |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
If the environment variable
KARAF_PAX_JDBC_FEATURES_TO_INSTALLis used in the central configuration filebpc.env.sh, ensure that the new module PAX JDBC Feature Installer is installed.If backend module developers are using the OpenSearch REST High Level Client, packages will most likely need to be adapted, as OpenSearch has moved some classes.
Affects: BPC Core | Process Monitoring | Data Analysis | Documentation | Forms | OpenSearch |
BPC 4.1.6
Release Date: 2023-09-25
The following components must be updated with this release: BPC Modules | Karaf
Recommended Adjustments
You should read the descriptions in this section carefully. These are recommended actions to take when performing an update.
-
Update Karaf BPC-8077
Karaf must be updated with this update.
By default, users from the
users.propertiesare no longer allowed to log in to the Karaf console via SSH. To allow users to log in via SSH, add the rolesshto the individual user’s entry in the fileKARAF/etc/users.properties, or add the role fromadmingroup. -
Remove from the BPC default public key in keys.properties BPC-8210
Entries in the file
KARAF/etc/keys.propertiesthat you do not use for logging in with a public/private key can be removed.Subject: Karaf |
Security
-
Remove the BPC default public key from keys.properties BPC-8210
Entries in the file
KARAF/etc/keys.propertiesthat you do not use for logging in with a public/private key can be removed.Re: Karaf |
Internal Dependencies / Dependency Updates
-
Karaf must be updated with this update.
By default, users from the
users.propertiesare no longer allowed to log in to the Karaf console via SSH. To allow users to log in via SSH, add the rolesshto the individual user’s file atKARAF/etc/users.propertiesor add the role fromadmingroup.
BPC 4.1.5
Release Date: 2023-08-28
With this update, the following components must be updated: BPC Module
BPC 4.1.4
Release Date: 2023-08-14
The following components must be updated with this update: BPC Modules | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow to perform an update. |
-
OpenSearch Cluster Operation: Socket Timeouts in the os-BPC-plugin BPC-8059
If set, remove the following
os-bpc-plugin-specific settings that are no longer needed from theconf/opensearch.yml.-
os-BPC-plugin.opensearch.basicauth.username
-
os-BPC-plugin.opensearch.basicauth.password
-
os-BPC-plugin.trust_certificates
-
os-BPC-plugin.verify_hostnames
-
os-BPC-plugin.truststore.path
-
os-BPC-plugin.truststore.type
-
os-BPC-plugin.truststore.password
If this is not done, OpenSearch will not start and will return the error "please check that any required plugins are installed, or check the breaking changes documentation for removed settings".
Re: Documentation | OpenSearch |
-
-
Load JSON schema from the backend and use it to validate JSON settings BPC-6607
Affects only module developers When using the BPC JsonEditor (xtype
bpcJsonFieldorbpcCodeEditorWindow.json), the optional JSON schema is now passed viaschemaand no longer viajsonSchema.Re: BPC Core |
-
unintended trimming during jump BPC-7961
Previously, the content of the monitor jump column was trimmed (removal of leading and trailing spaces) when filtering in the target monitor. This is no longer done so that you can filter specifically for values with spaces at the beginning or end.
If you use values with additional spaces in your monitor jump column (e.g., in connection with theseparator) that do not match the target values in the target monitor, these may need to be removed.Re: Process Monitoring |
New Features
-
Load JSON schema from the backend and use it to validate JSON settings BPC-6607
Applies only to module developers When using the BPC JsonEditor (xtype
bpcJsonFieldorbpcCodeEditorWindow.json), the optional JSON schema is now passed viaschemaand no longer viajsonSchema.Re: BPC Core |
Bugs
-
OpenSearch Cluster Operation: Socket Timeouts in the os-BPC-plugin BPC-8059
If set, remove the following
os-bpc-plugin-specific settings that are no longer needed from theconf/opensearch.yml.-
os-BPC-plugin.opensearch.basicauth.username
-
os-BPC-plugin.opensearch.basicauth.password
-
os-BPC-plugin.trust_certificates
-
os-BPC-plugin.verify_hostnames
-
os-BPC-plugin.truststore.path
-
os-BPC-plugin.truststore.type
-
os-BPC-plugin.truststore.password
If this is not done, OpenSearch will not start and will return the error "please check that any required plugins are installed, or check the breaking changes documentation for removed settings".
Re: Documentation | OpenSearch |
-
-
Unintended trimming on jump BPC-7961
Previously, the content of the Monitor Jump column was trimmed (removal of leading and trailing spaces) when filtering in the target monitor. This is no longer done so that you can specifically filter for values with spaces at the beginning or end.
If you use values with additional spaces in your monitor jump column (e.g., in connection with theseparator) that do not match the target values in the target monitor, these may need to be removed.Subject: Process Monitoring |
BPC 4.1.3
Release Date: 2023-07-03
The following components must be updated with this release: BPC Modules
BPC 4.1.2
Release Date: 2023-06-05
With this update, the following components must be updated: BPC Modules | OpenSearch Plugin
Recommended adjustments
You should read the descriptions in this section carefully. These are recommended actions that are advised during an update.
-
In the OpenSearch cluster, data from the os-BPC-plugin is not reliably synchronized between nodes BPC-7768
An update to OpenSearch or the os-BPC-plugin is required.
Re: BPC Core | OpenSearch |
Bugs
-
In the OpenSearch cluster, data from the os-BPC-plugin is not reliably synchronized between nodes BPC-7768
An update to OpenSearch or the os-BPC-plugin is required.
Re: BPC Core | OpenSearch |
BPC 4.1.1
Release Date: 2023-05-08
The following components must be updated with this release: BPC Modules | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow to perform an update. |
-
Renaming of the function BpcCommon.Api.getInstanceUrl to BpcCommon.Api.getModuleUrl BPC-7902
The name of the Common function "getInstanceUrl" (introduced with BPC 4.1.0) is being replaced by "getModuleUrl."
Re: BPC Core | Process Monitoring |
Recommended adjustments
You should read the descriptions in this section carefully. These are recommended actions to take when performing an update.
-
OpenSearch Update BPC-7812
Update OpenSearch according to the update instructions
Affects: BPC Core | Documentation | Forms | OpenSearch |
Improvements
-
Renaming of the BpcCommon.Api.getInstanceUrl to BpcCommon.Api.getModuleUrl BPC-7902
The name of the Common function "getInstanceUrl" (introduced with BPC 4.1.0) is replaced by "getModuleUrl".
Re: BPC Core | Process Monitoring |
Internal Dependencies / Dependency Updates
-
Update OpenSearch according to the update instructions
_
Administration Documentation_Re: BPC Core | Documentation | Forms | OpenSearch |
BPC 4.1.0
Release Date: 2023-03-27
The following components must be updated with this update: BPC Module | Karaf | OpenSearch
|
Internal Configuration Update This version includes changes to the BPC’s internal configuration. This affects deployments between BPC instances running different versions. Additionally, extra steps are required when downgrading the BPC. For more information, see the page at Versioning of the Internal BPC Configuration. |
Breaking Changes
|
You should read the descriptions in this section carefully. They may contain instructions that you must follow for an update. |
-
ChildLog should not use "eval" for filters and renderers BPC-5375
To prevent scripting attacks, renderers can no longer be defined as plain text JavaScript in the columns. Custom renderer functions can be referenced as described here. Formatting functions from
Ext.util.Formatcan be used by specifying theformatter. See also: Column configurationRe: Process Monitoring |
-
Migration to OpenSearch BPC-5819
Re: BPC Core | Process Monitoring | Data Analysis | ** Documentation | Forms | Karaf | OpenSearch |
-
Karaf Update BPC-6709
A Karaf update is required for this BPC update.
Customer themes and custom BPC modules must be adapted so that the
Web-ContextPathandWebapp-Contextin the manifest file must begin with/. To achieve this, you can usually modify the filebuild.gradle. An example can be found at https://bitbucket.org/Virtimo/BPC-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52 [can be viewedhttps://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52][here].In the configuration file
[karaf]/etc/org.ops4j.pax.web.cfg, Parameters have been renamed:org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
Re: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Documentation | Forms | Karaf |
-
Our Backend API as a Maven module BPC-6872
We had to move some interfaces/classes from the package
de.virtimo.bpc.coreto the packagede.virtimo.bpc.api.If you compile your code for 4.0.8 or 4.1 and receive errors, please update your Java imports. In most cases, you only need to replace
.core.with.api.. Otherwise, delete the import and let the IDE find it for you.And please make sure you do not have any
<Import-Package>statements in yourpom.xmlfor the following packages:-
de.virtimo.bpc.core.exception -
de.virtimo.bpc.auth.* -
de.virtimo.bpc.core.es.querybuilder
Re: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Adjust the package of the util classes from the 'util' module BPC-6886
If BPC Core util classes were used.
Please update the Java import statements
-
OLD:
de.virtimo.bpc.core.utils.* -
NEW:
de.virtimo.bpc.util.*
And the
pom.xml(<Import-Package>)-
OLD:
de.virtimo.bpc.core.utils;version="[4.0,5.0)", -
NEW:
de.virtimo.bpc.util;version="[4.0,5.0)",
Affects: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Move BpcTrustStoreUtil to the util module BPC-6924
If the following was used
de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…)please replace it with
de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…)Subject: BPC Core |
-
Renaming of attributes in the context of plugin hooks BPC-7379
For BPC developersPlugins are passed a
contextwhen they are called. Two attributes in thecontextobject have been renamed.moduleIdhas been changed tobaseModuleId, andinstanceIdhas been changed tomoduleId.Re: BPC Core | Process Monitoring |
-
Required adjustments to the backend modules when using BPC annotations: @BpcUserSessionRequired, … BPC-7384
Relevant for BPC module developers / Important for BPC Developers
This is only necessary when you use one of the following annotations in your backend modules/bundles:
-
@BpcUserSessionRequired
-
@BpcRoleRequired
-
@BpcRightRequired
-
@BpcRoleOrRightRequired
-
@BpcHardcodedBasicAuthentication
If this is the case, please update your
resources/OSGI-INF/blueprint/context.xmland replace
<bean id="bpcJAXRSInvoker" class="de.Virtimo.BPC.jaxrs.BpcJAXRSInvoker"/>
with
<bean id="bpcJAXRSInvoker" class="de.Virtimo.BPC.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown"> <argument ref="blueprintBundleContext"/> </bean>
Subject: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Strong Password Encryption BPC-7390
With the Karaf update, a stronger algorithm is now used for hashing passwords. This affects all JAAS-based https://docs.Virtimo.net/BPC-docs/latest/core/admin/identity_provider/idp_config.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html][Identity Provider] and the login to the Karaf console. All existing user passwords will no longer be valid and must be recreated!
If you wish to continue using the old user passwords, you must continue to use the old password hashing algorithm. This is described below. If you wish to use the new algorithm, you do not need to follow the steps below.
Using weak algorithms poses a potential security risk. Configuration via https://docs.Virtimo.net/BPC-docs/latest/core/admin/configuration/bpc_env.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/configuration/bpc_env.html][BPC.env] (recommended)
Add the following values to the
bpc.envto retain the old algorithm.export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENABLED=true export ORG_APACHE_KARAF_JAAS_ENCRYPTION_NAME=basic export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ALGORITHM=SHA-512 export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENCODING=hexadecimalConfiguration via Karaf configuration files
Change the following values in the configuration file
[karaf]/etc/org.apache.karaf.jaas.cfg. This will revert to the previous (weak) encryption.encryption.name = basic encryption.algorithm = SHA-512
Existing JAAS JDBC
The Virtimo JAAS JDBC implementation now uses the password encryption settings from the file:
[karaf]/etc/org.apache.karaf.jaas.cfg. These do not match the ones used previously.Therefore, if JAAS JDBC was already in use and you wish to continue using the existing (weak) hashes, please create the following file:
[karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.cfgThe following content restores the previous (weak) configuration:
-
up to BPC 4.0.15
encryption.enabled = true encryption.name = basic encryption.algorithm = SHA-512 encryption.encoding = hexadecimal encryption.prefix = {CRYPT} encryption.suffix = {CRYPT}Unfortunately, all password hashes in the database table must then be updated to include the prefix and suffix. Example:
PasswortHash→{CRYPT}PasswortHash{CRYPT}. Starting with BPC version 4.0.15, this adjustment is no longer necessary. -
starting with BPC 4.0.15
encryption.enabled = true encryption.name = basic encryption.algorithm = SHA-512 encryption.encoding = hexadecimal encryption.prefix = encryption.suffix =
This means that, as before, passwords are stored in the database table without a prefix or suffix.
To use a more secure hash algorithm such as
argon2, all passwords must be regenerated and thus reset.After adjusting these settings, Karaf must be restarted. Subject: BPC Core | ** Documentation | Karaf |
-
-
Content Security Policy BPC-7443
A Content Security Policy (CSP) is set via an HTTP header. This may affect your own modules, INUBIT WebApps, or integrated third-party applications. To customize the CSP, see Content Security Policy
-
Apache CXF BPC-7546
We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson version 2.13.4. We now ship Karaf with CXF 3.5.5, which includes Jackson version 2.14.1.
Please update the CXF version (3.5.4 → 3.5.5) in your
pom.xml. It is also important to update the version of Jackson being used. To do this, check if you have anImport-Packagestatement for it. This must be added or adjusted when you use Jackson functionality such as the `ObjectMapper` class.Replace
<Import-Package> ... com.fasterxml.jackson.*;version="[2.11.0,2.14.0)", ... </Import-Package>with
<Import-Package> ... com.fasterxml.jackson.*;version="[2.13.4,2.15.0)", ... </Import-Package>Subject: BPC Core | Process Monitoring | Data Analysis | Forms | Karaf |
-
Additional dashboard (widget) states should be stored locally BPC-7809
Dashboard settings
Dashboard_Responsive(ID:module_isResponsive) andDashboard_Layout(ID:layout_config) have been removed. Dashboards are now "responsive" by default and utilize the available space within their column. Users can now adjust the height and width of widgets. These changes are stored in the browser but can also be saved to the dashboard by authorized users. Resetting local changes is no longer possible directly on the widget; instead, it is done via a button in one of the toolbars. To display this button, the value `"resetUserState"` must be added to one of the settings:ModuleHeader_Content,Toolbar_LeftContent, orToolbar_RightContent.See also Dashboard Quick Actions
Subject: Process Dashboard | Documentation |
-
Replace ReplicationInfoService with an endpoint BPC-7822
Replication status information is no longer displayed on the monitor. This status information will be provided in a future release via a plugin.
Re: BPC Core | Process Monitoring |
-
Our 'Checker' and 'BpcService' interfaces are being moved BPC-6864
If you have been using the following
de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);please use
de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);instead.
Re: BPC Core |
-
Core modules such as user management do not work in navigation submenus BPC-7784
For BPC module developers
There was an undocumented function that responded globally to the "
click" event on all components with the "targetModule" attribute. In this process, the value of "targetModule" was passed to the "BpcCommon.Api.showModule" method, thereby triggering navigation to that module. This function has now been removed. If you have used thetargetModuleattribute—for example, on buttons—for navigation, you must set this up using your own handler that applies only to your components.Affects: BPC Core |
Recommended adjustments
You should read the descriptions in this section carefully. These are recommended steps to take when performing an update.
-
"Extract" relevant Karaf configurations from the Karaf folder BPC-6681
A big request: when updating Karaf, do not simply copy all
etcfiles from the old installation to the new one. This may result in new Karaf options not being set, and in the worst case, Karaf may not start.And if at all possible, do not manually edit
[karaf]/etcfiles; instead, make the adjustments viabpc.env.sh(Linux/macOS) orbpc.env.cmd(Windows). This makes Karaf updates much easier and can be used in BPC versions >= 3.4. See Central configuration file for more information.Most customizations can be made by overriding values in etc files without having to edit an etc file.
For example, if you want to set different paths for the keystore and truststore files: The paths are defined in the configuration file
[karaf]/etc/org.ops4j.pax.web.cfgunder the optionsorg.ops4j.pax.web.ssl.keystoreandorg.ops4j.pax.web.ssl.truststore.To set different paths for these two options, you can add two environment variables to
bpc.env.sh:export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_KEYSTORE=/opt/bpc.env/ssl/virtimo_keystore.jks export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_TRUSTSTORE=/opt/bpc.env/ssl/virtimo_truststore.jks
Here’s another example of how to set the `
de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB` option in the `[karaf]/etc/de.virtimo.bpc.core.cfg`:export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_MAINTENANCEMODE_FILESYSTEMLIMITINMB=4096
A limitation will be resolved with the next Karaf update. The deployment directory (
[karaf]/deploy) cannot currently be set via an environment variable due to a "bug." This affects the optionfelix.fileinstall.dirin the configuration file[karaf]/etc/org.apache.felix.fileinstall-deploy.cfg.Depending on usage, three files should be copied or replaced with symbolic links:
-
[karaf]/etc/users.properties -
[karaf]/etc/org.ops4j.pax.logging.cfg -
[karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.queries.cfg
Of course, this is only necessary if these files have been modified at all. The options in the two
cfgfiles could also be set via environment variables, but that would require setting several environment variables._
_Subject: **Documentation | -
-
Karaf Update BPC-7374
An update to Karaf is strongly recommended for security reasons.
New Features
-
Customized Monitor Views BPC-5331
Monitor views created with a BPC version < 2.1.6 are no longer supported. To preserve these views, they must be opened once in the "Manage Views" dialog and saved. This process saves the views in the correct format.
Re: BPC Core | Process Monitoring | Process Dashboard |
Improvements
-
Re: BPC Core | Documentation |
-
"Drag" relevant Karaf configurations from the Karaf folder BPC-6681
A big request: when updating Karaf, please do not simply copy all
etcfiles from the old installation to the new one. This may result in new Karaf options not being set, and in the worst case, Karaf may fail to start.And if at all possible, do not manually edit
[karaf]/etcfiles; instead, make adjustments viabpc.env.sh(Linux/macOS) orbpc.env.cmd(Windows). This makes Karaf updates much easier and can be used in BPC versions >= 3.4. See Central configuration file for more information.Most customizations can be made by overriding values in etc files without having to edit an etc file.
For example, if you want to set different paths for the keystore and truststore files: The paths are defined in the configuration file
[karaf]/etc/org.ops4j.pax.web.cfgunder the optionsorg.ops4j.pax.web.ssl.keystoreandorg.ops4j.pax.web.ssl.truststore.To set different paths for these two options, you can add two environment variables to
bpc.env.sh:export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_KEYSTORE=/opt/bpc.env/ssl/virtimo_keystore.jks export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_TRUSTSTORE=/opt/bpc.env/ssl/virtimo_truststore.jks
Here’s another example of how to set the `
de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB` option in the `[karaf]/etc/de.virtimo.bpc.core.cfg`:export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_MAINTENANCEMODE_FILESYSTEMLIMITINMB=4096
A limitation will be resolved with the next Karaf update. The deployment directory (
[karaf]/deploy) currently cannot be set via an environment variable due to a "bug." This affects the optionfelix.fileinstall.dirin the configuration file[karaf]/etc/org.apache.felix.fileinstall-deploy.cfg.Depending on usage, three files should be copied or replaced with symbolic links:
-
[karaf]/etc/users.properties -
[karaf]/etc/org.ops4j.pax.logging.cfg -
[karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.queries.cfg
Of course, this is only necessary if these files have been modified at all. The options in the two
cfgfiles could also be set via environment variables, but that would require setting several environment variables.Re: Documentation |
-
-
Our Backend API as a Maven Module BPC-6872
We had to move some interfaces/classes from the
de.virtimo.bpc.corepackage to thede.virtimo.bpc.apipackage.If you’re compiling your code for 4.0.8 or 4.1 and encounter errors, please update your Java imports accordingly. In most cases, you only need to replace
.core.with.api.. Otherwise, delete the import and let the IDE find it for you.And please make sure you don’t have any
<Import-Package>statements in yourpom.xmlfor the following packages:-
de.virtimo.bpc.core.exception -
de.virtimo.bpc.auth.* -
de.virtimo.bpc.core.es.querybuilder
Re: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Adjust the package of the util classes from the 'util' module BPC-6886
If BPC Core util classes were used.
Please update the Java import statements
-
OLD:
de.virtimo.bpc.core.utils.* -
NEW:
de.virtimo.bpc.util.*
And the
pom.xml(<Import-Package>)-
OLD:
de.virtimo.bpc.core.utils;version="[4.0,5.0)", -
NEW:
de.virtimo.bpc.util;version="[4.0,5.0)",
Affects: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Move BpcTrustStoreUtil to the util module BPC-6924
If the following was used
de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…)please replace it with
de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…)Subject: BPC Core |
-
Renaming Attributes in the Context of Plugin Hooks BPC-7379
For BPC developersPlugins are passed a
contextwhen called. Two attributes in the objectcontexthave been renamed.moduleIdhas been changed tobaseModuleId, andinstanceIdhas been changed tomoduleId.Re: BPC Core | Process Monitoring |
-
Additional dashboard (widget) states should be stored locally BPC-7809
Dashboard settings
Dashboard_Responsive(ID:module_isResponsive) andDashboard_Layout(ID:layout_config) have been removed. Dashboards are now "responsive" by default and utilize the available space within their column. Users can now adjust the height and width of widgets. These changes are stored in the browser but can also be saved to the dashboard by authorized users. Resetting local changes is no longer possible directly on the widget; instead, it is done via a button in one of the toolbars. To display this button, the value `"resetUserState"` must be added to one of the settings:ModuleHeader_Content,Toolbar_LeftContent, orToolbar_RightContent.See also Dashboard Quick Actions
Affects: Process Dashboard | Documentation |
-
Replace ReplicationInfoService with an endpoint BPC-7822
Replication status information is no longer displayed on the monitor. This status information will be provided via a plugin in a future release.
Re: BPC Core | Process Monitoring |
-
Moving our 'Checker' and 'BpcService' interfaces BPC-6864
If you have been using the following:
de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);please use
de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);instead.
Re: BPC Core |
Security
-
ChildLog should not use "eval" for filters and renderers BPC-5375
To prevent scripting attacks, renderers can no longer be defined as plain text JavaScript in the columns. Custom renderer functions can be referenced as described here. Formatting functions from
Ext.util.Formatcan be used by specifying theformatter. See also: Column configurationRe: Process Monitoring |
-
Strong Password Encryption BPC-7390
The Karaf update now uses a stronger algorithm for hashing passwords. This affects all JAAS-based https://docs.Virtimo.net/BPC-docs/latest/core/admin/identity_provider/idp_config.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html][Identity Providers] and login to the Karaf console. All existing user passwords will no longer be valid and must be recreated!
If you wish to continue using the old user passwords, you must continue to use the old password hashing algorithm. This is described below. If you wish to use the new algorithm, you do not need to follow the steps below.
Using weak algorithms poses a potential security risk. Configuration via https://docs.Virtimo.net/BPC-docs/latest/core/admin/configuration/bpc_env.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/configuration/bpc_env.html][BPC.env] (recommended)
Add the following values to `
bpc.env` to retain the old algorithm.export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENABLED=true export ORG_APACHE_KARAF_JAAS_ENCRYPTION_NAME=basic export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ALGORITHM=SHA-512 export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENCODING=hexadecimalConfiguration via Karaf configuration files
Change the following values in the configuration file `
[karaf]/etc/org.apache.karaf.jaas.cfg`. This will revert to the previous (weak) encryption.encryption.name = basic encryption.algorithm = SHA-512
Existing JAAS JDBC
The Virtimo JAAS JDBC implementation now uses the password encryption settings from the file:
[karaf]/etc/org.apache.karaf.jaas.cfg. These do not match the ones used previously.Therefore, if JAAS JDBC was already in use and you wish to continue using the existing (weak) hashes, please create the following file:
[karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.cfgThe following content restores the previous (weak) configuration:
-
up to BPC 4.0.15
encryption.enabled = true encryption.name = basic encryption.algorithm = SHA-512 encryption.encoding = hexadecimal encryption.prefix = {CRYPT} encryption.suffix = {CRYPT}Unfortunately, all password hashes in the database table must then be updated with the prefix and suffix. Example:
PasswortHash→{CRYPT}PasswortHash{CRYPT}. Starting with BPC version 4.0.15, this adjustment is no longer necessary. -
starting with BPC 4.0.15
encryption.enabled = true encryption.name = basic encryption.algorithm = SHA-512 encryption.encoding = hexadecimal encryption.prefix = encryption.suffix =
This means that, as before, passwords are stored in the database table without a prefix or suffix.
To use a more secure hash algorithm such as
argon2, all passwords must be regenerated and thus reset.After adjusting these settings, Karaf must be restarted. Re: BPC Core | Documentation | Karaf |
-
-
Content Security Policy BPC-7443
A Content Security Policy (CSP) is set via an HTTP header. This may affect your own modules, INUBIT WebApps, or integrated third-party applications. To customize the CSP, see Content Security Policy
Bugs
-
Core modules such as user management do not work in submenus of the navigation BPC-7784
For BPC module developers
There was an undocumented function that reacted globally, on all components with the attribute
targetModule, to the eventclick. In this case, the value of `targetModule` was passed to the method `BpcCommon.Api.showModule, thereby triggering navigation to that module. This function has now been removed. If you have used the ` `targetModule`attribute—for example, on buttons—for navigation, you must implement your own handler that applies only to your components.Re: BPC Core |
Internal Dependencies / Dependency Updates
-
An update to Karaf is required for this BPC update.
Customer themes and custom BPC modules must be adapted so that the
Web-ContextPathandWebapp-Contextin the manifest file must begin with/. To achieve this, the filebuild.gradlecan usually be modified. An example can be https://bitbucket.org/Virtimo/BPC-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52 [be viewedhttps://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52][here].In the configuration file
[karaf]/etc/org.ops4j.pax.web.cfg, parameters have been renamed:org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
Subject: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Documentation | Forms | Karaf |
-
An update to Karaf is strongly recommended for security reasons.
-
We used CXF version 3.5.4 in our previous Karaf releases. This CXF version includes Jackson version 2.13.4. We now ship Karaf with CXF 3.5.5, which includes Jackson version 2.14.1.
Please update the CXF version (3.5.4 → 3.5.5) in your
pom.xml. It is even more important to update the version of Jackson being used as well. To do this, check if you have anImport-Packagestatement for it. This must be added or adjusted if you use Jackson functionality such as the `ObjectMapper` class.Replace
<Import-Package> ... com.fasterxml.jackson.*;version="[2.11.0,2.14.0)", ... </Import-Package>with
<Import-Package> ... com.fasterxml.jackson.*;version="[2.13.4,2.15.0)", ... </Import-Package>Affects: BPC Core | Process Monitoring | Data Analysis | Forms | Karaf |
Miscellaneous
-
Migration to OpenSearch BPC-5819
Affects: BPC Core | Process Monitoring | Data Analysis | Documentation | Forms | Karaf | OpenSearch |
-
Required adjustments to backend modules when using BPC annotations: @BpcUserSessionRequired, … BPC-7384
Relevant for BPC module developers / Important for BPC Developers
This is only necessary when you use one of the following annotations in your backend modules/bundles:
-
@BpcUserSessionRequired
-
@BpcRoleRequired
-
@BpcRightRequired
-
@BpcRoleOrRightRequired
-
@BpcHardcodedBasicAuthentication
If this is the case, please update your
resources/OSGI-INF/blueprint/context.xmland replace
<bean id="bpcJAXRSInvoker" class="de.Virtimo.BPC.jaxrs.BpcJAXRSInvoker"/>
with
<bean id="bpcJAXRSInvoker" class="de.Virtimo.BPC.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown"> <argument ref="blueprintBundleContext"/> </bean>
Subject: BPC Core | Process Monitoring | Data Analysis | Forms |
-
-
Analysis: Replace Elasticsearch with OpenSearch BPC-7454
Subject: BPC Core | Data Analysis |
Overview of Karaf Updates
An update to Karaf was performed in the following BPC versions.
Overview of OpenSearch Updates
An update to OpenSearch was performed in the following BPC versions.
Overview of Updates to the Internal BPC Configuration
An update to the internal BPC configuration was performed in the following BPC versions.