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.7
Release date: 2026-06-01
The following components must be updated with this update: BPC modules
New features
-
Extension of the Identity Management UI BPC-10722
The functions of the Identity Management User Interface are now also fully available when using Keycloak as an Identity Provider. Additionally, the frontend has been expanded to include the tabs Organizations, Roles, and Permissions.
In these tabs, organizations, roles, and permissions can be
-
listed,
-
newly created, and
-
deleted.
Furthermore, the users of these groups can be directly viewed and managed.
For organizations and roles (Keycloak as IdP only), role assignments can also be configured.
Further information can be found under Identitätsverwaltung.
Betrifft: BPC Core |
-
-
Textarea autogrow BPC-10703
The
autoGrowoption is now available fortextarea.Betrifft: Forms |
Improvements
-
Editing the endpoint in ModuleInstances Setting should not deselect the selection BPC-11089
It is now avoided that the selection is lost when editing the endpoint field (for HTTP proxies or IGUASU processors).
Betrifft: BPC Core |
-
Include inubit_dbTablePrefix as a parameter for the download endpoint BPC-11090
During the migration of BPC 4 settings, the
inubit_dbTablePrefixis now set as a URL parameter at thehttpProxy_referenceEndpoint.This step is only performed when migrating from BPC 4 to BPC >= 5.0.7.
Betrifft: BPC Core |
Bugs
-
Monitor actions cannot be executed BPC-11062
The error occurred when the primary key field on the monitor contained a field name that was partially capitalized. In this case, monitor actions could not be executed because the associated data could not be found.
Betrifft: Process Monitoring |
-
Forms cannot be scrolled BPC-10986
Betrifft: Forms |
-
Setting of type linkedModules should tolerate errors BPC-11065
An incorrect value in settings of type
linkedModulesno longer prevents the picker from being opened.Betrifft: BPC Core |
-
Query parameters on monitor download URL are not set correctly BPC-10903
Endpoints in the monitor, as well as HTTP proxy URLs, now support additional query parameters.
This can be useful, for example, to pass additional parameters to the INUBIT workflow via
httpProxy_referenceEndpoint.Betrifft: BPC Core | Process Monitoring |
Documentation
-
prefix-Parameter für Dateidownload mit INUBIT BPC-11091
Other
-
Switch INUBIT workflows to BPC 5 Monitor interface BPC-11084
The INUBIT workflow package now correctly accepts BPC 5 calls.
Most workflows are now no longer delivered in a protected state.
BPC 5.0.6
Release date: 2026-05-22
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. |
-
Do not convert data indices in the payload of Monitor Process Actions to lowercase BPC-10808
The property names of the records in the payload of process actions and process starters with context retain their original format and are no longer converted to lowercase.
Betrifft: Process Monitoring |
New features
-
Keycloak: Create and assign roles BPC-10719
If Keycloak is configured as the identity provider, new and existing roles can now be assigned to and removed from users in the BPC frontend. When creating new roles, they are created as realm or client roles depending on the configuration. In user management, the necessary Keycloak roles must be taken into account.
Betrifft: BPC Core |
-
File-Storage API: Creating file storage entries with cloud files that have not yet been uploaded BPC-10857
The File Storage API can now create entries by passing a cloud reference, even if the referenced file does not yet exist. To do this, the query parameter
check-filemust be passed with the valuefalseat the endpointPOST /cxf/bpc-core/file-storage/existing-file. This flag can also be provided in the Log Service when passing files as a cloud reference.This can be useful if the file is uploaded to the cloud provider at a later time or asynchronously.
Further information can be found under POST in Log Service with Cloud Storage Reference and under File Storage API.
Betrifft: BPC Core |
Improvements
-
Cell enlargement with intelligent space release in the dashboard BPC-9733
New window for conflict resolution when enlarging cells in the table layout, where decisions regarding the removal, moving, and shrinking of widgets can be made.
Betrifft: Process Dashboard |
-
Follow-Up: 400 Bad Request Response in non-be-core APIs BPC-10015
Analogous to BPC-9821, in addition to the BPC-Core, a Bad Request (400) error is now also returned in the REST endpoints of the corresponding modules if the HTTP body cannot be successfully deserialized.
Betrifft: Process Monitoring | Data Analysis | Forms | Process Collaboration | WebTSM |
-
Replication Jobs Frontend: Update widget icons enabled/disabled when updating the job/record BPC-10299
The state of the action buttons on the replication jobs has been corrected. It could happen that changes to the replication jobs did not affect the availability of the functions.
Betrifft: BPC Core |
-
Incorrect display of cache configuration removed BPC-10597
In the cache configuration, services that no longer exist were being accessed, which leads to errors. These accesses have been removed.
Betrifft: WebTSM |
-
Incorrectly displayed navigation when jumping between modules BPC-10733
It could happen that when calling modules, the navigation display was not updated correctly.
Betrifft: BPC Core |
-
Monitor-Export: Consider filters and views for child export BPC-10744
When exporting child data from the monitor, only the children of the parent entries that are visible according to the configured filters and views are exported.
Betrifft: Process Monitoring |
-
Manage View menu with empty entry BPC-10791
The menu for monitor views no longer displays an empty placeholder when no view is selected.
Betrifft: Process Monitoring |
-
Do not convert data indices in the payload of Monitor Process Actions to lowercase BPC-10808
The property names of the records in the payload of process actions and process starters with context retain their original format and are no longer converted to lowercase.
Betrifft: Process Monitoring |
-
Monitor API no longer adds internal
_idfield to the data BPC-10810Previously, the OpenSearch internal field
_idwas always added to the monitor data. This is an unexpected extension of the actual document.If this field is used in the monitor configuration, it should be switched to the correct primary key of the data. When using the Log Service, this can be found in https://docs.virtimo.net/de/bpc-docs/5.0/core/admin/modules/log_service.html#parentKeyFields. When using replication, in https://docs.virtimo.net/de/bpc-docs/5.0/core/admin/modules/replication.html#idColumns.
Betrifft: Process Monitoring |
-
Made the start of Karaf more robust BPC-10853
When starting Karaf, a
Failed to process eventerror could occur under certain circumstances.Betrifft: BPC Core |
-
Update OpenSearch BPC-10859
Update OpenSearch according to the update guide
Betrifft: BPC Core | Process Monitoring | Forms | OpenSearch |
-
Monitor Export: Warnings and errors can overload the log BPC-10899
During export, identical warnings and errors are now logged only once instead of for each exported entry.
Betrifft: Process Monitoring |
-
Revision of the interface texts BPC-10913
In WebTSM, the interface texts have been revised to ensure consistent support for multiple languages.
Betrifft: WebTSM |
-
Performance Optimization in WebTSM Manager BPC-10941
Betrifft: WebTSM |
-
Karaf start optimized BPC-10952
Betrifft: Karaf |
-
Backup jobs may not be started under certain circumstances. BPC-10980
Under certain circumstances, it could happen that when starting Karaf, the Backup Manager would not start due to an error.
Betrifft: BPC Core |
-
Look&Feel of the tables in WebTSM aligned with the BPC standard BPC-11015
Betrifft: WebTSM |
-
Web TSM: Truncated field labels BPC-11016
The display of texts in the interface has been revised so that texts are fully visible.
Betrifft: WebTSM |
-
Web TSM Removal of the interface for translation texts BPC-11019
Betrifft: WebTSM |
-
Prevent incorrect login state caused by asset fallback to root path (/) BPC-11045
If the index page was called by the browser when loading the BPC Web-GUI due to incorrect URLs for resources (images, scripts, stylesheets, …), problems could occur during the verification of the login. This could only occur with OIDC-based identity providers.
A possible trigger can be, for example, a faulty theme.
Betrifft: BPC Core |
Security
-
Hardening of the SSH interface (Port 8101) to secure the Karaf console BPC-10927
The configuration
org.apache.karaf.shell.cfgin Karaf has been revised.Host-Key & Signatures: Switched to RSA 4096 and modern SHA-2 procedures (rsa-sha2-512/256); deactivated insecure NIST curves (ECDSA).
Protocol Hardening: Restricted to secure key exchange procedures (Curve25519), AES-GCM encryption, and Encrypt-then-MAC (EtM).
Important - If Karaf is not completely updated and only the configuration file is adopted, then the file
etc/host.keymust be deleted.Betrifft: Karaf |
Bugs
-
Regression: Process action ID is no longer transmitted when submitting a form BPC-10907
The payload of the form submit now contains the
actionConfigagain and thus also the ID of the process action.Betrifft: Forms |
-
Forms Renderer URL and API keys are not being migrated BPC-10813
Fix: During an update, the settings
apiKeys(Core) andrendererUrl(Forms) are correctly migrated.apiKeysis converted from a map to an array, and inrendererUrl, "bpc-forms-renderer/index.html" is set as the value.Betrifft: BPC Core |
-
Monitor-Widget: Filter is lost when changing pages BPC-10579
Betrifft: Process Monitoring |
-
Connection issues in HttpProxy BPC-10666
A problem has been resolved where larger amounts of data were only partially transferred in the HttpProxy.
Betrifft: BPC Core |
-
Updating
bpc-fe-core.wardoes not lead to an update of the index.jsp BPC-10706After a BPC update to version 5.0.4 or 5.0.5, an error
HTTP ERROR 500 javax.servlet.ServletException: javax servlet.ServletException: java lang.NoSuchMethodError: 'java lang.String de.virtimo.bpc.api.service.CoreBundleService.getUserFlowIdentityProviderLoginRedirectUrl(javax.servlet.http.HttpServletRequest)'could occur when accessing the BPC interface. This error has now been resolved.The error occurred when a part of the interface (
index.jsp) was not directly updated by the update and an OIDC/Karaf Identity Provider was used.If an update to this version is not possible, the error can be resolved by deleting the directory
<BPC-INSTALL-DIR>/karaf/data/pax-web/and restarting the Apache Karaf.Betrifft: BPC Core |
-
Demo Module Code Preview broken BPC-10743
Betrifft:
-
Flow: IGUASU service URL with HTML response prevents display of processors (Ext.decode error) BPC-10788
Fix: Secure decoding prevents processor loading in monitor settings from failing
Betrifft: BPC Core |
-
FileStorage - Uploading files is not scrollable BPC-10815
Betrifft: BPC Core |
-
Radiogroup with hard-coded preselection crashes application BPC-10835
Radiogroups crashed the application on startup when a fixed value was used instead of data binding as the value. This issue has been resolved.
Betrifft: Forms |
-
"dataLoadInitial" in a process starter causes the BPC interface to crash BPC-10847
Betrifft: Process Monitoring |
-
Function filterRespectOtherColumns does not pass timezoneName/Offset - this leads to incorrect results when filtering on a date field BPC-10854
Betrifft: BPC Core | Process Monitoring |
-
Fixed license error for licenses without flow instances BPC-10896
Betrifft: BPC Core |
-
OpenSearch Exception in the WebTSM module: too_many_buckets_exception BPC-10930
Betrifft: WebTSM |
-
Forms in inline detail view disappears on reload BPC-10988
Betrifft: Forms |
-
Forms does not fill out detail view BPC-10989
Betrifft: Forms |
-
JSON Picker - Tooltip broken when filter list is empty BPC-10995
Betrifft: Process Monitoring |
-
Message from Failure Response is not displayed at Process Starter BPC-11010
Error messages are correctly displayed again when starting processes. File downloads via action responses are working again. The loading of value lists for process starter comboboxes has been fixed. The
successfield of the return supports regular booleans (true/false) as well as strings ("true"/"false").Betrifft: BPC Core | Process Monitoring |
-
Storage-API: GET endpoint filter/query cannot search on value and additionalProperties BPC-9846
The
GETendpoint of the Storage API can now also filter byvalueandcustomFieldsusing thequeryandfilterparameters. To filter by subfields, use dot-separated syntax:value.name:Aliciafilters entries where thenamefield invaluehas the valueAlicia.Since storage indices do not contain timestamp fields, the parameters
timezoneOffsetandtimezoneNamehave been removed from theGETendpoint.For BPC Module Developers If you use the
StorageServiceclass and itsgetItemsfunctions in your BPC modules, please note that these have been marked as deprecated and have been replaced with a variant without thetimeZoneIdparameter.Betrifft: BPC Core |
Documentation
-
Developer Documentation: Structuring Navigation BPC-9041
The developer documentation has been restructured: core:/dev/tutorials/index.adoc
Betrifft: Dokumentation |
-
Documenting the monitor’s caching mechanism BPC-10082
The monitor’s caching mechanism (state in local storage) in interaction with the monitor settings has been precisely described.
Betrifft: Dokumentation |
-
Doc: No BPC version case differentiation for old versions in BPC5 doc BPC-10263
-
Revise adjustUpperDateLimitInSeconds documentation BPC-10490
Correction of the Replication documentation regarding the Replication_AdjustUpperDateLimitInSeconds setting, which is not limited to specific database management systems.
-
Renew documentation for monitor views BPC-10792
The documentation for monitor views has been updated. See monitor:/admin/process_views.adoc
Betrifft: Dokumentation |
Dependency Updates
-
Update ace-diff BPC-10678
Betrifft: BPC Core |
-
Update froala-editor BPC-10876
Betrifft: BPC Core |
-
Update commons-io:commons-io BPC-10940
Betrifft: BPC Core |
-
Update graaljs.version BPC-10947
Betrifft: Data Analysis |
-
Update Karaf BPC-10961
With this update, the version of Apache Karaf is raised to 4.4.11.
Please update Karaf according to the update guide.
-
Update ajv BPC-10972
-
Update com.azure:azure-identity BPC-10985
Betrifft: BPC Core |
-
Update dompurify BPC-11012
-
Update marked BPC-11013
Betrifft: BPC Core |
-
Update com.google.cloud.google-cloud-storage.version BPC-11026
Betrifft: BPC Core |
-
Update com.nimbusds:oauth2-oidc-sdk BPC-11038
Betrifft: WebTSM |
-
Update ace-builds BPC-11040
Betrifft: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-11051
Betrifft: BPC Core |
-
Update com.azure:azure-storage-blob BPC-11052
Betrifft: BPC Core |
Other
-
WebTSM Manager possible optimization due to volume structures BPC-10519
-
Performance improvement: detail aggregation for time series is now only loaded on the first page
-
Read setting
search_searchWithCommit(execute search only on Enter) -
New setting
attributes_maxInlineValues(limit inline values, overflow handled in a separate search window) -
Attribute values are now displayed in a collapsible tree
-
Warning for exceeding attribute limits moved to the header
-
Improved performance through optimized access to attribute and value names
Betrifft: WebTSM |
-
BPC 5.0.5
Release date: 2026-03-26
The following components must be updated with this update: BPC modules
Breaking Changes
|
You should read the descriptions in this section carefully. It may contain instructions that you must follow for an update. |
-
Correction of the monitor setting
data_filterBPC-10724Incorrect behavior in the monitor regarding the
data_filtersetting has been fixed: If you usedORas the conjunction and did not set a base filter, all records were displayed despite filter rules.With an
ANDconjunction, the base filter was negated and combined with the other filter rules using a logicalAND. This was not correct; the base filter is now also not negated here and indicates which documents are generally visible. This means that a record is visible if it is matched by the base filter OR by all session-specific filter rules.Attention: If you use monitor instances with
data_filterin your BPC deployment, please verify whether they still function as intended.More details about the
data_filtersetting can be found here: Restrict visibility of monitor dataBetrifft: Process Monitoring | Dokumentation |
New features
-
OpenSearch user/role for scraping Prometheus metrics and updating the keystore/truststore BPC-10736
-
The
virtimo_keystore.jksandvirtimo_truststore.jkshave been newly created. -
The key size has been increased from 2048 bits to 4096 bits.
-
The certificates contained in the keystore (karaf, opensearch_bpc, opensearch_node, prometheus_scraper) now also include the Root CA in their chain.
-
The
prometheus_scrapercertificate has been added (for access to the OpenSearch Prometheus metrics via mTLS). -
The
prometheus_scrapercertificate sets the CN toprometheus-scraper. -
OpenSearch is now configured so that the user
prometheus-scraperis assigned the role 'prometheus_metrics'. -
The new OpenSearch role 'prometheus_metrics' only has the necessary rights to access the
https://example.com:9200/_prometheus/metricsendpoint.
Betrifft: Dokumentation | Karaf | OpenSearch |
-
Improvements
-
JSON schema for function_gridMultipleViewsConfig BPC-7547
For the monitor setting function_gridMultipleViewsConfig, a JSON schema has been provided. This offers guidance during configuration and helps to avoid incorrect configurations.
Betrifft: Process Monitoring |
-
Simultaneous import of multiple deployment files BPC-10585
Betrifft: BPC Core |
-
Replication: Endless loop detected due to exception BPC-10725
Betrifft: BPC Core |
-
WebTSM bundle start with exception that the timeseries jobs could not be started BPC-10731
Betrifft: BPC Core |
Bugs
-
Tailsync leads to connection problems BPC-10765
In TailSync, the database connection was not closed correctly. This leads to all connections in the connection pool becoming blocked over time.
Betrifft: BPC Core |
-
Process Actions Response does not return an error message in case of a parse error. BPC-8443
Betrifft: BPC Core | Process Monitoring | Dokumentation |
-
Monitor CSS rule changes the layout of all column headers BPC-10670
Column headers and, in some cases, contents were unintentionally displayed centered. The background of the filters on checkbox columns was sometimes not displayed correctly.
Betrifft: BPC Core | Process Monitoring |
-
Correction of the monitor setting
data_filterBPC-10724Incorrect behavior in the monitor regarding the
data_filtersetting has been fixed: If you usedORas the conjunction and did not set a base filter, all records were displayed despite filter rules.With an
ANDconjunction, the base filter was negated and combined with the other filter rules using a logicalAND. This was not correct; the base filter is now also not negated here and indicates which documents are generally visible. This means that a record is visible if it is matched by the base filter OR by all session-specific filter rules.Attention: If you use monitor instances with
data_filterin your BPC deployment, please verify whether they still function as intended.More details about the
data_filtersetting can be found here: Restrict visibility of monitor dataBetrifft: Process Monitoring | Dokumentation |
-
Missing translations for "MONITOR_ERROR_RETRIEVING_DATA" BPC-10766
Betrifft: Process Monitoring |
Documentation
-
Expand flow documentation to include possible use in the monitor BPC-9436
See Flow
Betrifft: Dokumentation |
-
Connection BPC → Iguasu BPC-10205
The use of Flow for Forms has been described in detail. See Connection of IGUASU to the BPC
Betrifft: Dokumentation |
-
Extension Migration Guide BPC-10302
Betrifft: Dokumentation |
-
OpenSearch Tool BPC-10520
Betrifft: BPC Core | Dokumentation |
-
Own configuration page for Flow module BPC-10732
Betrifft: Dokumentation |
-
Multiple grid settings (function_gridMultipleViewsConfig) BPC-10750
The documentation on multiple grid settings (function_gridMultipleViewsConfig) has been updated. See Configuration of multiple grids/views
Betrifft: Dokumentation |
-
OpenSearch "config" folder was not replaced by a "placeholder" BPC-10770
See OpenSearch
Betrifft: Dokumentation |
-
Monitor Data Filter - Better Examples BPC-9109
Example of a dynamic filter value added with #user.loginName#. See Restrict visibility of monitor data
Betrifft: Dokumentation |
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.)Betrifft: 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.Betrifft: 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.
Betrifft: WebTSM |
-
Data Management module backend removed BPC-10696
The Data Management module no longer has a standalone backend component (
bpc-be-vam.jar). This component must be removed during the update.To perform the update, first remove
bpc-be-vam.jarand then deploy the updatedbpc-fe-vam.war.The Data Management module has now been integrated into the regular release cycle.
Betrifft: Karaf | Data Management |
-
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.Betrifft: 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.
Betrifft: BPC Core | Process Monitoring | Dokumentation |
New features
-
Display JSON files in a formatted way in child logs BPC-10378
Betrifft: 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" }, ... } }
-
-
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.
Betrifft: 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: 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}" } } } -
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.Betrifft: BPC Core | Process Monitoring | Dokumentation | Karaf |
-
-
Window resizes in the dashboard should not be considered unsaved changes BPC-8057
Betrifft: 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.
Betrifft: Process Monitoring |
-
Provide process context when the process starter is called via action BPC-10275
Betrifft: 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.
Betrifft: Forms |
-
"disabled": true make functional for all Forms components (including table columns/cells) BPC-10300
Betrifft: Dokumentation | Forms |
-
Texts in the interface adapted for multilingualism BPC-10436
Betrifft: 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_groupDirectionBetrifft: 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
-
Betrifft: 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.)Betrifft: 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.
Betrifft: WebTSM |
-
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.
Betrifft: 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.Betrifft: 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.
Betrifft: Forms |
-
"Show module" does not always work in the WebTSM frontend BPC-10606
-
Monitor export: Start download immediately for streamable format BPC-10631
Betrifft: Process Monitoring |
-
Better validation of index names BPC-10633
Betrifft: 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.
Betrifft: WebTSM |
-
Fallback for instance type translations in the InstanceGrid BPC-10654
Betrifft: 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.
Betrifft: WebTSM |
-
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.
Betrifft: BPC Core |
-
Typo in the replication editor BPC-10664
Betrifft: BPC Core |
-
Missing language keys in en.json BPC-10695
Betrifft: BPC Core |
-
BpcCommon.Api.getCsrfToken should only return a copy of the object BPC-10717
Betrifft: BPC Core |
-
Suppress the browser’s Basic Auth popup for flow requests BPC-10727
Betrifft: BPC Core | Dokumentation |
-
Improve theming of selection options in the calendar BPC-9516
Betrifft:
-
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.Betrifft: BPC Core |
-
"Non-default" marker in bpcConfigSettings too large BPC-10307
Betrifft: 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
Betrifft: BPC Core |
Bugs
-
viewmode "tabbed" does not display any tabs BPC-10624
Betrifft: BPC Core |
-
Process Actions Response does not return an error message in case of a parse error. BPC-8443
Betrifft: 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 "*").
Betrifft: Process Monitoring | Dokumentation |
-
OpenAPI schema documentation incorrect BPC-9803
The error in the schema generation of some DTO classes has been fixed.
Betrifft: 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.
Betrifft: Process Monitoring |
-
New installation: Indexes are missing BPC-10045
Betrifft: BPC Core | Process Monitoring |
-
BPC DetailView PopUp process details are rendered empty if header was hidden before BPC-10180
Betrifft: 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
Betrifft: 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 theviewConfigurationBetrifft: BPC Core |
-
Form in the Process Monitor popup view does not scale to fill the space BPC-10326
Betrifft: Process Monitoring | Forms |
-
Number filter is not applied when switching modules BPC-10381
Betrifft: 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].
Betrifft: 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 ConfigurationBetrifft: Process Monitoring |
-
Fixed error when retrieving roles, permissions, and organizations during login in the BPC frontend BPC-10443
Betrifft: BPC Core |
-
Troubleshooting in the Process Monitor: DynamicList filters in integer fields (Integer, Long) are working again BPC-10596
Betrifft: BPC Core | Process Monitoring |
-
Layout error checkbox group BPC-10600
The spacing issues of checkboxes within a checkbox group have been fixed.
Betrifft: Forms |
-
Monitor: Troubleshooting when retrieving all different values for filtering in fields with numeric values BPC-10612
Betrifft: 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.
Betrifft: Process Monitoring |
-
Process Monitor: Column filters correctly take the global filter into account BPC-10647
Betrifft: 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.Betrifft: Process Monitoring |
-
Monitor configuration panel hangs due to missing Column_Configs BPC-8191
Betrifft: Process Monitoring |
Documentation
-
Forms Binding BPC-10599
The documentation on binding in Forms has been expanded.
See:
Betrifft: Dokumentation |
-
Metadata example in process status change configuration BPC-10671
Betrifft: Dokumentation |
Dependency Updates
-
Update OpenSearch BPC-10342
Update OpenSearch according to the update guide
Betrifft: BPC Core | Process Monitoring | Dokumentation | Forms | OpenSearch |
-
Update ace-builds BPC-10550
Betrifft: BPC Core |
-
Update com.azure:azure-storage-blob BPC-10588
Betrifft: BPC Core |
-
Update com.nimbusds:oauth2-oidc-sdk BPC-10592
Betrifft: BPC Core |
-
Update Karaf BPC-10608
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}.Betrifft: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf | OpenSearch |
-
Update ajv BPC-10618
-
Update froala-editor BPC-10640
Betrifft: BPC Core |
-
Update marked BPC-10642
Betrifft: BPC Core |
-
Update com.google.cloud.google-cloud-storage.version BPC-10712
Betrifft: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-10714
Betrifft: BPC Core |
Other
-
Support for Postgres JSONB columns in replication BPC-10555
Betrifft: BPC Core |
-
Data Management module backend removed BPC-10696
The Data Management module no longer has a standalone backend component (
bpc-be-vam.jar). This component must be removed during the update.To perform the update, first remove
bpc-be-vam.jarand then deploy the updatedbpc-fe-vam.war.The Data Management module has now been integrated into the regular release cycle.
Betrifft: Karaf | Data Management |
BPC 5.0.3
Release date: 2026-01-23
The following components must be updated with this update: BPC modules
New features
-
Implementation of a “Copy to Clipboard” feature for Flow URLs in Forms BPC-10295
The URLs for Flow endpoints can be copied directly from the Flow Manager to the clipboard and reused, for example, for form submission URLs.
Betrifft: BPC Core | Dokumentation |
-
Prometheus Support via OpenSearch Metrics BPC-10297
The prometheus-exporter plugin is now included by default with OpenSearch.
Betrifft: OpenSearch |
Improvements
-
Introduction of OIDC Access Token Authentication for the BPC API BPC-9610
The BPC API now also supports authentication using access tokens issued by the configured OIDC provider. Authentication via access tokens must be explicitly enabled in the identity provider configuration. In addition to validating the signature and validity of the access token, the OIDC provider’s introspection endpoint can also be used, which additionally checks whether the session has been terminated (token revocation). Further information can be found here: Access tokens and Keycloak as an identity provider.
Betrifft: BPC Core | Dokumentation |
-
BPC Frontend: Custom modules should be able to interrupt routing in BPC BPC-10507
In the frontend, the global event
beforeShowModuleis triggered before switching to a new view (module or module component). The following parameters are passed: the module ID of the current view, the module ID of the new view to be displayed, and additional options. If an event listener returnsfalse, the switch to the new view is canceled. If this behavior is implemented, the user should also receive feedback explaining why the switch was canceled.Betrifft: BPC Core |
Bugs
-
gridActionColumn buttons remained incorrectly disabled in inline detail views BPC-10518
Starting with BPC 4.2.13 and 4.1.25, process actions were no longer displayed in child grids. This issue has been resolved, and process starters are no longer incorrectly displayed in the child grid.
Betrifft: Process Monitoring |
-
Closing the WebClient from the HttpProxy causes errors BPC-10523
The behavior introduced in BPC 4.2.16 and 5.0.2, whereby the connection is explicitly closed in the backend connection, sometimes led to issues where responses from the server were not transmitted at all or were transmitted incompletely.
Betrifft: BPC Core |
-
Optimizing the breadcrumb logic BPC-10375
The BPC Breadcrumb Plugin is displayed again
Betrifft: BPC Core |
-
Errors during component creation BPC-10403
Betrifft: BPC Core |
Dependency Updates
-
Update graaljs.version BPC-10524
Betrifft: Data Analysis |
-
Update software.amazon.awssdk:s3 BPC-10525
Betrifft: BPC Core |
-
Update froala-editor BPC-10526
Betrifft: BPC Core |
-
Update com.azure:azure-storage-blob BPC-10527
Betrifft: BPC Core |
-
Update com.github.freva:ascii-table BPC-10528
Betrifft: BPC Core |
-
Update com.google.cloud.google-cloud-storage.version BPC-10529
Betrifft: BPC Core |
-
Update marked BPC-10531
Betrifft: 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
Betrifft: BPC Core | Dokumentation | Forms |
-
AI Assistant BPC-9724
Betrifft: 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.
Betrifft: 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.
Betrifft: BPC Core |
-
Additional HTTP headers for using HTTP proxy connections BPC-10339
It is now possible to store additional headers on the HTTP proxy, which will be sent to the server.
Betrifft: BPC Core |
-
Import function for OpenSearch indexes BPC-10382
Analogous to the import of module settings, we now offer the possibility to import preconfigured OpenSearch indices, see Installation with preconfigured BPC.
Betrifft: BPC Core | Dokumentation |
Improvements
-
Accelerated Karaf Start BPC-9395
Betrifft: 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.Betrifft: BPC Core |
-
“externalReference” data field by default in the Log Service configuration BPC-10172
When creating a Logservice instance, the External Reference field is now included in the default configuration. In addition, the field types
objectandflat_objecthave been added.Betrifft: BPC Core | Dokumentation |
-
Erweiterung des TLS Security Checks BPC-10193
-
Security Check HTTP BPC-10194
A security check has been introduced to ensure that BPC is only accessible via HTTPS.
Betrifft: BPC Core |
-
Correct display of the checkbox in bpcCheckColumn for On/Off values BPC-10224
Betrifft: 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.Betrifft: BPC Core | Dokumentation | Karaf |
-
The tooltip containing the link to the Quartz Scheduler documentation is unclickable BPC-10312
Tooltips with URL links can be accessed with the cursor without them disappearing.
Betrifft: BPC Core |
-
Replication does not replicate records if the source table contains only future records BPC-10318
Betrifft: BPC Core |
-
Deployment: Bundles Differ incorrectly detects a difference BPC-10388
Betrifft: BPC Core |
-
Monitor JSON Export per Default aktivieren BPC-10444
Betrifft: Process Monitoring | Dokumentation |
Bugs
-
Adjustable monitor export limits are unclear and are ignored during export 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 processesBetrifft: 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.
Betrifft: 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>".
Betrifft: BPC Core |
-
Fehler im Data Analysis Datensatz Modifikator BPC-10246
Betrifft: 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.
Betrifft: BPC Core |
-
Security Checks: Datum wird bei Messung nicht erfasst BPC-10315
Security check measurements now record a timestamp again.
Betrifft: BPC Core |
-
Security Cockpit erfasst nicht alle Checks BPC-10320
Betrifft: BPC Core |
-
HttpProxyCheck: Zu viele Checks BPC-10340
The HttpProxySecurityCheck is executed only once per instance.
Betrifft: BPC Core |
-
Applikationsbereich mit ViewMode Tabbed zeigt Navigationsleiste an BPC-10374
Betrifft: 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.
Betrifft: 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.
Betrifft: BPC Core |
Documentation
-
Feedback zur Dokumentation - Administrationsbereich BPC-10383
The "Users" section in the documentation page "BPC Administration" is described in more detail. See BPC Administration
Betrifft: Dokumentation |
-
Feedback zur Dokumentation - Prozess Aktionen BPC-10400
Extended description of the process action configuration. See Configuration of process actions
Betrifft: Process Monitoring | Dokumentation |
-
Prozessstatuswechsel Konfiguration dokumentieren BPC-9448
Detailed documentation of the process status change configuration. See Process status change
Betrifft: Dokumentation |
-
Neue Chrome-Sicherheitsfunktion dokumentieren BPC-9468
Betrifft: Dokumentation |
-
BPC→Developer-Dokumentation→API Keys aktualisieren BPC-9470
Betrifft: Dokumentation |
-
Neue Features des Monitor Exports dokumentieren BPC-9488
The documentation of formatters in columns and formatters in export has been improved.
Betrifft: Dokumentation |
-
"simpleDate" und "date" Filtertypen aus der Doku entfernen BPC-9656
Betrifft: Dokumentation |
-
Tab-Darstellung in BPC-Dokumentation verwenden BPC-9861
Betrifft: 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
Betrifft: BPC Core | Process Monitoring | Process Dashboard | Data Analysis | Dokumentation | Forms |
-
Nutzersteuerung: Dokumentiere, dass "Add to access token" im Role-Mapper notwendig ist. BPC-10306
Betrifft: Dokumentation |
-
Analysis Beispiel mit replizierten Daten dokumentieren BPC-10310
Betrifft: Dokumentation |
-
Data Analysis Chart Design Dokumentation ausführlicher gestalten. BPC-10351
See Chart Editor
Betrifft: Data Analysis | Dokumentation |
-
Syntax-Highlighting für Windows bat/cmd BPC-10414
Betrifft: Dokumentation |
Dependency Updates
-
Update com.networknt:json-schema-validator BPC-10237
-
Update froala-editor BPC-10330
Betrifft: BPC Core |
-
OpenSearch 3.3.0 BPC-10353
-
Update org.quartz-scheduler:quartz BPC-10357
Betrifft: BPC Core |
-
Update org.slf4j:slf4j-nop BPC-10358
Betrifft: BPC Core |
-
Update apache-poi monorepo BPC-10359
Betrifft: Process Monitoring |
-
Update ace-builds BPC-10361
Betrifft: BPC Core |
-
Update dompurify BPC-10394
-
Update org.apache.commons:commons-text BPC-10453
Betrifft: BPC Core |
-
Update vaadinWebComponents monorepo BPC-10498
Betrifft: BPC Core |
-
Update de.virtimo.bpc:nimbusLib BPC-10500
Betrifft: BPC Core |
-
Update ace-diff BPC-10501
Betrifft: BPC Core |
-
Update software.amazon.awssdk:s3 BPC-10503
Betrifft: 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.
Betrifft: BPC Core |
New features
-
Link Plugins BPC-7024
Two new plugins have been added to link to internal or external content. See also External Link and Internal Link
Betrifft: BPC Core | Dokumentation |
-
Manual 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.
Betrifft: 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.
Betrifft: BPC Core | Dokumentation |
-
Logging of Tail Sync calls 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.
Betrifft: BPC Core | Dokumentation |
-
Marking of changed settings BPC-9973
The marking of settings that have values differing from the default has been changed.
Betrifft: 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.Betrifft: 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.
Betrifft: 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.Betrifft: BPC Core |
-
Beim Deinstallieren von Bundles kommt es zu Exceptions BPC-10228
Betrifft: 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.
Betrifft: 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
Betrifft: 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: BPC Core |
-
Opensearch Exception, wenn bpcCheckColumn einen anderen Typ als boolean hat BPC-9662
Betrifft: BPC Core | Process Monitoring |
-
Keycloak Admin Implementierung kann nur mit einer oidcDiscoveryUrl umgehen BPC-9727
Betrifft: 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
Betrifft: BPC Core |
-
Issue URL: https://virtimo.atlassian.net/browse/BPC-10007 BPC-10007
Buttons that discard local changes now have a better text description.
Betrifft: 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.
Betrifft: Data Analysis |
-
Incorrect default value in
KARAF/etc/de.virtimo.bpc.core.security.checks.cfgBPC-10267In the configuration file, the value for
deleteCheckResultsOlderThanmust be changed from10 daysto10 days ago.Betrifft: BPC Core | Dokumentation | Karaf |
-
Backend connections cannot be created BPC-10301
Betrifft: BPC Core |
-
Fehler nach Upgrade auf OpenSearch 2.15.0 - StatusConsoleListener - java.lang.RuntimePermission - accessUserInformation BPC-9022
Betrifft: 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.Betrifft: 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.
Betrifft: BPC Core | Dokumentation |
-
Java JDK 21 BPC-9312
The use of Java 21 is now necessary.
Betrifft:
-
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
Betrifft: BPC Core | Dokumentation |
-
-
Support for INUBIT Identity Provider removed BPC-9482
INUBIT is no longer supported as an Identity Provider.
Betrifft: 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.
Betrifft: 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.Betrifft: 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.Betrifft: 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.
Betrifft: 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.)Betrifft: 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.Betrifft: 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.
Betrifft: 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
Betrifft: 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.
Betrifft: BPC Core |
-
OpenAPI Spezifikation für REST API BPC-8513
With this update, it is necessary to update the Karaf.
Betrifft: BPC Core | Dokumentation | Forms | Karaf |
-
Security Cockpit BPC-8528
A Security Cockpit is now offered in the administration area, providing an overview of application security.
For details, see Security cockpit
Betrifft: 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))Betrifft: BPC Core | Dokumentation |
-
Einfacher Chat BPC-8725
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
Betrifft: 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
Betrifft: BPC Core | Dokumentation |
-
-
Referenz im Auditlog BPC-8824
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.
Betrifft: 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 ReplicationBetrifft: 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: BPC Core | Dokumentation |
-
BPC File Storage API BPC-9807
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.
Betrifft: 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.
Betrifft: 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
Betrifft: 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.Betrifft: BPC Core | Dokumentation |
-
Validation results in the
stateBPC-8481Results from the validation are now stored in the
state. This means they can also be used for bindings, for example. See alsovalidateBetrifft: 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: BPC Core | Process Monitoring | Dokumentation |
-
Prometheus Metrik: BPC Status (Gesamtstatus aller BPC Module) BPC-8904
Betrifft: 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.Betrifft: OpenSearch |
-
Replication: Bessere Fehlermeldung bei Timeouts BPC-9064
Betrifft: 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.
Betrifft: 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.
Betrifft: 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.Betrifft: 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
Betrifft: 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
Betrifft: BPC Core | Dokumentation |
-
-
Erweiterung der Standardrechte für Rolle
bpcuserBPC-9505The 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.
Betrifft: 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.
Betrifft: BPC Core | Dokumentation |
-
Log Service Konfiguration in einzelne Unter-Settings überführen BPC-9598
Betrifft: 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.
Betrifft: BPC Core |
-
HTTP Proxy: Support for OPTIONS and PATCH BPC-9612
The HTTP proxies configured in BPC now also forward OPTIONS and PATCH requests.
Betrifft: BPC Core | Dokumentation |
-
Revision of Link Notifications 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).
Betrifft: BPC Core | Dokumentation |
-
Submit Improvement BPC-9636
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.
Betrifft: 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.Betrifft: 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
Betrifft: Process Monitoring | Dokumentation |
-
Enabling grouping in bpcConfigSettings 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.
Betrifft: BPC Core |
-
Names of groups to settings BPC-9738
There are now multilingual labels on groups of settings.
Betrifft: 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.
Betrifft: 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.Betrifft: BPC Core | Process Monitoring | Dokumentation |
-
Renaming in Log Service: Settings with “Elasticsearch” in the name BPC-9813
Betrifft: 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.Betrifft: 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.
Betrifft: BPC Core |
-
Various improvements to the Forms module BPC-9946
Betrifft: Dokumentation | Forms |
-
Optimizing Boolean Editing in 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 is shown. The value can be changed by clicking, pressing the space bar, or pressing Enter.
Betrifft: BPC Core |
-
Design Update BPC-9974
The appearance of BPC has been updated.
Betrifft: BPC Core | Process Monitoring | Process Dashboard |
-
ServiceNotFoundException when selecting a backend connection for the process starter BPC-9995
Betrifft: BPC Core |
-
Flexible arrow spacing for menu buttons BPC-10060
Buttons can now use the classes
arrow-spacing-sm(small) andarrow-spacing-xs(extra small) to reduce the spacing of the arrow.Betrifft:
-
Backend bundles should not contain a feature.xml file 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>Betrifft: 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
Betrifft: 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.
Betrifft: BPC Core |
-
0 Label for CustomRenderer in the 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.
Betrifft: 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.
Betrifft: 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.
Betrifft: 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.Betrifft: BPC Core |
-
Setting identityProvider_ussUrl removed BPC-9046
The unused setting
identityProvider_ussUrlhas been removed.Betrifft: 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.Betrifft: BPC Core | Dokumentation |
-
Event Erstellung von der veralteten Dictionary auf Map umstellen BPC-9483
When handling events,
Mapshould be used instead ofDictionary.Betrifft: 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.
Betrifft: 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.Betrifft: 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.
Betrifft: 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.
Betrifft: 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.)Betrifft: BPC Core | Dokumentation |
-
Change the default value for filterSessionCookie to true BPC-9926
For new backend connections of the type HTTP-Proxy and Flow, the option Filter BPC Session is enabled by default.
Betrifft: BPC Core | Dokumentation |
-
Strict configuration of
jdk.tls.disabledAlgorithmsincustom.java.securityBPC-10167If 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, SHA1Betrifft: Dokumentation |
Bugs
-
Sprung von Setting in Auditlog filtert nicht korrekt BPC-10341
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
Betrifft: Dokumentation | OpenSearch |
Dependency Updates
-
Update org.mariadb.jdbc:mariadb-java-client BPC-8738
Betrifft: BPC Core |
-
Java JDK 21 BPC-9312
The use of Java 21 is now necessary.
Betrifft:
-
Update vaadinWebComponents monorepo BPC-9558
Betrifft: 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
Betrifft: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf | OpenSearch |
-
Update de.virtimo.bpc:nimbusLib BPC-9764
Betrifft: BPC Core |
-
Update CXF BPC-9852
-
Update software.amazon.awssdk:s3 BPC-9897
Betrifft: BPC Core |
-
Update Karaf BPC-9960
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>Betrifft: BPC Core | Process Monitoring | Data Analysis | Dokumentation | Forms | Karaf |
-
Update com.networknt:json-schema-validator BPC-10032
Betrifft: BPC Core |
-
Update dompurify BPC-10086
-
Update graaljs.version BPC-10206
Betrifft: Data Analysis |
-
Update ace-builds BPC-10213
Betrifft: BPC Core |
-
Update ExtJS BPC-9567
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" } } }Betrifft: 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.
Betrifft: BPC Core | Dokumentation |
-
OpenAPI Spezifikation für Monitor Backend Services (Monitor Aktion, Prozess Starter, Change State, …) BPC-9553
Betrifft: 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.
Betrifft: 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.Betrifft: 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.Betrifft: BPC Core | Dokumentation |