Changelog
This page shows all the changes contained in the releases of the individual versions.
There are separate changelogs for administrators and developers (Administration changelog and Developer-Changelog). These are a subset of this changelog, with entries that are only relevant for these people.
For some versions, an update of individual system components (Karaf, OpenSearch) or other components is necessary. Update-Guide describes how these can be updated.
Explanations of the changelog
Within each version, changes are grouped according to different categories:
-
Breaking Changes
Changes that change the existing behavior of functions or that may entail additional work when updating the BPC.Read the notes on the Breaking Change carefully.
Entries in this category may reappear in one of the other categories.
-
Recommended adjustments
Instructions for the BPC update and the consequences of following or not following the instructions.Entries in this category may reappear in one of the other categories.
-
New functions
Functions that have been added with this version. -
Improvements
Improvements to existing functions. -
Security
Changes that eliminate potential IT security risks in the BPC or further increase the security level. -
Bugs
Corrections of errors of various kinds. -
Documentation
Changes or extensions to the product documentation. -
Dependency updates
Changes to internally used components from external sources. -
Miscellaneous
Changes that are not assigned to any other category.
For an explanation of the version numbering, see Explanation of versioning.
BPC 5.0.4
Release date: 2026-03-16
The following components must be updated with this update: BPC modules | Karaf | OpenSearch
|
Update of the internal configuration In this version there have been changes to the internal configuration of the BPC. This affects deployments between BPCs with different versions. Additional steps are also required when downgrading the BPC. Further information can be found on the page Versioning of the internal BPC configuration. |
Breaking Changes
|
You should read the descriptions in this section carefully. It may contain instructions that you must follow for an update. |
-
Refactoring OIDC/PKCE Handshake: Migration to stateless (encrypted cookie) for DoS prevention BPC-10544
Data used for login with OIDC providers is stored encrypted in a cookie on the client. This prevents overload from a very large number of login requests.
For BPC module developers
If you have developed your own
UserFlowIdentityProviderimplementation, you need to adapt it. The functionURI createAuthenticationRequestURI(String requestUrl)has been replaced withUserFlowLoginContext createAuthenticationRequestContext(String requestUrl)and now, in addition to the redirect URL for the OIDC login, also returns a cookie containing the login state. This cookie is set by the frontend during the login attempt.For BPC administrators
Install the new modules
bpc-be-core.jarandbpc-fe-core.war. A restart of the BPC/Karaf is necessary. If the BPC is still not available afterwards, please delete the directorykaraf/dataand restart Karaf again. (You may want to back up your log files beforehand.)Affects: BPC Core |
-
Renaming and merging of monitor settings for download via HTTP proxy connections BPC-10572
In process monitoring, the settings
inubit_referenceEndpoint,inubit_proxyId,inutbit_baseUrlfor downloading via an HTTP proxy have been consolidated and renamed tohttpProxy_referenceEndpointto clarify the possibility of downloading via a generic HTTP proxy connection. The settinginubit_dbTablePrefixhas been removed, as it was only used for legacy scenarios.Affects: BPC Core | Process Monitoring | Dokumentation |
-
WebTSM: Restrict access to REST endpoints BPC-10655
Timeseries Management administrators who do not belong to the "bpcadmin" role and previously only had the "webtsm_admin" permission now need the "webtsm_edit" permission instead. A Timeseries Management administrator could also be assigned the "WEBTSM_ADMIN" role instead of the specific permission. This would also be more future-proof, for example, if in subsequent versions more fine-grained permissions are defined for the endpoints instead of the "webtsm_edit" permission.
Affects:
-
Data Management module backend removed BPC-10696
The Data Management module no longer has its own backend component (
bpc-be-vam.jar). It must be removed during the update. To use the module, it is sufficient to usebpc-fe-vam.war.The Data Management module has been included in the regular release cycle.
Affects: Karaf |
-
Remove setting baseUrl BPC-9924
The setting
baseUrlis omitted, as the value (cxf) is a static part of the API URL and does not change.Do not confuse this with
bpcBaseUrl. This setting remains unchanged.Affects: BPC Core |
-
Index export for new import function BPC-10386
The format for index imports has been changed to a ZIP-based format. This is the same format that our opensearch-tool also uses to import and export indices. In the administration interface under Core Services → Indices, such index export files can be downloaded.
Note: If you use the index import functionality for an installation with a preconfigured BPC, the export file must be recreated.
See also Installation with preconfigured BPC.
Affects: BPC Core | Process Monitoring | Dokumentation |
New features
-
Display JSON files in a formatted way in child logs BPC-10378
Affects: Process Monitoring |
-
Hakom Cloud connection BPC-10476
-
Basic Authentication
Please enable Basic Auth support according to the HAKOM PowerTSM documentation. In the "module_apis" setting of the Timeseries Management module, the username (username) and password (password) are stored (see example). Additionally, the authentication method (authenticationMethod) should be set toBasicAuth. This is also the default if theauthenticationMethodfield does not exist.Basic Auth Example{ "webtsm01": { "application": "TSM", ... "authenticationMethod": "Basic", "basicAuth": { "username": "virtimo", "password": "<a_very_secure_password>" }, ... } } -
API Keys Authentication
Please first enable API Key support and generate an API Key according to the HAKOM PowerTSM documentation. Then store this generated API Key (apiKey) in the "module_apis" setting of the Timeseries Management module (see example). Additionally, the authentication method (authenticationMethod) must be switched toApiKeyAuth.API Key Auth Example{ "webtsm01": { "application": "TSM", ... "authenticationMethod": "ApiKey", "apiKeyAuth": { "apiKey": "<the_api_key_generated_by_webtsm>" }, ... } } -
Token Authentication
Please enable token authentication according to the HAKOM PowerTSM documentation. Currently, only the grant type "client_credentials" is supported, which requires the client ID and client secret. Store these together with the scope and the access token URL of the identity provider used in the "module_apis" setting of the Timeseries Management module. Additionally, the authentication method (authenticationMethod) must be switched toTokenAuth.Token Auth Example{ "webtsm01": { "application": "TSM", ... "authenticationMethod": "Token", "tokenAuth": { "accessTokenUrl": "https://xyz.virtimo.cloud/auth/realms/tsm/protocol/openid-connect/token", "clientID": "webtsm", "clientSecret": "<the_associated_client_secret>", "scope": "openid profile email" }, ... } }
Affects: BPC Core |
-
-
File Storage: Creating a file reference via reference to the cloud service BPC-10506
Files in File Storage can now be created not only via direct upload but also through a reference to a file in the cloud storage provider. For this purpose, a new endpoint is offered in the File Storage API. In the Log Service, files (for fields of type
file-storage) can also be transmitted as a file reference to the cloud storage provider.Additionally, when uploading and downloading with all supported cloud providers, the content type is set.
Affects: BPC Core | Dokumentation |
-
File storage backend connections: Option to route downloads via the BPC BPC-10541
File storage backend connections can now be configured so that downloads are routed through the BPC. See core:/admin/modules/backend_connections.adoc#file_storage. Downloads via the file storage service are now documented in the audit log.
Affects: BPC Core | Dokumentation |
-
File storage download in the process monitor BPC-10560
The File-Storage Log Service integration has been adapted for the Process Monitor so that it can offer these files for download and viewing: For fields of type
file-storage, the Log Service now creates two additional fields with the suffix_filenameand_contentTypewhen logging in OpenSearch and relational databases.Files from the File Storage can now also be accessed in the Process Monitor.
-
If you want to display files from the File Storage in the Monitor and do not want to route these downloads through the BPC, you must adjust the CSP and CORS settings. More details can be found in File attachments.
-
If you have configured Log Service instances that use fields of type
file-storage, the corresponding index should be re-indexed.
Affects: BPC Core | Process Monitoring | Dokumentation |
-
-
Index export for new import function BPC-10386
The format for index imports has been changed to a ZIP-based format. This is the same format that our opensearch-tool also uses to import and export indices. In the administration interface under Core Services → Indices, such index export files can be downloaded.
Note: If you use the index import functionality for an installation with a preconfigured BPC, the export file must be recreated.
See also Installation with preconfigured BPC.
Affects: BPC Core | Process Monitoring | Dokumentation |
Improvements
-
Additional http header "X-Correlation-ID" BPC-10509
Via the WebTSM setting module_apis, additional HTTP headers can be defined, which are then set for every WebTSM API call. To do this, include the field additionalHttpHeaders with the HTTP headers to be set (see example). Variables, such as the one below ${config.de.virtimo.bpc.core.karaf.uuid}, can be set in the same way as with the BPC HTTP Proxy.
{ "testserver": { "cache_refresh_full_cron_expression": "0 0/4 * * * ?", "doNotDeleteId": "116428970808333", "password": "******", "application": "TSM", "cache_refresh": 5, "url": "http://xyz:8050/", "username": "virtimo", "additionalHttpHeaders": { "X-Correlation-ID": "Example text - ${config.de.virtimo.bpc.core.karaf.uuid}" } } }Affects: BPC Core |
-
Monitor file download BPC-5775
The configuration of file attachments and downloads in the BPC Monitor has been restructured:
-
In a monitor (both in parent and child data), it is now possible to define multiple columns that contain file attachments.
-
The setting (
column_file) for the column that contains the file content or file reference is no longer required. Instead, a file attachment is configured in the column configuration of the parent data (column_config) or child data (column_historyConfig). For this purpose, an entryfileConfigis created there, which specifies the file name column and the content type column:
{ ... "dataIndex": "datei", "text": "Datei", ... "fileConfig": { "columnFileName": "filename", "columnContentType": "contentType" } }-
In the
fileConfigsettings object, thedataSourcefield can optionally be used to specify the source (OpenSearch, HTTP proxy) from which the files should be obtained. -
Columns of type Attachment Column can now also be used in child grids.
-
Existing monitor instances are adapted to the new configuration through a migration.
-
In the Jetty configuration delivered with the installer, the CSP header has been adjusted so that images can be displayed in the monitor.
Further information can be found here: Configuration of the monitor columns and File attachments.
Attention: Monitor instances had provided the setting
column_mimetypeto specify the column name that refers to the content type of the files. However, in the backend, the column namecontentTypewas used inconsistently. Therefore, during the migration of the instances, thecolumn_mimetypesetting was ignored. If this was used, please check the corresponding monitor instance and adjust it if necessary.Affects: BPC Core | Process Monitoring | Dokumentation | Karaf |
-
-
Window resizes in the dashboard should not be considered unsaved changes BPC-8057
Affects: Process Dashboard |
-
Sharing links too long BPC-10262
Sharing links for monitor processes have been shortened. The link now only contains information about the active view, the filters, and the sorter.
Affects: Process Monitoring |
-
Provide process context when the process starter is called via action BPC-10275
Affects: Process Monitoring |
-
Be able to delete a form in the Forms repo BPC-10298
Form versions and forms can now be deleted in the Forms Repository.
Affects: Forms |
-
"disabled": true make functional for all Forms components (including table columns/cells) BPC-10300
Affects: Dokumentation | Forms |
-
Texts in the interface adapted for multilingualism BPC-10436
Affects: Data Analysis |
-
Add default value for sorting the grouping in the process monitor BPC-10485
You can now configure the initial sort order for groups in the monitor settings. See setting
column_groupDirectionAffects: Process Monitoring | Dokumentation |
-
Issue URL: https://virtimo.atlassian.net/browse/BPC-10517 BPC-10517
-
Incremental Update
The interval at which new, updated, or deleted time series are searched for is defined via the module_apis setting cache_refresh (specified in minutes; 60 minutes is the default setting). Only the data that falls into the result set since the date of the last synchronization is considered. -
Time of Full Update
The full update of the time series cache was previously performed via the module_apis setting cache_refresh_full. By default, this was done every 24 hours from the time the WebTSM module was started. This option has been replaced by cache_refresh_full_cron_expression. Here, a cron expression can be specified according to the format used by the Quartz Scheduler. For example, the time series cache can be rebuilt every Sunday at 9:00 p.m. (“0 0 21 ? * Sun”). If this option is not set, then no full update will be performed. -
Execution of the Full Update
Previously, during the full update, all time series were read out via ONE request to the WebTSM and stored locally in the BPC (cache). This option remains the default for the full update. However, it can now also be switched to a paged or block-wise reading of the time series. To do this, set the mode via the module_apis setting cache_refresh_full_default_mode: Full or FullPaginated. To find out which full update mode puts less load on the WebTSM, both can be manually started for testing purposes via the following WebTSM endpoints: -
The following module_apis settings can also influence synchronization:
-
cache_refresh_paginated_fetch_block_size (5000) = Paged reading of time series. This number of time series is requested from WebTSM per request until all existing time series have been processed. Only used if FullPaginated is used as the mode.
-
timeout (60) = Already existed before. This is the query timeout, which is only used for the full update for the ONE request to WebTSM.
-
timeout_general (2) = The query timeout used for all other accesses to WebTSM.
-
cache_refresh_opensearch_bulk_block_size_deleted (2500) = During incremental synchronization, delete instructions are passed to OpenSearch in these bulk sizes. If the value is too high, OutOfMemory errors may occur. If the value is too low, too many HTTP requests are sent to OpenSearch. This can negatively affect performance.
-
cache_refresh_opensearch_bulk_block_size_changed (2500) = Time series data is passed to OpenSearch in these bulk sizes. If the value is too high, OutOfMemory errors may occur. If the value is too low, too many HTTP requests are sent to OpenSearch. This can negatively affect performance.
The values in parentheses are the default settings
-
Affects: BPC Core |
-
-
Refactoring OIDC/PKCE Handshake: Migration to stateless (encrypted cookie) for DoS prevention BPC-10544
Data used for login with OIDC providers is stored encrypted in a cookie on the client. This prevents overload from a very large number of login requests.
For BPC module developers
If you have developed your own
UserFlowIdentityProviderimplementation, you need to adapt it. The functionURI createAuthenticationRequestURI(String requestUrl)has been replaced withUserFlowLoginContext createAuthenticationRequestContext(String requestUrl)and now, in addition to the redirect URL for the OIDC login, also returns a cookie containing the login state. This cookie is set by the frontend during the login attempt.For BPC administrators
Install the new modules
bpc-be-core.jarandbpc-fe-core.war. A restart of the BPC/Karaf is necessary. If the BPC is still not available afterwards, please delete the directorykaraf/dataand restart Karaf again. (You may want to back up your log files beforehand.)Affects: BPC Core |
-
Change the WebTSM code so that the HTTP proxy is no longer called from the frontend BPC-10557
Only the WebTSM backend communicates directly with Hakom. The WebTSM frontend now only communicates with the WebTSM backend. This means that a backend connection of the type "HTTP Proxy" is no longer necessary and the setting "tsm_backendConnectionId" has been removed from the WebTSM Viewer components.
Affects:
-
Filter fallback values from status combobox during process status change BPC-10559
If "useRendererValues" is true during the process status change, the fallback values "" and "*" are no longer displayed in the status combo box.
Affects: Process Monitoring |
-
Renaming and merging of monitor settings for download via HTTP proxy connections BPC-10572
In process monitoring, the settings
inubit_referenceEndpoint,inubit_proxyId,inutbit_baseUrlfor downloading via an HTTP proxy have been consolidated and renamed tohttpProxy_referenceEndpointto clarify the possibility of downloading via a generic HTTP proxy connection. The settinginubit_dbTablePrefixhas been removed, as it was only used for legacy scenarios.Affects: BPC Core | Process Monitoring | Dokumentation |
-
Multilingualism in Forms BPC-10598
Multilingualism has been improved. The languages cs, da, de, en, es, fi, fr, it, js, ko, nl, pt, ru according to the ISO 639-1 language codes are now available. If a language is not available or incomplete, English will be used as a fallback.
Affects: Forms |
-
"Show module" does not always work in the WebTSM frontend BPC-10606
-
Monitor export: Start download immediately for streamable format BPC-10631
Affects: Process Monitoring |
-
Better validation of index names BPC-10633
Affects: BPC Core |
-
WebTSM: Predefined Basic Auth header value can be removed BPC-10651
Please remove the values with the key "authorization" in the Timeseries Management JSON setting under General → module_apis. This value contains the username and password in plain text (Base64 encoded) and is no longer needed.
Affects:
-
Fallback for instance type translations in the InstanceGrid BPC-10654
Affects: BPC Core |
-
WebTSM: Restrict access to REST endpoints BPC-10655
Timeseries Management administrators who do not belong to the "bpcadmin" role and previously only had the "webtsm_admin" permission now need the "webtsm_edit" permission instead. A Timeseries Management administrator could also be assigned the "WEBTSM_ADMIN" role instead of the specific permission. This would also be more future-proof, for example, if in subsequent versions more fine-grained permissions are defined for the endpoints instead of the "webtsm_edit" permission.
Affects:
-
Dataset ID as data-testid in the DOM BPC-10662
Through this change, tables in the GUI can be tested more effectively in an automated manner.
Affects: BPC Core |
-
Typo in the replication editor BPC-10664
Affects: BPC Core |
-
Missing language keys in en.json BPC-10695
Affects: BPC Core |
-
BpcCommon.Api.getCsrfToken should only return a copy of the object BPC-10717
Affects: BPC Core |
-
Suppress the browser's Basic Auth popup for flow requests BPC-10727
Affects: BPC Core | Dokumentation |
-
Improve theming of selection options in the calendar BPC-9516
Affects:
-
Remove setting baseUrl BPC-9924
The setting
baseUrlis omitted, as the value (cxf) is a static part of the API URL and does not change.Do not confuse this with
bpcBaseUrl. This setting remains unchanged.Affects: BPC Core |
-
"Non-default" marker in bpcConfigSettings too large BPC-10307
Affects: BPC Core |
-
Core-enforced setting groups are not merged with setting groups from the module BPC-10409
Duplicate setting groups are merged into one group
Affects: BPC Core |
Security
-
TSM access data visible to all WebTSM users BPC-10545
-
HTTP Proxy API: Error responses do not contain the URL of the target system. BPC-10607
Affects: BPC Core |
-
Findings in: opensearch-common:3.2.0 BPC-10352
Bugs
-
viewmode "tabbed" does not display any tabs BPC-10624
Affects: BPC Core |
-
Process Actions Response does not return an error message in case of a parse error. BPC-8443
Affects: BPC Core | Process Monitoring | Dokumentation |
-
Monitor export: Columns with the same dataIndex but different renderers are exported correctly BPC-9725
If multiple columns are configured in a monitor instance that use the same dataIndex but are displayed differently by custom renderers, this is now correctly taken into account during export. Additionally, during export, mappings for empty values and fallback values in custom renderers are considered (entries "!" and "*").
Affects: Process Monitoring | Dokumentation |
-
OpenAPI schema documentation incorrect BPC-9803
The error in the schema generation of some DTO classes has been fixed.
Affects: BPC Core |
-
Process Monitor - Data filters are automatically applied to child data in the export BPC-10018
When exporting child data from a monitor, the data_filter setting is applied to the corresponding parent entries.
Affects: Process Monitoring |
-
New installation: Indexes are missing BPC-10045
Affects: BPC Core | Process Monitoring |
-
BPC DetailView PopUp process details are rendered empty if header was hidden before BPC-10180
Affects: Process Monitoring |
-
Dynamic list filters with template columns do not work BPC-10241
Filtering on the column is now possible again. An additional option has also been added to set a different template for the filter. This may be necessary if the column template accesses fields other than those specified in dataIndex.
See also Configuration of the monitor columns
Affects: Process Monitoring | Dokumentation |
-
Process Monitor / FlexTable: Plugin assignment fails if monitor ID is configured as a string instead of a numeric value BPC-10276
targetModuleis automatically converted to a string in theviewConfigurationAffects: BPC Core |
-
Form in the Process Monitor popup view does not scale to fill the space BPC-10326
Affects: Process Monitoring | Forms |
-
Number filter is not applied when switching modules BPC-10381
Affects: Process Monitoring |
-
Issue URL: https://virtimo.atlassian.net/browse/BPC-10402 BPC-10402
Securing BpcCommon.Api.getTranslation: If a translation incorrectly returns an object (e.g., for config), it now falls back to the key string to avoid [object Object].
Affects: BPC Core |
-
preselectState "_first" if "useDistinctValues" is false BPC-10417
When changing the process status, it is now also possible to use
"preselectState": "_first"if "useDistinctValues" is false and custom states are used. See also Process Status Change ConfigurationAffects: Process Monitoring |
-
Fixed error when retrieving roles, permissions, and organizations during login in the BPC frontend BPC-10443
Affects: BPC Core |
-
Troubleshooting in the Process Monitor: DynamicList filters in integer fields (Integer, Long) are working again BPC-10596
Affects: BPC Core | Process Monitoring |
-
Layout error checkbox group BPC-10600
The spacing issues of checkboxes within a checkbox group have been fixed.
Affects: Forms |
-
Monitor: Troubleshooting when retrieving all different values for filtering in fields with numeric values BPC-10612
Affects: Process Monitoring |
-
Monitor: Export of child data exports all child columns BPC-10628
Previously, only columns in the child data were exported for which there are also columns in the parent monitor that use a dataIndex with the same name.
Affects: Process Monitoring |
-
Process Monitor: Column filters correctly take the global filter into account BPC-10647
Affects: Process Monitoring |
-
Monitor export: Export fails if instance_data_view_limit < scroll batch size BPC-10665
An export in the Process Monitor now works even if
instance_data_view_limitormonitor_data_view_limitis less than 2500.Affects: Process Monitoring |
-
Monitor configuration panel hangs due to missing Column_Configs BPC-8191
Affects: Process Monitoring |
Documentation
-
The documentation on binding in Forms has been expanded.
See:
Affects: Dokumentation |
-
Metadata example in process status change configuration BPC-10671
Affects: Dokumentation |
Dependency Updates
-
Update OpenSearch according to the update guide
Affects: BPC Core | Process Monitoring | Dokumentation | Forms | OpenSearch |
-
Affects: BPC Core |
-
Update com.azure:azure-storage-blob BPC-10588
Affects: BPC Core |
-
Update com.nimbusds:oauth2-oidc-sdk BPC-10592
Affects: BPC Core |
-
With this update, the version of Apache Karaf is raised to 4.4.10. In this context, it is necessary to update the following modules:
bpc-be-core,bpc-be-analysis,bpc-be-forms, andbpc-be-monitor.Please update Karaf according to the update guide.
Adjustment of the logging configuration
The configuration file
etc/org.ops4j.pax.logging.cfgwas adjusted as part of aLog4Jupdate. Important: Do not simply copy this file unchanged from an existing (old) Karaf installation. If you have made individual adjustments, please transfer them manually to the new configuration file.Note for BPC module developers
If your BPC backend module uses the dependency
jackson-annotationsand has so far used the variable${jackson.version}(to reference the same version as in the BPC core modules), this needs to be adjusted. Instead, use${jackson.annotations.version}.Affects: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf | OpenSearch |
-
-
Update froala-editor BPC-10640
Affects: BPC Core |
-
Affects: BPC Core |
-
Update com.google.cloud.google-cloud-storage.version BPC-10712
Affects: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-10714
Affects: BPC Core |
Other
-
Support for Postgres JSONB columns in replication BPC-10555
Affects: BPC Core |
-
Data Management module backend removed BPC-10696
The Data Management module no longer has its own backend component (
bpc-be-vam.jar). It must be removed during the update. To use the module, it is sufficient to usebpc-fe-vam.war.The Data Management module has been included in the regular release cycle.
Affects: Karaf |
BPC 5.0.3
Release date: 2026-01-23
The following components must be updated with this update: BPC modules
New features
-
Url zu Flow in Zwischenablage kopieren BPC-10295
Affects: BPC Core | Dokumentation |
-
Affects: OpenSearch |
Improvements
-
OIDC Token als Alternative für API-Key BPC-9610
Affects: BPC Core | Dokumentation |
-
BPC Frontend: Custom Module sollen das Routing im BPC unterbrechen können BPC-10507
Affects: BPC Core |
Bugs
-
Button für Prozessaktionen in der Detailview ist immer deaktiviert BPC-10518
Affects: Process Monitoring |
-
Schliessen des WebClient vom HttpProxy führt zu Fehlern BPC-10523
Affects: BPC Core |
-
BreadCrumb Plugin wird nicht angezeigt BPC-10375
Affects: BPC Core |
-
Errors during component creation BPC-10403
Affects: BPC Core |
Dependency Updates
-
Update graaljs.version BPC-10524
Affects: Data Analysis |
-
Update software.amazon.awssdk:s3 BPC-10525
Affects: BPC Core |
-
Update froala-editor BPC-10526
Affects: BPC Core |
-
Update com.azure:azure-storage-blob BPC-10527
Affects: BPC Core |
-
Update com.github.freva:ascii-table BPC-10528
Affects: BPC Core |
-
Update com.google.cloud.google-cloud-storage.version BPC-10529
Affects: BPC Core |
-
Affects: BPC Core |
BPC 5.0.2
Release date: 2026-01-15
The following components must be updated with this update: BPC modules | Karaf | OpenSearch
New features
-
BPC Forms AI Generation BPC-8640
Affects: BPC Core | Dokumentation | Forms |
-
Affects: BPC Core | Dokumentation |
-
Azure Blob and Google Cloud Storage support for file storage BPC-10268
The BPC File Storage Service now supports Azure Blob Storage and Google Cloud Storage in addition to AWS S3.
To use the file storage functionality, it is necessary to install the appropriate module for the respective cloud provider, see File Storage Modules. (This is also required if file storage was previously used with AWS S3.) If file storage is already being used with AWS S3, the AWS S3 File Storage Module must also be installed accordingly.
Affects: BPC Core | Dokumentation | Karaf |
-
Base-URL HTTPS Check BPC-10323
A security check has been introduced that verifies HTTPS is used for the bpcBaseUrl setting.
Affects: BPC Core |
-
Zusätzliche HTTP Header für die Verwendung von HTTP Proxy Verbindungen BPC-10339
It is now possible to store additional headers on the HTTP proxy, which will be sent to the server.
Affects: BPC Core |
-
Analogous to the import of module settings, we now offer the possibility to import preconfigured OpenSearch indices, see Installation with preconfigured BPC.
Affects: BPC Core | Dokumentation |
Improvements
-
Unser Karaf startet über 10mal langsamer als ein Vanilla Karaf BPC-9395
Affects: Karaf |
-
Scripte bzw. Tools für den Export und Import von BPC Indices BPC-9518
A command line tool is available for listing, deleting, as well as exporting/importing indices. It is called
bpc-opensearch-tool.jarand can be downloaded from the file server (https://files.virtimo.net/bpc/). You can access the help by runningjava -jar bpc-opensearch-tool.jar --help.Affects: BPC Core |
-
externalReference Datenfeld per Default in Log Service Konfiguration BPC-10172
Affects: BPC Core | Dokumentation |
-
A security check has been introduced to ensure that BPC is only accessible via HTTPS.
Affects: BPC Core |
-
Correct display of the checkbox in bpcCheckColumn for On/Off values BPC-10224
Affects: BPC Core |
-
Update Security Check Configuration BPC-10308
The delivered configuration file
de.virtimo.bpc.core.security.checks.cfgcontains corrected and updated default settings adapted to current checks.Affects: BPC Core | Dokumentation | Karaf |
-
Tooltip mit dem Link zur Quartz Scheduler Dokumentation lässt sich nicht klicken BPC-10312
Tooltips with URL links can be accessed with the cursor without them disappearing.
Affects: BPC Core |
-
Replikation repliziert keine Sätze, wenn in initialer Tabelle nur Sätze aus der Zukunft sind BPC-10318
Affects: BPC Core |
-
Deployment: Bundles Differ erkennt fälschlicherweise einen Unterschied BPC-10388
Affects: BPC Core |
-
Monitor JSON Export per Default aktivieren BPC-10444
Affects: Process Monitoring | Dokumentation |
Security
-
DoS attack with PKCE enabled on the Identity Provider BPC-10311
Fix for a potential DoS attack that leads to high memory consumption when there are a large number of parallel log-in requests.
Affects: BPC Core |
Bugs
-
Einstellbare Monitor-Export Limits unklar und werden beim Export ignoriert BPC-9840
The configured limit (max. number of records) for XLSX is now taken into account again during data export in the monitor. For CSV and JSON, a limit can now also be configured in the export mask. There is only an upper limit for XLSX, not for other file formats.
See also monitor:admin/configuration_monitor_export.adoc
Export of processesAffects: Process Monitoring | Dokumentation |
-
Monitor Export: CustomRenderer-Konfiguration wird nur auf String-Daten angewandt und Custom-Renderer "true" verwendet immer defaultRenderer. BPC-9964
When exporting monitor data with configured custom renderers, the following errors were fixed: - Custom renderers were only applied to data of type String. Now, custom renderers are also applied to the types Integer, Long, and Boolean during export. - For a column, you can set the value true as a custom renderer. In this case, a custom renderer with the same name as the dataIndex is used. If this does not exist, the custom renderer "defaultRenderer" is used. During export, only "defaultRenderer" was used in this case. This has been fixed.
Affects: Process Monitoring |
-
Module type displayField / displayValue gibts nicht, Instanzen können nicht angelegt werden BPC-10005
For GUI modules that offer types, components with types can once again be created. Translations for the designation of a type no longer require a "CORE_" prefix. The schema for the translation keys is "<MODULID>_INSTANCE_TYPE_<VALUE>".
Affects: BPC Core |
-
Fehler im Data Analysis Datensatz Modifikator BPC-10246
Affects: BPC Core | Data Analysis |
-
UI: ModuleUpdated Event triggers Exception if Security Cockpit was not opened BPC-10273
Fixing an exception during configuration update when the Security Cockpit has not yet been opened.
Affects: BPC Core |
-
Security Checks: Datum wird bei Messung nicht erfasst BPC-10315
Security check measurements now record a timestamp again.
Affects: BPC Core |
-
Security Cockpit erfasst nicht alle Checks BPC-10320
Affects: BPC Core |
-
HttpProxyCheck: Zu viele Checks BPC-10340
The HttpProxySecurityCheck is executed only once per instance.
Affects: BPC Core |
-
Applikationsbereich mit ViewMode Tabbed zeigt Navigationsleiste an BPC-10374
Affects: BPC Core |
-
Analysis: Default-Instance (BPC Default Reports) - Datenmodifikator-Tab disabled vor Speichern BPC-10419
The default instances in the Analysis module are now correctly initialized, so that the data modifier is immediately available.
Affects: Data Analysis |
-
Automatic migration aborts if there is an incorrect plugin configuration. BPC-10480
A faulty plugin configuration is now ignored during migration and logged as a warning.
Affects: BPC Core |
Documentation
-
Prozessstatuswechsel Konfiguration dokumentieren BPC-9448
Detailed documentation of the process status change configuration. See Process status change
Affects: Dokumentation |
-
Neue Chrome-Sicherheitsfunktion dokumentieren BPC-9468
Affects: Dokumentation |
-
BPC->Developer-Dokumentation->API Keys aktualisieren BPC-9470
Affects: Dokumentation |
-
Neue Features des Monitor Exports dokumentieren BPC-9488
The documentation of formatters in columns and formatters in export has been improved.
Affects: Dokumentation |
-
"simpleDate" und "date" Filtertypen aus der Doku entfernen BPC-9656
Affects: Dokumentation |
-
Tab-Darstellung in BPC-Dokumentation verwenden BPC-9861
Affects: Dokumentation |
-
Updated lists of module settings BPC-10028
The lists of the respective module settings have been revised or are now generated automatically. This ensures that the identifiers and description texts are identical to those in the GUI. See Configuration of Data Analysis Core Services settings Configuration of the Process Dashboard Configuration of Forms Configuration of Process Monitoring
Affects: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Dokumentation | Forms |
-
Nutzersteuerung: Dokumentiere, dass "Add to access token" im Role-Mapper notwendig ist. BPC-10306
Affects: Dokumentation |
-
Analysis Beispiel mit replizierten Daten dokumentieren BPC-10310
Affects: Dokumentation |
-
Data Analysis Chart Design Dokumentation ausführlicher gestalten. BPC-10351
See Chart Editor
Affects: Data Analysis | Dokumentation |
-
Syntax-Highlighting für Windows bat/cmd BPC-10414
Affects: Dokumentation |
-
Feedback zur Dokumentation - Administrationsbereich BPC-10383
The "Users" section in the documentation page "BPC Administration" is described in more detail. See BPC Administration
Affects: Dokumentation |
-
Feedback zur Dokumentation - Prozess Aktionen BPC-10400
Extended description of the process action configuration. See Configuration of process actions
Affects: Process Monitoring | Dokumentation |
Dependency Updates
-
Update froala-editor BPC-10330
Affects: BPC Core |
-
Update org.quartz-scheduler:quartz BPC-10357
Affects: BPC Core |
-
Update org.slf4j:slf4j-nop BPC-10358
Affects: BPC Core |
-
Update apache-poi monorepo BPC-10359
Affects: Process Monitoring |
-
Affects: BPC Core |
-
Update org.apache.commons:commons-text BPC-10453
Affects: BPC Core |
-
Update vaadinWebComponents monorepo BPC-10498
Affects: BPC Core |
-
Update de.virtimo.bpc:nimbusLib BPC-10500
Affects: BPC Core |
-
Affects: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-10503
Affects: BPC Core |
Other
-
HTTP Proxy auf Memory Leak prüfen BPC-10484
Affects: BPC Core |
BPC 5.0.1
Release date: 2025-11-24
The following components must be updated with this update: BPC modules | OpenSearch Plugin
Breaking Changes
|
You should read the descriptions in this section carefully. It may contain instructions that you must follow for an update. |
-
HttpProxy fügt an BaseUrl / an BPC-8832
Check and, if necessary, adjust the HTTP proxy configurations. Up to now, a '/' was always appended to the configured connection URL. This is no longer the case. If your HTTP proxy target requires this and the URL is currently configured without a '/' at the end, please adjust it accordingly.
Affects: BPC Core |
New features
-
Two new plugins have been added to link to internal or external content. See also External Link and Internal Link
Affects: BPC Core | Dokumentation |
-
Manueller TailSync Start BPC-7718
In the frontend, it is now possible to manually start a tail sync for replication jobs. Additionally, a manual tail sync can also be started via the REST API; see Replication API.
Affects: BPC Core | Dokumentation | OpenSearch |
Improvements
-
Unterstützung von OIDC Login mit aktiviertem PKCE BPC-8198
BPC now supports PKCE (Proof Key for Code Exchange) for OpenID Connect and Keycloak Identity Provider to enable a hardened login flow. To activate this, you need to set the PKCE method in the Identity Provider backend connection and, if necessary, configure this in your Keycloak client.
Affects: BPC Core | Dokumentation |
-
Tail Sync Aufrufe protokollieren BPC-9450
Tail sync runs can now be logged. When logging is enabled, entries are written to the index bpc-tailsync-log. Additionally, the monitor Tail Sync Log Monitor is created. You can find more information about this under Replication.
Affects: BPC Core | Dokumentation |
-
Marking of changed settings BPC-9973
The marking of settings that have values differing from the default has been changed.
Affects: BPC Core |
-
Standardempfänger in Administrator Notification UI BPC-10191
In the form for sending notifications, the role
bpcuseris preselected as the recipient group. It is no longer possible to send a notification without any recipient group.Affects: BPC Core |
-
Reindizieren hinterlässt keine alten Indices BPC-10192
When reindexing, the old index is deleted instead of being closed as before. The user is offered the option to create a backup before reindexing.
Affects: BPC Core | Dokumentation |
-
Better testability of comboboxes BPC-10196
The values of the different options in combo boxes are now no longer generally supplemented with a
. This makes automated testing of the interfaces easier.Affects: BPC Core |
-
Beim Deinstallieren von Bundles kommt es zu Exceptions BPC-10228
Affects: BPC Core |
-
Code löschen, der als Deprecated und Marked for Removal gekennzeichnet ist BPC-10243
Code that was marked as deprecated has been removed from BPC.
Affects: BPC Core |
Security
-
mssql-jdbc:12.6.1 | CVE-2025-59250 BPC-10266
The driver provided via pax-jdbc-mssql is no longer delivered.
Please ensure that the MSSQL driver used has at least one of the following versions: 10.2.4, 11.2.4, 12.2.1, 12.6.5, 12.8.2, 12.10.2, 13.2.1
If an older driver is being used, it should be replaced. Remove the old driver by deleting it from the deploy directory or by uninstalling pax-jdbc-mssql or the driver itself. Then install a current driver (without the pax-jdbc-mssql feature). See also: Databases
Affects: Dokumentation | Karaf |
Bugs
-
Prozessstarter mit Parametern "startWithContext" und "hidden" auf true lädt den falschen Prozess BPC-10261
A bug was fixed where an incorrect process starter was displayed when exactly two process starters were configured, one of which is hidden.
Affects: Process Monitoring |
-
HttpProxy fügt an BaseUrl / an BPC-8832
Check and, if necessary, adjust the HTTP proxy configurations. Up to now, a '/' was always appended to the configured connection URL. This is no longer the case. If your HTTP proxy target requires this and the URL is currently configured without a '/' at the end, please adjust it accordingly.
Affects: BPC Core |
-
Error during index migration BPC-8989
If an error occurs during the migration of an index, the newly created index for the migration will be removed again in order to avoid subsequent errors or to revert to a stable state.
Affects: BPC Core |
-
Opensearch Exception, wenn bpcCheckColumn einen anderen Typ als boolean hat BPC-9662
Affects: BPC Core | Process Monitoring |
-
Keycloak Admin Implementierung kann nur mit einer oidcDiscoveryUrl umgehen BPC-9727
Affects: BPC Core | Dokumentation |
-
Prozess Starter mit parametersEndpoint wird im Panel nicht mehr angezeigt BPC-9810
-
UI: bpcModuleInstanceSelector - Modulkonfigurations-Routing fehlerhaft für BackendConnection BPC-9975
Affects: BPC Core |
-
Issue URL: https://virtimo.atlassian.net/browse/BPC-10007 BPC-10007
Buttons that discard local changes now have a better text description.
Affects: BPC Core |
-
Validierung des Wertebereichs von Number-Variablen BPC-10117
Changes to the valid value range have a direct impact on the validation of the default value.
Affects: Data Analysis |
-
Incorrect default value in `KARAF/etc/de.virtimo.bpc.core.security.checks.cfg` BPC-10267
In the configuration file, the value for
deleteCheckResultsOlderThanmust be changed from10 daysto10 days ago.Affects: BPC Core | Dokumentation | Karaf |
-
Backend connections cannot be created BPC-10301
Affects: BPC Core |
-
Fehler nach Upgrade auf OpenSearch 2.15.0 - StatusConsoleListener - java.lang.RuntimePermission - accessUserInformation BPC-9022
Affects: OpenSearch |
BPC 5.0.0
Release date: 2025-10-24
The following components must be updated with this update: BPC modules | Karaf | OpenSearch | Java
|
Update of the internal configuration In this version there have been changes to the internal configuration of the BPC. This affects deployments between BPCs with different versions. Additional steps are also required when downgrading the BPC. Further information can be found on the page Versioning of the internal BPC configuration. |
Breaking Changes
|
You should read the descriptions in this section carefully. It may contain instructions that you must follow for an update. |
-
Restriction of SSH access BPC-8253
By default, the accessibility of Karaf via SSH connections is now restricted to the host
localhost. To enable accessibility via external connections, use the central configuration file. See Karaf SSH Access.Affects: Dokumentation | Karaf |
-
OpenSearch access only via de.virtimo.bpc.core.opensearch.hosts BPC-9246
Connections to OpenSearch are now configured exclusively via
de.virtimo.bpc.core.opensearch.hosts. When updating from an older version, you must add the entryde.virtimo.bpc.core.opensearch.hoststo the configuration filekaraf/etc/de.virtimo.bpc.core.cfg. Additionally, it is recommended to supplement the central configuration file with the linesexport DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=$(($PORT_OFFSET + 9200)) export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS="https://localhost:$DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT"or
SET /a DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=%PORT_OFFSET% + 9200 SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS=https://localhost:%DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT%(as shown here with the example https://localhost:9200). You can use the files from the download file server as a reference.
Affects: BPC Core | Dokumentation |
-
Java JDK 21 BPC-9312
The use of Java 21 is now necessary.
Affects:
-
Adjustment of metrics BPC-9440
These metrics have been renamed:
-
bpc_es_bpc_plugin_status_websocket → bpc_os_bpc_plugin_status_websocket
-
bpc_es_bpc_plugin_status_plugin → bpc_os_bpc_plugin_status_plugin
Affects: BPC Core | Dokumentation |
-
-
Support for INUBIT Identity Provider removed BPC-9482
INUBIT is no longer supported as an Identity Provider.
Affects: BPC Core | Dokumentation |
-
Aufsplittung der Identity Provider-Konfiguration aus JSON in separate Settings BPC-9515
For the Identity Provider (Backend Connections), a large part was previously configured via a JSON setting. This has been split into individual settings. Existing configurations are migrated automatically. If older deployment exports of Identity Provider components are used, it is best to recreate them.
Affects: BPC Core | Dokumentation |
-
Status API: status/server/{serverUUID} removed BPC-9654
The endpoint
/cxf/bpc-core/status/server/{serverUUID}of the status API, which queried the status of a remote BPC, has been removed.Affects: BPC Core | Dokumentation |
-
Harmonization of interfaces for various monitor functions BPC-9770
The query string parameters
gridId,gridExtId,multiRecords,buttonIdand the form parametertablePrefixhave been removed from the process action requests. To send additional context or configuration information, "process action metadata" can be configured in the monitor settings.In process starters, the XML that was sent has been replaced by JSON. As a result,
portletArchiveName,operation,mandant,gridID,key,bpcModule,bpcModuleInstanceIdandcustomhave been removed.keyhas been uniformly renamed toid. Additional context or configuration information can be reliably sent via the "metadata" configuration in the process starter configuration in the monitor settings. The process parameters are bundled under config.parameters in the request payload. File uploads containfilename,typeanddata. Grids contain a list of their records.In Change State,
tablePrefix,mandantandchangeStatusBox_<column name>have been removed.commandhas been uniformly renamed totypeand receives the value "statusChange".columnsstringhas been renamed tocolumn.newStatusCombo_<column name>has been renamed tonewStatus.commentfieldhas been renamed tocomment.childStatusis no longer set to "Info" by default in the Change State configuration and, if configured, is migrated to metadata. Additional information can be passed in the "metadata" object in the Change State configuration.The unused settings
inubit_aperakEndPoint,inubit_dbGridIdandinubit_pmMandanthave been removed. The settingsinubit_actionEndpoint,inubit_changeStateEndpointandinubit_VpsEndpointhave been replaced byactionEndpointProcessor,changeStateEndpointProcessorandvpsEndpointProcessor.Affects: BPC Core | Process Monitoring | Dokumentation |
-
Restricted forwarding of session information BPC-9925
HTTP proxy backend connections and flow connections now always filter the session cookie so that a recipient cannot make calls in the BPC in the context of the user. The setting filterSessionCookie is therefore no longer required. Instead, with the new setting sendSessionId, it is possible to send the user’s session ID, which can be verified at the endpoint GET /cxf/bpc-core/authentication/session/{sessionid}. When the injectUserSessionJWT setting is enabled, a self-created JWT is no longer sent, but rather the signed ID token from the OpenID Connect provider is sent. You can find more details in Backend Connections - HTTP-Proxy.
Affects: BPC Core | Dokumentation |
-
HTTP proxy filters X-APIKey header BPC-10011
Http calls via an Http-Proxy or Flow connection filter out the BPC Api-Key header (
X-APIKey). Attention: This could affect existing BPC configurations, for example if an INUBIT process is triggered that in turn makes calls to the BPC API using the provided API key. (In this case, it would be better to store a fixed BPC API key in the INUBIT process.)Affects: BPC Core | Dokumentation |
-
Renaming of childs to children in the Log Service Payload BPC-8478
Users of the Log Service API must replace all occurrences of
childswithchildrenin their POST data. During a transition period,childscan still be used for incoming data. This backward compatibility will be removed in a future release. It should also be noted that the responses from the Log Service endpoints now containchildreninstead ofchilds.Affects: BPC Core |
Recommended adjustments
You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.
-
OpenSearch Konfiguration auslagern BPC-9106
The OpenSearch configuration directory can be configured via
OPENSEARCH_PATH_CONF. This allows you to outsource the configuration directory from the OpenSearch directory. As a result, you will no longer overwrite it during an OpenSearch update. See also Outsourcing OpenSearch Configuration.In the bundle installation file, BPC is now delivered with a configuration directory outsourced to
INSTALLATION_DIRECTORY/opensearch_config.It is recommended to set OPENSEARCH_PATH_CONF in the bpc.env.
Affects: Dokumentation | OpenSearch |
New features
-
Aktion für alle Datensätze BPC-1088
A new action type "bulkAction" has been added to enable actions to be performed for all records. See Bulk Actions
Affects: BPC Core | Process Monitoring | Dokumentation |
-
Easy linking of monitor actions with IGUASU processors BPC-6260
If IGUASU is correctly connected via the Flow module, available processors can easily be selected through the configuration interface of the monitor actions.
-
Konfigurationsoberfläche für Identity Provider BPC-7069
A configuration interface for identity providers is now available.
Affects: BPC Core |
-
OpenAPI Spezifikation für REST API BPC-8513
With this update, it is necessary to update the Karaf.
Affects: BPC Core | Dokumentation | Forms | Karaf |
-
A Security Cockpit is now offered in the administration area, providing an overview of application security.
For details, see Security cockpit
Affects: BPC Core | Dokumentation | Karaf |
-
Ansicht von Online-Users BPC-8724
A new API endpoint
/cxf/bpc-core/collaboration/online-usersprovides the ability to retrieve all logged-in users. (See Collaboration API.) A new plugin "List Online Users" makes it possible to display all logged-in users in the frontend. (See Online User List))Affects: BPC Core | Dokumentation |
-
A chat plugin has been added. The chat is stateless, so messages are lost when you log out, reload, or close the page. New messages are only received while you are logged in. See also Chat
Affects: BPC Core | Dokumentation |
-
BPC Deeplinks über LogService BPC-8798
You can use the Log Service API to be redirected directly to the Log Service configuration or to connected monitors. There are two new LogService endpoints that redirect the user to the corresponding BPC pages when called:
-
To open the admin page of a LogService instance:
http://<bpc_host>:<bpc_port>/cxf/bpc-logservice/<logservice-instance-id>/open/logservice -
To open a monitor (without filter)
http://<bpc_host>:<bpc_port>/cxf/bpc-logservice/<logservice-instance-id>/open/monitor -
To open a monitor (with filter)
http://<bpc_host>:<bpc_port>/cxf/bpc-logservice/<logservice-instance-id>/open/monitor?instance.id=foobar
See also API documentation: Log Service API
Affects: BPC Core | Dokumentation |
-
-
It is now possible to specify references to external resources when writing audit information. For example, it is possible to refer to the IGUASU instance that created the entry.
Affects: BPC Core | Dokumentation |
-
SQL-Query anstelle von Tabellennamen als Quelle für Replikation BPC-9063
Replication now also supports, as an alternative to existing database tables/views, the direct entry of an SQL query.
See also
sourceCommonTableExpressionQueryin ReplicationAffects: BPC Core | Dokumentation |
-
JSON Schemas entsprechend der LogService Konfiguration BPC-9072
A JSON schema can now be requested via the Log Service API, which describes the payload for the Log Service. This can be used to perform a validation in advance.
Affects: BPC Core | Dokumentation |
-
Neuer Setting Type zur Auswahl von Modulinstanzen aus mehreren Modulen (Flow & Backend Connections) BPC-9289
A new setting has been added that allows you to select the endpoints or processors of Flow & Backend Connections. The selection generates a BPC URL following the pattern bpc://<flow/backendconnection>/<instanceId>/<endpointOrProcessor>. There are separate settings for process actions, process starters, and change state.
Affects: BPC Core | Process Monitoring |
-
Revision of the notification system BPC-9463
Messages can be sent to individual users. Messages can be time-limited. Messages can set a topic. It is possible to delete all messages of a single topic. The status of whether a message has been read is now persisted in the backend, instead of being stored in the browser’s local storage.
See also Notifications to users and Notification API for changes to the API.
Affects: BPC Core | Dokumentation |
-
Backend-Connection für FileStorage (S3-kompatibel) BPC-9806
The backend connections are being extended by a 'file_storage' type to configure connections to AWS S3 and S3-compatible file storage systems.
Affects: BPC Core | Dokumentation |
-
A file storage API is provided that enables uploading, downloading, and managing files. These are stored on a file storage configured via a file storage backend connection.
See File-Storage API.
Affects: BPC Core | Dokumentation |
-
BPC UI zum File Storage listing + upload BPC-9808
Under Settings→Overview→File Storage, a UI is provided to display, download, and delete files from the file storage. Additionally, files can be uploaded to the file storage.
Affects: BPC Core | Dokumentation |
-
LogService: File-Storage-Service Integration BPC-9977
File Storage Integration in the Log Service
-
A new field type
file-storagehas been added to reference files. -
Files can be passed to the Log Service either via an existing reference or as a Base64-encoded file. In the latter case, the file is stored by the Log Service in the File Storage.
-
For uploading via a Base64-encoded file, a new configuration is required in the Log Service instance (activation, connection ID, bucket, read and write restriction).
Further information can be found in File Storage in the Log Service
Affects: BPC Core | Dokumentation |
-
-
Automatischer Redirect nach erfolgreicher Anmeldung BPC-10012
In the frontend, it is possible to redirect to a BPC URL after the login process using the query parameter
redirectPostAuth. This works for all OIDC identity providers.Affects: BPC Core | Dokumentation |
-
Validation results in the `state` BPC-8481
Results from the validation are now stored in the
state. This means they can also be used for bindings, for example. See alsovalidateAffects: Forms |
Improvements
-
IGUASU (Flow) Instanz am Monitor durch "Action Service" BPC-6413
A new setting has been added that allows you to select the endpoints or processors of Flow & Backend Connections. The selection generates a BPC URL following the schema bpc://<flow/backendconnection>/<instanceId>/<endpointOrProcessor>. There are separate settings for process actions, process starters, and change state. The URL is always uniformly included in the payload during the POST request and passed to the httpProxy endpoint of the monitor. The monitor endpoint uses the Core Action Service to further process the data and ultimately returns the response.
Affects: BPC Core | Process Monitoring | Dokumentation |
-
REST API: Adaptive Authentifizierungsantwort (401 vs. Keycloak Redirect) basierend auf Accept-Header implementieren BPC-7723
BPC API requests that take place via a web browser now redirect to Keycloak (or another OIDC UserFlowIdentityProvider) if authentication is missing. After logging in, a redirect to the original API endpoint takes place.
Affects: BPC Core |
-
API Keys wie PW behandeln BPC-8194
API keys are now masked in the frontend, just like passwords. When viewing existing API keys in settings,
is now displayed instead of the API key.When a new API key is created, it is displayed once.
Affects: BPC Core | Process Monitoring | Dokumentation |
-
Prometheus Metrik: BPC Status (Gesamtstatus aller BPC Module) BPC-8904
Affects: BPC Core | Dokumentation |
-
OpenSearch Einstellung zum Verschieben von Shards auf andere Nodes bei geringem Plattenplatz BPC-9011
If the available disk space falls below defined thresholds, shards are redistributed to other nodes. It can also happen that indices are set to read-only to prevent the disk from filling up.
The value of
cluster.routing.allocation.disk.threshold_enabledis nowtrue. This corresponds to the OpenSearch default value.Affects: OpenSearch |
-
Replication: Bessere Fehlermeldung bei Timeouts BPC-9064
Affects: BPC Core |
-
OpenSearch Konfiguration auslagern BPC-9106
The OpenSearch configuration directory can be configured via
OPENSEARCH_PATH_CONF. This allows you to outsource the configuration directory from the OpenSearch directory. As a result, you will no longer overwrite it during an OpenSearch update. See also Outsourcing OpenSearch Configuration.In the bundle installation file, BPC is now delivered with a configuration directory outsourced to
INSTALLATION_DIRECTORY/opensearch_config.It is recommended to set OPENSEARCH_PATH_CONF in the bpc.env.
Affects: Dokumentation | OpenSearch |
-
OpenSearch access only via de.virtimo.bpc.core.opensearch.hosts BPC-9246
Connections to OpenSearch are now configured exclusively via
de.virtimo.bpc.core.opensearch.hosts. When updating from an older version, you must add the entryde.virtimo.bpc.core.opensearch.hoststo the configuration filekaraf/etc/de.virtimo.bpc.core.cfg. Additionally, it is recommended to supplement the central configuration file with the linesexport DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=$(($PORT_OFFSET + 9200)) export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS="https://localhost:$DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT"or
SET /a DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=%PORT_OFFSET% + 9200 SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS=https://localhost:%DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT%(as shown here with the example https://localhost:9200). You can use the files from the download file server as a reference.
Affects: BPC Core | Dokumentation |
-
Editor mit SQL Support BPC-9351
The setting
Common Table Expression Queryin replication can now be edited in an editor that supports SQL syntax.Affects: BPC Core |
-
OpenSearch: Jede Minute werden Warnungen in der Konsole ausgegeben: QueryGroup _id can't be null, It should be set before accessing it. BPC-9404
Affects: OpenSearch |
-
Adjustment of metrics BPC-9440
These metrics have been renamed:
-
bpc_es_bpc_plugin_status_websocket → bpc_os_bpc_plugin_status_websocket
-
bpc_es_bpc_plugin_status_plugin → bpc_os_bpc_plugin_status_plugin
Affects: BPC Core | Dokumentation |
-
-
Erweiterung der Standardrechte für Rolle `bpcuser` BPC-9505
The standard mapping (Mapping of organizations, roles and rights) for Identity Provider has been adjusted so that every user (via the standard role
bpcuser) receives the right to use all standard modules of the BPC. Additionally, the right to view the list of logged-in users is granted.This change does not affect existing configurations.
Affects: BPC Core |
-
Aufsplittung der Identity Provider-Konfiguration aus JSON in separate Settings BPC-9515
For the Identity Provider (Backend Connections), a large part was previously configured via a JSON setting. This has been split into individual settings. Existing configurations are migrated automatically. If older deployment exports of Identity Provider components are used, it is best to recreate them.
Affects: BPC Core | Dokumentation |
-
Log Service Konfiguration in einzelne Unter-Settings überführen BPC-9598
Affects: BPC Core |
-
Behandlung von Primärschlüsseln in der Log Service UI BPC-9599
The setting of the ID columns in the log service configuration interface is now done via combo boxes. The configuration can only be saved if at least one ID column is defined. Additionally, it is checked whether all ID columns are included in the field configuration. If this is not the case, the form is marked as invalid and saving is prevented.
Affects: BPC Core |
-
HTTP Proxy: Support for OPTIONS and PATCH BPC-9612
The HTTP proxies configured in BPC now also forward OPTIONS and PATCH requests.
Affects: BPC Core | Dokumentation |
-
Überarbeitung von Link-Benachrichtigungen BPC-9624
For notifications, the type 'link' no longer exists; instead, all notifications can now specify links. The field linkData is used for this purpose (previously typeSpecificData). For references to external websites, the url field is still used; for BPC-internal navigation, the hash component of the BPC URL is now specified in the navigation field. You can read more in Notification Types and in Notification API.
In the notification interface (BPC → Configuration → Overview → Notifications), a link can now also be configured (see Notifications to Users).
Affects: BPC Core | Dokumentation |
-
The Submit has been revised. Some changes are now required here. See Migration from BPC 4.* to BPC 5.0. The structure and possible actions of the messages have been adjusted.
Affects: Dokumentation | Forms |
-
Status API: status/server/{serverUUID} removed BPC-9654
The endpoint
/cxf/bpc-core/status/server/{serverUUID}of the status API, which queried the status of a remote BPC, has been removed.Affects: BPC Core | Dokumentation |
-
Target process can be configured on the process starter plugin BPC-9728
The plugin can now configure a process that is displayed immediately upon triggering. Additionally, the text and icon can now be freely configured. See also Process Starter Plugin
Affects: Process Monitoring | Dokumentation |
-
Per Default die Gruppierung in den BPC Settings Tabellen aktivieren. BPC-9737
The option for grouping settings is now initially enabled. It is recommended to use this view, as the settings are displayed together in a common context.
Affects: BPC Core |
-
Names of groups to settings BPC-9738
There are now multilingual labels on groups of settings.
Affects: BPC Core | Process Monitoring | Process Dashboard | Data Analysis |
-
Log Service setting renamed to "Maintenance mode" BPC-9752
Log services can now be (de)activated individually. The term maintenance mode was misleading in this context.
Affects: BPC Core |
-
Harmonization of interfaces for various monitor functions BPC-9770
The query string parameters
gridId,gridExtId,multiRecords,buttonIdand the form parametertablePrefixhave been removed from the process action requests. To send additional context or configuration information, "process action metadata" can be configured in the monitor settings.In process starters, the XML that was sent has been replaced by JSON. As a result,
portletArchiveName,operation,mandant,gridID,key,bpcModule,bpcModuleInstanceIdandcustomhave been removed.keyhas been uniformly renamed toid. Additional context or configuration information can be reliably sent via the "metadata" configuration in the process starter configuration in the monitor settings. The process parameters are bundled under config.parameters in the request payload. File uploads containfilename,typeanddata. Grids contain a list of their records.In Change State,
tablePrefix,mandantandchangeStatusBox_<column name>have been removed.commandhas been uniformly renamed totypeand receives the value "statusChange".columnsstringhas been renamed tocolumn.newStatusCombo_<column name>has been renamed tonewStatus.commentfieldhas been renamed tocomment.childStatusis no longer set to "Info" by default in the Change State configuration and, if configured, is migrated to metadata. Additional information can be passed in the "metadata" object in the Change State configuration.The unused settings
inubit_aperakEndPoint,inubit_dbGridIdandinubit_pmMandanthave been removed. The settingsinubit_actionEndpoint,inubit_changeStateEndpointandinubit_VpsEndpointhave been replaced byactionEndpointProcessor,changeStateEndpointProcessorandvpsEndpointProcessor.Affects: BPC Core | Process Monitoring | Dokumentation |
-
Log Service: Settings mit Elasticsearch im Namen umbenennen BPC-9813
Affects: BPC Core |
-
Aufschlussreiche 400 Bad Request-Response, falls JSON-Body nicht serialisiert werden kann BPC-9821
An invalid JSON payload in an HTTP request body is now responded to by API endpoints with the error
400 Bad Request.Affects: BPC Core |
-
Extension of metadata for compact Configuration API BPC-9937
The modelVersion is now also displayed when the caller does not have admin rights.
Affects: BPC Core |
-
Various improvements to the Forms module BPC-9946
Affects: Dokumentation | Forms |
-
Boolsche Werte in Einstellungs-Tabelle besser darstellen und setzen BPC-9968
For boolean values in the settings tables, a combo box is no longer displayed; instead, only the checkbox with the truth value is shown. The value can be changed by clicking, pressing the space bar, or pressing Enter.
Affects: BPC Core |
-
The appearance of BPC has been updated.
Affects: BPC Core | Process Monitoring | Process Dashboard |
-
ServiceNotFoundException bei Auswahl einer Backend Connection für Prozess Starter BPC-9995
Affects: BPC Core |
-
Klassen für Menu-Buttons für geringeren Pfeil-Abstand BPC-10060
Buttons can now use the classes
arrow-spacing-sm(small) andarrow-spacing-xs(extra small) to reduce the spacing of the arrow.Affects:
-
Backend Bundles sollten keine feature.xml enthalten BPC-10115
For BPC module developers:
If a
feature/feature.xmlis used in the module sources, please remove the following resource block from thepom.xml:<resources> ... <resource> <directory>src/main/feature</directory> <filtering>true</filtering> <targetPath>${project.build.directory}/feature</targetPath> </resource> </resources>This entry defined the
feature.xmlas a resource and embedded it into the JAR file. This is not necessary.However, the
maven-resources-pluginstill needs to be used to replace placeholders in thefeature.xml.To do this, add the following plugin call:
<plugins> <!-- Replace the placeholders in the feature.xml file --> <!-- Documentation : https://maven.apache.org/plugins/maven-resources-plugin/ --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> <executions> <execution> <id>copy-feature-file</id> <phase>generate-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/feature</outputDirectory> <resources> <resource> <directory>src/main/feature</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> ... </plugins>Affects: BPC Core | Process Monitoring | Data Analysis | Forms |
-
Tool zur Migration von Indices für OpenSearch 3.2 (BPC 5.0.0) BPC-10120
For the migration of installations that were already using Elasticsearch, it may be necessary to perform an additional migration step when switching to OpenSearch 3. A corresponding tool is provided for this purpose. For further details, see Migration from BPC 4.* to BPC 5.0
Affects: OpenSearch |
-
BPC Log Index CleanUp: Nach Start des Karaf läuft die erste Säuberung erst nach 60 Minuten. BPC-10168
Index cleanups are performed 60 seconds after BPC starts, and then run at the configured interval.
Affects: BPC Core |
-
0 Label für CustomRenderer im Monitor BPC-10170
It is now possible to use the value 0 in the valueMap of a custom renderer and to see it as a label in the monitor. Previously, values of 0 were not displayed.
Affects: Process Monitoring |
-
Notification icon can be placed as a plugin BPC-8064
The symbol for accessing notifications and displaying the number of unread notifications is now a plugin. Therefore, like other plugins, it can now be placed in various locations in the interface.
Affects: BPC Core | Dokumentation |
-
Benachrichtigung nur an eingeloggte Nutzer BPC-8097
For notifications, there is now an additional option to send the message only to logged-in users. The filters by roles and organizations remain active. See also Notifications. For notifications with the recipient group "Users," the recipients are no longer displayed.
Affects: BPC Core | Dokumentation |
-
Renaming of childs to children in the Log Service Payload BPC-8478
Users of the Log Service API must replace all occurrences of
childswithchildrenin their POST data. During a transition period,childscan still be used for incoming data. This backward compatibility will be removed in a future release. It should also be noted that the responses from the Log Service endpoints now containchildreninstead ofchilds.Affects: BPC Core |
-
Setting identityProvider_ussUrl removed BPC-9046
The unused setting
identityProvider_ussUrlhas been removed.Affects: BPC Core | Dokumentation |
-
LogService - Validierung gegen JSON Schema BPC-9071
A JSON schema validation of the data to be written can be activated on each Log Service component. The default setting is 'Off'. The JSON schema is automatically generated based on the configured
KeysandFieldsand can be retrieved if necessary via the Log Service endpoint.Affects: BPC Core | Dokumentation |
-
Event Erstellung von der veralteten Dictionary auf Map umstellen BPC-9483
When handling events,
Mapshould be used instead ofDictionary.Affects: BPC Core |
Security
-
Bei den Modul- und Lizenz-Uploads keine Dateinamen mit Pfadangaben annehmen BPC-9362
Any path specifications are ignored to prevent path traversal attacks.
Affects: BPC Core |
-
Restriction of SSH access BPC-8253
By default, the accessibility of Karaf via SSH connections is now restricted to the host
localhost. To enable accessibility via external connections, use the central configuration file. See Karaf SSH Access.Affects: Dokumentation | Karaf |
-
Filter session cookie content from log file BPC-9533
The logging configuration has been changed so that session tokens are masked. For new installations of Karaf, this happens automatically. For existing installations, please adjust the configuration file
[KARAF]/etc/org.ops4j.pax.logging.cfg. Replace the old linelog4j2.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 256bit (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 with Keycloak and OIDC the session tokens are UUIDs that are also used elsewhere, we log the first and last four characters here.
Affects: BPC Core | Dokumentation | Karaf |
-
Restricted forwarding of session information BPC-9925
HTTP proxy backend connections and flow connections now always filter the session cookie so that a recipient cannot make calls in the BPC in the context of the user. The setting filterSessionCookie is therefore no longer required. Instead, with the new setting sendSessionId, it is possible to send the user’s session ID, which can be verified at the endpoint GET /cxf/bpc-core/authentication/session/{sessionid}. When the injectUserSessionJWT setting is enabled, a self-created JWT is no longer sent, but rather the signed ID token from the OpenID Connect provider is sent. You can find more details in Backend Connections - HTTP-Proxy.
Affects: BPC Core | Dokumentation |
-
HTTP proxy filters X-APIKey header BPC-10011
Http calls via an Http-Proxy or Flow connection filter out the BPC Api-Key header (
X-APIKey). Attention: This could affect existing BPC configurations, for example if an INUBIT process is triggered that in turn makes calls to the BPC API using the provided API key. (In this case, it would be better to store a fixed BPC API key in the INUBIT process.)Affects: BPC Core | Dokumentation |
-
Default für filterSessionCookie auf true BPC-9926
For new backend connections of the type HTTP-Proxy and Flow, the option Filter BPC Session is enabled by default.
Affects: BPC Core | Dokumentation |
-
Strikte Konfiguration von jdk.tls.disabledAlgorithms in custom.java.security BPC-10167
If you use the file
custom.java.security, you should adjust the propertyjdk.tls.disabledAlgorithmsto make the TLS configuration stricter and therefore more secure.jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DTLSv1.0, RC4, DES, \ MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ ECDH, TLS_RSA_*, rsa_pkcs1_sha1 usage HandshakeSignature, \ ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature, \ TLSv1.2, X448, secp521r1, SHA1Affects: Dokumentation |
Documentation
-
OpenSearch 3 Migration BPC-10126
Instructions for migrating old indices during the migration to OpenSearch 3. See also Migration from BPC 4.* to BPC 5.0
Affects: Dokumentation | OpenSearch |
Dependency Updates
-
Update org.mariadb.jdbc:mariadb-java-client BPC-8738
Affects: BPC Core |
-
The use of Java 21 is now necessary.
Affects:
-
Update vaadinWebComponents monorepo BPC-9558
Affects: BPC Core |
-
Update OpenSearch to 3.2 BPC-9609
If BPC was initially installed with an OpenSearch version instead of an Elasticsearch version, then the
[bpc]/opensearch_datadirectory can be adopted directly.If not, indices must first be migrated.
See also Migration from BPC 4.* to BPC 5.0
Affects: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf | OpenSearch |
-
Update de.virtimo.bpc:nimbusLib BPC-9764
Affects: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-9897
Affects: BPC Core |
-
With this update, the Karaf version is upgraded to 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 delivering CXF 3.6.8 instead of 3.6.7, which provides Jackson in version 2.19.2.
Please update the CXF version (3.6.8) and Jackson version (2.19.2) in your
pom.xml. Check whether you have an Import-Package statement for this version. This must be added or adjusted if you use Jackson features such as theObjectMapperclass.<Import-Package> ... com.fasterxml.jackson.*;version="[2.17.2,3.0.0)", ... </Import-Package>Affects: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf |
-
Update com.networknt:json-schema-validator BPC-10032
Affects: BPC Core |
-
Update graaljs.version BPC-10206
Affects: Data Analysis |
-
Affects: BPC Core |
-
The core is now no longer transpiled into old ECMAScript and no polyfills are added anymore. This enables support for newer language features. This means that ExtJS packages should also have the following content in their
packages/local/PACKAGENAME/package.json:{ "...", "compressor": { "polyfills": "none" }, "language": { "js": { "output": "ANY" } } }Affects: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Forms |
Other
-
Support for INUBIT Identity Provider removed BPC-9482
INUBIT is no longer supported as an Identity Provider.
Affects: BPC Core | Dokumentation |
-
OpenAPI Spezifikation für Monitor Backend Services (Monitor Aktion, Prozess Starter, Change State, …) BPC-9553
Affects: Process Monitoring | Dokumentation |
-
Forms Renderer as a separate component BPC-9709
The renderer of the Forms module is now no longer included in
bpc-fe-forms, but is instead provided separately asbpc-forms-renderer. This makes it possible to update the renderer independently. When a BPC update occurs, the URL of the renderer in the Forms module is automatically changed tobpc-forms-renderer/index.html.The renderer is now available via Downloads.
Affects: BPC Core | Dokumentation | Forms | Karaf |
-
Element-Typ taskPanel und Monitor Settings function_interactionColumn und function_interactionFormId entfernen BPC-9961
The detail view element type "taskPanel" has been removed along with the associated settings
function_interactionColumnandfunction_interactionFormId.Affects: BPC Core | Process Monitoring | Dokumentation |
-
LogService backward compatibility BPC-10171
For a transitional period, the use of
childsinstead ofchildrenis still permitted. This does not affect the data structure when reading data.Affects: BPC Core | Dokumentation |