Administration changelog

This page shows changes that are included in the releases of the individual versions and are explicitly relevant for administrators. Administrators are persons who carry out updates to the BPC and perform administrative configuration in the BPC.

For a list of all changes, see Changelog.

BPC 4.2.16

Release date: 2026-01-16

The following components must be updated with this update: BPC modules | Karaf

Improvements

  • Unser Karaf startet über 10mal langsamer als ein Vanilla Karaf BPC-9395

    Affects: Karaf |

BPC 4.2.15

Release date: 2025-11-17

The following components must be updated with this update: BPC modules | Karaf | Java

Improvements

  • Unterstützung von OIDC Login mit aktiviertem PKCE BPC-8198

    BPC now supports PKCE (Proof Key for Code Exchange) for OpenID Connect and Keycloak Identity Provider to enable a hardened login flow. To activate this, you need to set the PKCE method in the Identity Provider backend connection and, if necessary, configure this in your Keycloak client.

    Affects: BPC Core | Dokumentation |

  • Beim deinstallieren von Bundles kommt es zu Exceptions BPC-10228

    Affects: BPC Core |

Security

  • mssql-jdbc:12.6.1 | CVE-2025-59250 BPC-10266

    The driver provided via pax-jdbc-mssql is no longer delivered.

    Please ensure that the MSSQL driver used has at least one of the following versions: 10.2.4, 11.2.4, 12.2.1, 12.6.5, 12.8.2, 12.10.2, 13.2.1

    If an older driver is being used, it should be replaced. Remove the old driver by deleting it from the deploy directory or by uninstalling pax-jdbc-mssql or the driver itself. Then install a current driver (without the pax-jdbc-mssql feature). See also: Databases

    Affects: Dokumentation | Karaf |

Bugs

  • Error during index migration BPC-8989

    If an error occurs during the migration of an index, the newly created index for the migration will be removed again in order to avoid subsequent errors or to revert to a stable state.

    Affects: BPC Core |

  • Going to use the local/Karaf IDP as fallback not working BPC-9837

    If the configured identity provider is not reachable, it is no longer incorrectly logged that the local Karaf identity provider has been selected as a fallback. Instead, it is indicated that this could be enabled as a fallback.

    Affects: BPC Core | Dokumentation |

  • Keycloak: Geänderte "GET /groups" API Request ab Version 26+ BPC-10149

    Ein Fehler wurde behoben, dass der Endpunkt GET /cxf/bpc-core/im/organisations nicht mehr KeyCloak-Gruppen listet, die als Untergruppen definiert sind. Grund war eine Änderung im Verhalten von KeyCloak ab Version > 26.

    Affects: BPC Core |

  • bpc.env.sh DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN greift nicht BPC-10169

    In the central configuration file (bpc.env.sh), an error in the commented-out option DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN was fixed. Previously, activation did not work because the value must be enclosed in quotation marks. The Windows variant was not affected.

    Affects:

  • Replikation erkennt fälschlicherweise eine Endlosschleife BPC-10181

    Affects: BPC Core |

Dependency Updates

  • 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, and bpc-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 the ObjectMapper class.

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.17.2,3.0.0)",
    ...
    </Import-Package>
  • Update java BPC-10235

    Affects:

BPC 4.2.14

Release date: 2025-10-13

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.

  • HTTP proxy filters X-APIKey header BPC-10011

    Http calls via an Http-Proxy or Flow connection filter out the BPC Api-Key header (X-APIKey). Attention: This could affect existing BPC configurations, for example if an INUBIT process is triggered that in turn makes calls to the BPC API using the provided API key. (In this case, it would be better to store a fixed BPC API key in the INUBIT process.)

    Affects: BPC Core | Dokumentation |

Improvements

  • Boolsche Werte in Einstellungs-Tabelle besser darstellen und setzen BPC-9968

    For boolean values in the settings tables, a combo box is no longer displayed; instead, only the checkbox with the truth value is shown. The value can be changed by clicking, pressing the space bar, or pressing Enter.

    Affects: BPC Core |

Security

  • HTTP proxy filters X-APIKey header BPC-10011

    Http calls via an Http-Proxy or Flow connection filter out the BPC Api-Key header (X-APIKey). Attention: This could affect existing BPC configurations, for example if an INUBIT process is triggered that in turn makes calls to the BPC API using the provided API key. (In this case, it would be better to store a fixed BPC API key in the INUBIT process.)

    Affects: BPC Core | Dokumentation |

  • Default für filterSessionCookie auf true BPC-9926

    For new backend connections of the type HTTP-Proxy and Flow, the option Filter BPC Session is enabled by default.

    Affects: BPC Core | Dokumentation |

Bugs

  • Replikation in Endlosschleife BPC-10121

    It could happen that replication got stuck in a certain time window if this window bordered on the present and no records were found.

    Affects: BPC Core |

BPC 4.2.13

Release date: 2025-08-21

The following components must be updated with this update: BPC modules | Karaf

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.

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

  • OpenSearch Konfiguration auslagern BPC-9106

    The OpenSearch configuration directory can be configured via OPENSEARCH_PATH_CONF. This allows you to outsource the configuration directory from the OpenSearch directory. As a result, you will no longer overwrite it during an OpenSearch update. See also Outsourcing OpenSearch Configuration.

    In the bundle installation file, BPC is now delivered with a configuration directory outsourced to INSTALLATION_DIRECTORY/opensearch_config.

    It is recommended to set OPENSEARCH_PATH_CONF in the bpc.env.

    Affects: Dokumentation | OpenSearch |

New features

  • Konfigurationsoberfläche für Identity Provider BPC-7069

    A configuration interface for identity providers is now available.

    Affects: BPC Core |

  • OpenAPI Spezifikation für REST API BPC-8513

    With this update, it is necessary to update the Karaf.

    The BPC provides OpenApi-compliant specification files for our APIs. These can be found under Downloads and can alternatively also be accessed dynamically via the BPC, provided this option is enabled. You can find more information in the section BPC-API.

    Affects: BPC Core | Dokumentation | Forms | Karaf |

Improvements

  • OpenSearch Konfiguration auslagern BPC-9106

    The OpenSearch configuration directory can be configured via OPENSEARCH_PATH_CONF. This allows you to outsource the configuration directory from the OpenSearch directory. As a result, you will no longer overwrite it during an OpenSearch update. See also Outsourcing OpenSearch Configuration.

    In the bundle installation file, BPC is now delivered with a configuration directory outsourced to INSTALLATION_DIRECTORY/opensearch_config.

    It is recommended to set OPENSEARCH_PATH_CONF in the bpc.env.

    Affects: Dokumentation | OpenSearch |

  • Aufsplittung der Identity Provider-Konfiguration aus JSON in separate Settings BPC-9515

    For the Identity Provider (Backend Connections), a large part was previously configured via a JSON setting. This has been split into individual settings. Existing configurations are migrated automatically. If older deployment exports of Identity Provider components are used, it is best to recreate them.

    Affects: BPC Core | Dokumentation |

  • Verbesserung der UI im Log Service Editor BPC-9600

    Affects: BPC Core |

  • 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

  • Per Default die Gruppierung in den BPC Settings Tabellen aktivieren. BPC-9737

    The option for grouping settings is now initially enabled. It is recommended to use this view, as the settings are displayed together in a common context.

    Affects: BPC Core |

  • Filter in den Monitor-Einstellungen durchsucht keine JSON-Values BPC-9798

    Affects: Process Monitoring |

  • Improvement of the monitor export BPC-8195

    When exporting from the monitor, empty columns are also exported for which there is no OpenSearch mapping yet.

    Affects: Process Monitoring |

  • Status change: Automatic preselection of the target status BPC-9816

    For the process status change, it is now possible to configure the preselection of a value. The preselection is controlled via the configuration preselectState in the setting function_changeStateConfig.

    "preselectState": "_first": Always selects the first available value from the dropdown. "preselectState": "<search value>": Selects the first entry that contains the specified text (case-sensitive). Both raw values and display names (from Custom Renderer) can be used.

    If exactly one process is loaded and there are exactly two values to choose from, the status field automatically selects the status that does not correspond to the current status.

    Example configuration

    [
        {
            "dataIndex": "STATUS",
            "useDistinctValues": true,
            "preselectState": "Offen"
        },
        {
            "dataIndex": "VALID",
            "useDistinctValues": true,
            "preselectState": "no"
        },
        {
            "dataIndex": "STATUS2",
            "useRendererValues": true,
            "useDistinctValues": false,
            "preselectState": "_first"
        }
    ]

    Affects: Process Monitoring |

Bugs

  • ShadowCopy löscht den Index BPC-9865

    During replication, Shadow Copy, Tail Sync, and Consistency Check encountered problems if the setting targetIndexCaseSensitivityOfFields was set to lowerCase or upperCase. In the case of Shadow Copy and Tail Sync, this could lead to data loss.

    Affects: BPC Core |

  • Replikation stoppt bei Lücken > blockDayRange BPC-9606

    Affects: BPC Core |

  • Datenmodifikator-Editor speichert nicht immer aktuellsten Stand beim Speichern BPC-9613

    Affects: BPC Core |

  • Maintenance Modus lässt sich über UI aktivieren aber nicht wieder deaktivieren. Error: "Not allowed to set local server properties" BPC-9799

    If the BPC is operated in a cluster, it was sometimes not possible to deactivate maintenance mode via the GUI.

    Affects: BPC Core |

BPC 4.2.12

Release date: 2025-06-02

The following components must be updated with this update: BPC modules | Java

Improvements

  • Klare Fehlermeldung bei falschen Cron Pattern in Replikations Jobs BPC-8793

    Affects: BPC Core |

  • Better error messages when creating faulty data sources (database connections) BPC-8819

    Affects: BPC Core |

  • BPC-Backup Befehle für die Karaf Konsole erweitern (Sonderhandling für die des bpc-configuration Index) BPC-9446

    Affects: BPC Core | Dokumentation |

Security

  • 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 line

    log4j2.maskpasswords.pattern = %replace{${log4j2.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}{******}

    with the following lines

    # Chained replacement patterns to mask sensitive information
    # Filter out UUIDs as these are used as session cookies (keycloak+oidc)
    log4j2.maskuuids.pattern = %replace{${log4j2.pattern}}{(?i)([a-f0-9]{4})[a-f0-9]{4}(-[a-f0-9]{4}){3}-[a-f0-9]{8}(([a-f0-9]{4}))(?-i)}{$1****-****-****-****-********$3}
    # Filter out JWT Tokens that might contain session ids
    log4j2.maskjwt.pattern = %replace{${log4j2.maskuuids.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.[\\w-]+}{***(JWT)***}
    log4j2.maskunsecuredjwt.pattern = %replace{${log4j2.maskjwt.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.}{***(JWT)***}
    # Filter out 256bit (64 hex digits) UUIDs used for karaf session cookies and API keys
    log4j2.maskkarafsessioncookie.pattern = %replace{${log4j2.maskunsecuredjwt.pattern}}{[0-9a-fA-F]{64}}{******}
    # Filter out passwords
    log4j2.maskpasswords.pattern = %replace{${log4j2.maskkarafsessioncookie.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}{******}

    Since with Keycloak and OIDC the session tokens are UUIDs that are also used elsewhere, we log the first and last four characters here.

    Affects: BPC Core | Dokumentation | Karaf |

Bugs

  • PDF kann im Prozessmonitor nicht über INUBIT zum Download und für den Fileviewer angeboten werden BPC-9105

    If binary files were loaded via INUBIT or another backend system, it could happen that the files were corrupted when downloading or viewing them.

    Affects: Process Monitoring |

  • Fehlendes Setting in der Monitor-Konfigurations-Oberfläche BPC-9447

    The field Monitor_FileReferenceColumn was missing in the editor.

    Affects: Process Monitoring |

  • Opensearch: Fehler im Log "NullPointerException: Cannot invoke "String.length()" because "str" is null" BPC-9507

  • JavaScript Modifikatoren können nicht ausgeführt werden BPC-9993

    For existing Karaf installations, add the following value to KARAF/etc/custom.properties:

    # the base value is from config.properties and has been extended
    # by the packages 'jdk.internal.access' and 'jdk.internal.module'
    org.osgi.framework.bootdelegation = \
        com.sun.*, \
        javax.transaction, \
        javax.transaction.xa, \
        javax.xml.crypto, \
        javax.xml.crypto.*, \
        javax.security.cert, \
        jdk.nashorn.*, \
        sun.*, \
        jdk.internal.reflect, \
        jdk.internal.reflect.*, \
        org.apache.karaf.jaas.boot, \
        org.apache.karaf.jaas.boot.principal, \
        jdk.internal.access, \
        jdk.internal.module

    Affects: Data Analysis | Karaf |

Dependency Updates

  • Update ExtJS BPC-9564

    Affects:

  • Update com.nimbusds:oauth2-oidc-sdk BPC-9669

    Affects:

BPC 4.2.11

Release date: 2025-04-08

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.

  • Restriction of the visibility of the gear icon for widget configuration in the dashboard BPC-9087

    Dashboard widgets now only display the configuration icon if the user is allowed to edit the dashboard. For this, they need the bpcDashboard_editDashboard permission. Users without this permission can no longer edit dashboard widgets. If editing options (e.g., for custom widgets) should still be offered, the corresponding permission must either be granted or the configuration must be provided through alternative means (e.g., via the widget header).

    Affects: Process Dashboard |

New features

  • Health check of the IdentityProvider via the status API BPC-8026

    In the Identity Provider Backend Connections, a health check endpoint can now be configured if the identity provider in use provides such an endpoint. If this is configured, the status can be queried in the status API via /cxf/bpc-core/status/identity-provider. The /cxf/bpc-core/status/health endpoint includes the identity provider status in the health check. For further details, see Configure Identity Provider and Status API. Information on providing the health endpoints in Keycloak can be found in Keycloak as an identity provider.

    Affects: BPC Core | Dokumentation |

Improvements

  • In the monitor export, CustomRenderer and the `translate` formatter are applied BPC-9100

    Affects: Process Monitoring |

  • Berücksichtigung aller Renderer in Filter-Auswahlliste BPC-8112

    Affects: Process Monitoring |

  • Anzahl der selektierten Zeilen bei Statusänderungen anzeigen BPC-8673

    Affects: Process Monitoring |

  • Anzeige der Anzahl selektierter Prozesse/Zeilen BPC-8722

    In the setting moduleHeaderContent, the parameter showSelectionCounter in the metablock can be used to control whether the number of selected records is displayed.

    [
        {
          "id": "metadata",
          "config": {
            "showFilter": false,
            "showSorter": false,
            "showSelectionCounter" : true
            }
        }
    ]
  • Restriction of the visibility of the gear icon for widget configuration in the dashboard BPC-9087

    Dashboard widgets now only display the configuration icon if the user is allowed to edit the dashboard. For this, they need the bpcDashboard_editDashboard permission. Users without this permission can no longer edit dashboard widgets. If editing options (e.g., for custom widgets) should still be offered, the corresponding permission must either be granted or the configuration must be provided through alternative means (e.g., via the widget header).

    Affects: Process Dashboard |

  • Backup-Jobs nur auf dem BPC "Master" Server ausführen BPC-9223

    In cluster operation, backups only need to be initiated by one node. As a result of the changeover, the metric "bpc_backups_scheduled_jobs" was removed. It contained the number of existing backup jobs.

  • BPC Start-Skript sollte nicht jeweils 30 Sekunden warten (nach OpenSearch Start und nach Karaf Start) BPC-9332

    The start script no longer waits 30 seconds after starting OpenSearch and Karaf. If problems occur where OpenSearch is not available in time, the Watchdog should be used.

    Affects:

  • BPC Start-Skript von Setup-Funktionen trennen BPC-9372

    The start script no longer makes any changes to the environment. Directories must be configured according to the installation instructions, and JAVA_HOME must also be configured correctly.

    Affects:

  • Periodisch das OpenSearch Backup Repository aufräumen BPC-9224

    • When called, data that is no longer referenced is deleted from the repository directory to save space.

    • The default setting for the cron pattern is: "0 30 9 L * ?"

    • As a result, the cleanup job runs on the last day of every month at 9:30 a.m.

    • This should be sufficient. If necessary, it can be adjusted in karaf/etc/de.virtimo.bpc.core.cfg via de.virtimo.bpc.core.opensearch.backupRepository.cleanupCronPattern.

    • The executions (including in case of errors) are recorded in the audit log.

    Affects: BPC Core | Dokumentation |

Bugs

  • Timeout beim Abfragen aller Keycloak User BPC-6677

    The users are now retrieved from Keycloak in blocks. When using external identity providers in Keycloak (e.g., LDAP), longer loading times may still occur if Keycloak performs a synchronization during this process.

    Affects: BPC Core |

  • ProzessStarter: "windowWidth" und "windowHeight" wirken sich nicht auf Fenster aus BPC-9042

    The ProzessStarter configuration for windowWidth and windowHeight now correctly affects the window.

    Affects: Process Monitoring |

  • Invalid operators for numeric column filters BPC-9082

    The selection of an operator for "number" filters has been restricted to the operator list. The default operator is defined as "=" and, additionally, the default operator can be changed in the filter configuration within the column configuration. See also Configuration of the monitor columns

  • Recht bpcMonitor_editMonitorViews lässt sich nicht auf einzelne Modul-IDs einschränken BPC-9329

    The right bpcMonitor_editMonitorViews can be set for specific instances to create and modify views in certain monitors by appending the module ID at the end.

  • Änderung in karaf/etc/de.virtimo.bpc.core.cfg werden zur Laufzeit nicht umgesetzt BPC-9413

    Affects: BPC Core |

Documentation

BPC 4.2.10

Release date: 2025-03-10

The following components must be updated with this update: BPC modules | OpenSearch | OpenSearch Plugin

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

New features

  • Renderer für IGUASU Links BPC-9019

    Monitors that have an externalReference field with an IGUASU reference can display a link that allows you to jump to the data source in IGUASU. For this, the renderer flow!_!flowRenderer must be set in the monitor column configuration.

    See also: BPC → IGUASU

  • BPC start/stop Skript BPC-7477

    Scripts are provided that allow BPC or Karaf and OpenSearch to be started and stopped.

    Affects:

  • customData über additionalInfos Hooking unterstützen BPC-9060

    The user session can be supplemented with customData, which comes from the Additional Info endpoint of the Identity Provider Backend Connection.

    Affects: BPC Core | Dokumentation |

  • SQL-Query anstelle von Tabellennamen als Quelle für Replikation BPC-9063

    Replication now also supports, as an alternative to existing database tables/views, the direct entry of an SQL query.

    See also sourceCommonTableExpressionQuery in Replication

    Affects: BPC Core | Dokumentation |

Improvements

  • Optimized use of OpenSearch to avoid misleading warnings BPC-9175

    In the OpenSearch log, there are many logs such as "QueryGroup _id can’t be null, It should be set before accessing it." This is a known bug in OpenSearch that was introduced with version 2.18.0. We have reduced the output as much as we could from our side.

    Affects: BPC Core |

  • Default Charts im Analyse Modul kompatibel für das Dark Theme gestalten BPC-9293

    Note: If users already have existing installations of the default instance (BPC Default Reports) in the Analysis Module, it is recommended to set the chart background color to full transparency (RGBA alpha value: 0) under Chart Configuration → Settings → Background Color. This improves visualization when used with the Dark Theme.

    Affects: Data Analysis |

Bugs

  • Es werden keine OpenSearch Backups ausgeführt BPC-9334

    Snapshots whose names do not conform to the current naming scheme have blocked the execution of the backups.

    Affects: BPC Core |

  • HTTP Proxy setzt ungültige Header bei Verwendung von HTTP/2 BPC-9337

    If the HTTP proxy used an HTTP/2 connection, the pseudo-header ":status" was forwarded to the client. This leads to an error if interpreted strictly. For example, in this case, nginx reported a 502 Bad Gateway error to the client.

    Affects:

  • Deployment error BPC-9221

    If a deployment was carried out from a BPC with existing monitor views to a BPC that did not yet have any views, an error occurred.

    This error has been fixed.

    Affects: BPC Core |

  • Instanzspezifisches Recht zum Editieren von HTML Content BPC-9365

    A bug was fixed that prevented instance-specific HTML content editing rights from being granted via the role htmlcontent_editor_<MODULE-ID>.

    Affects: BPC Core |

Documentation

Dependency Updates

BPC 4.2.9

Release date: 2025-02-10

The following components must be updated with this update: BPC modules | Karaf

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

  • Aktualisierung der TLS Härtung BPC-9256

    For the hardening of the TLS settings, properties were set in custom.java.security.

    If you are not yet using a custom.java.security file via Central configuration file, you should do so.

    Existing custom.java.security files should be supplemented with the following entry:

    jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurves

    Affects:

  • Custom Java Security Einstellungen via bpc.env für OpenSearch BPC-9259

    The bpc.env files now also set the security.properties for OpenSearch from the custom.java.security file. As a result, changes in the file affect both Karaf and OpenSearch.

    When using a bpc.env, it is recommended to update it. If not already present, the file custom.java.security should be added. The following must be added for this purpose.

    bpc.env.sh
    export OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"
    bpc.env.cmd
    SET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\\custom.java.security

    Affects: Dokumentation |

Improvements

  • Statische Settings BPC-8614

    With the BPC license, settings can now be protected from modification. This will primarily be used in our cloud installations (K8s). For example, we use the core setting 'backupRepository' to define the configuration of OpenSearch backups in an Amazon S3 bucket, and this should not be changeable via the BPC frontend.

    To achieve this, the XML can be extended with the list element NON_WRITEABLE_SETTINGS containing the IDs of the non-editable settings when creating the license.

    Excerpt from a sample license:

    <?xml version="1.0" encoding="UTF-8" ?>
    <license>
        <bpc>
            <licenseKeys>
            ...
            </licenseKeys>
            <licenseMaps>
            ...
            </licenseMaps>
            <licenseLists>
                <NON_WRITEABLE_SETTINGS>
                    <_core_noinstance_backupRepository/>
                    <_core_noinstance_identityProviderBackendConnection/>
                </NON_WRITEABLE_SETTINGS>
            </licenseLists>
        </bpc>
    </license>

    The settings (example: _core_noinstance_backupRepository) are the same as those used in the OpenSearch index 'bpc-configuration'.

    The structure is as follows: <ModuleId>_<InstanceId>_<SettingName>

    If it is a setting of a module and not of an instance/component, then the value noinstance is to be used for <InstanceId>. You can find the <SettingName> by displaying the "ID" column in the settings grid in the BPC frontend.

    Example: _core_noinstance_backupRepository

    • <ModuleId> = _core

    • <InstanceId> = noinstance

    • <SettingName> = backupRepository

    Affects: BPC Core |

  • Anzahl der Shards von neu anzulegenden OpenSearch Indices reduzieren BPC-9049

    We have reduced the number of shards in the Core_IndexTemplates setting to 1. This is also the default setting that Elasticsearch/OpenSearch has been using for new indexes for a few years. This only affects newly created indices. Indices that have already been created are not affected.

    Affects: BPC Core |

  • Dark Theme Anpassungen BPC-9153

    The application toolbar has been made slightly lighter. In the admin area, changed text in grids is now displayed with better contrast. The loading animation has been adjusted.

    Affects: BPC Core |

  • Reduktion der Zugriffe auf die OpenSearch Backup-API BPC-9189

    By optimizing access to the OpenSearch Backup API, fewer accesses to the data storage are performed. This reduces the corresponding costs, for example, when using Amazon S3.

    Affects: BPC Core | OpenSearch |

  • Umstellung auf direkte Verwendung von log4j BPC-9220

    Performance increased and heap memory usage reduced. Java has to perform significantly fewer garbage collector calls. This is especially true when the log levels for the BPC packages are set to their default (WARN). This affects the standard BPC modules for Karaf as well as the OpenSearch plugin.

  • JSON Daten sollen nicht automatisch sortiert werden BPC-9227

    When saving JSON settings, attributes within objects were automatically sorted. This behavior has been disabled. This makes it possible to arrange the order according to your own criteria.

    Affects: BPC Core |

  • Custom Java Security Einstellungen via bpc.env für OpenSearch BPC-9259

    The bpc.env files now also set the security.properties for OpenSearch from the custom.java.security file. As a result, changes in the file affect both Karaf and OpenSearch.

    When using a bpc.env, it is recommended to update it. If not already present, the file custom.java.security should be added. The following must be added for this purpose.

    bpc.env.sh
    export OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"
    bpc.env.cmd
    SET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\\custom.java.security

    Affects: Dokumentation |

  • The BPC license filename should allow an additional .virtimo file extension for joining BPC & inubit licenses. BPC-7813

    The file name of the license can now also be license.xml.virtimo. Previously, it had to be license.xml.bpc. This makes it possible to use a license that is also a valid INUBIT license file at the same time.

    Affects: BPC Core |

  • Generierung des Config-JSON für das BPC Frontend beschleunigen BPC-9263

    The loading of the BPC configuration in the client is accelerated by the change.

Security

  • Aktualisierung der TLS Härtung BPC-9256

    For the hardening of the TLS settings, properties were set in custom.java.security.

    If you are not yet using a custom.java.security file via Central configuration file, you should do so.

    Existing custom.java.security files should be supplemented with the following entry:

    jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurves

    Affects:

Bugs

  • Data_Filter: Keine Platzhalter-Ersetzung bei roles und Verwendung von "#" BPC-9110

    The placeholder #user.loginName# is now correctly replaced in the Data_Filter when the dynamic filter # is used.

    Affects: Process Monitoring |

  • Umgang mit mehreren Session Cookies BPC-9164

    If the client sends multiple session cookies because several BPCs may be installed on the server, the appropriate session cookie is now taken into account.

    Affects: BPC Core |

  • Detail View Update Problem BPC-9252

    In cases with frequent changes to the data, errors could occur in the monitor when displaying detail views. As a result, the entire rendering of the application was disrupted and the page had to be manually reloaded.

    Affects: Process Monitoring |

  • Modul Upload führt zu OOM Exception BPC-9266

    Uploaded files are no longer kept entirely in memory. This reduces memory usage and prevents "OutOfMemoryException".

    Affects: BPC Core |

Dependency Updates

  • Update Karaf, CXF und Jackson BPC-9264

    We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson in version 2.14.3. Now we ship Karaf with CXF 3.6.5, which provides Jackson in the version 2.17.2.

    Please update the CXF version (3.6.5) in your pom.xml. And more important is to update also the used Jackson version (2.17.2). For this check if you have an Import-Package statement for it. This must be added or adjusted when you use Jackson functionality like the ObjectMapper class.

    Replace

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
    ...
    </Import-Package>

    with

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.17.2,3.0.0)",
    ...
    </Import-Package>

BPC 4.2.8

Release date: 2025-01-13

The following components must be updated with this update: BPC modules | OpenSearch | OpenSearch Plugin

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

Improvements

  • Reduced log level BPC-8660

    The log level for the BPC plugin in OpenSearch has been reduced from trace to info. This setting can be found in the file opensearch/config/log4j2.properties.

    Affects: OpenSearch |

  • Revised administration for replication components BPC-9149

    The interface for configuring and creating replication components has been standardized. It is now no longer possible to (de)activate individual replications directly in the list of replication components. This is now done after selecting a replication in the detail view.

    Affects: BPC Core |

  • Monitor_CascadingDynamicFilter in Dedizierte UI aufnehmen BPC-9158

    The option for "CascadingDynamicFilter" has been added to the administration interface for monitor components.

    Affects: Process Monitoring |

  • Commit-Datum anstatt Build-Datum in Bundle Info BPC-9174

    In the bundle info, which can be accessed via the Karaf console, the time of the last change to the underlying source code is now displayed instead of the build time.

Bugs

  • PDF kann in der Monitor Detailansicht nicht angezeigt werden BPC-9104

    Affects: Process Monitoring |

Dependency Updates

BPC 4.2.7

Release date: 2024-12-16

The following components must be updated with this update: BPC modules | OpenSearch Plugin

New features

Improvements

  • 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_enabled is now true. This corresponds to the OpenSearch default value.

    Affects: OpenSearch |

  • Felder mit dem Typ "object" und "flat_object" sollen durch die Standardkonfiguration im Monitor korrekt dargestellt werden BPC-9144

    Fields that contain nested JSON objects receive "formatter": "jsonStringify" in the initial column configuration. This converts the contents into text and displays them in the monitor.

    Affects: Process Monitoring |

Bugs

  • Neu Verteilung von Replikationen im Cluster wird nicht immer ausgelöst BPC-8504

    A bug was fixed that caused individual replication jobs not to be correctly distributed across all available nodes when changes were made to the nodes in the BPC cluster.

    Affects: OpenSearch |

  • OpenSearch kann nicht per HTTP angesprochen werden BPC-8800

    Although the OpenSearch connection was configured with http, an attempt was made to establish the TLS context based on the configuration. However, if this configuration was incorrect, an error occurred.

    The configuration is now ignored, as it is not relevant for http connections.

    Nevertheless, it is recommended to use secure connections at this point.

    Affects: BPC Core |

  • Replikation und Tail Sync sorgen für inkonsistenten Datenbestand BPC-9088

    There were various problems when the time zone of the "last update column" in the database table is set to UTC: - The tail sync did not always delete all records. - Instead, it updated all records on each run. - The interaction with replication also became confused.

    Affects: BPC Core |

  • BPC prometheus Metrik bpc_module exportiert falsche Versionsinfos BPC-9119

    Affects: BPC Core |

Documentation

BPC 4.2.6

Release date: 2024-11-18

The following components must be updated with this update: BPC modules | OpenSearch | OpenSearch Plugin | 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.

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

New features

Improvements

  • Unnötige Fehlerlogs mit MaintenanceModeEnabledException BPC-8784

    Affects: BPC Core |

Bugs

  • Beim Imitieren wird die Sprache des imitierenden Nutzers im imitierten Nutzer gespeichert BPC-8864

    When impersonating other users, the language can no longer be changed in the Keycloak profile of the impersonated user. For this to work, Keycloak must be correctly configured so that impersonator information is passed along via an active scope.

    Affects: BPC Core |

  • Auswahlmöglichkeit zum Ändern der Sprache wird nicht angezeigt BPC-9012

    Affects: BPC Core | Dokumentation |

Dependency Updates

Other

  • Update Java BPC-9016

    Affects:

BPC 4.2.5

Release date: 2024-10-18

The following components must be updated with this update: BPC modules | 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.

  • Integration von Keycloak Seiten BPC-8679

    A breaking change was accidentally introduced. The User Account Plugin no longer displays the language selection, even though the "changeLanguage" option is enabled. The option must now be called "languageSelector".

    If you update to BPC 4.2.6 or newer, the option will be renamed automatically.

    Affects: BPC Core | Dokumentation |

  • Benutzerverwaltung über den aktuellen User BPC-8680

    When configuring the Identity Provider of type Keycloak, the configuration of a dedicated admin user is no longer required. All actions in the integrated user management are now performed in the context of the current user. This means that these users must be equipped with all necessary roles in Keycloak. With this adjustment, actions can also be correctly assigned to individual users in the Keycloak audit log. See also Keycloak as an identity provider.

    Due to this change, the maximum valid session duration in BPC is no longer influenced by the corresponding setting in Keycloak. It must now be set in the file de.virtimo.bpc.core.cfg under the setting de.virtimo.bpc.core.auth.oidc.sessionExpirationMinutes. The default value is equivalent to 8 hours. If the session duration in Keycloak is shorter, the session checker in BPC will also terminate the session. However, there may be a delay if there is still an AccessToken for the user that has not expired.

    Additionally, BPC itself no longer blocks the impersonation of users with the "bpcadmin" role. This must now be configured in Keycloak and is described under Impersonate users with Keycloak.

    It is now possible to create new users via the integrated user management in Keycloak or to change the name, email, and password of existing users.

    Affects: BPC Core | Dokumentation |

New features

  • LocalStorage soll beim BPC Update automatisch verworfen werden BPC-6268

    While loading the BPC, the version number of the Core Common Package (Fe-Core) is determined and stored in the local storage. If this version number differs from the one stored during the previous load, the local storage is cleared.

    Affects: BPC Core |

  • Integration von Keycloak Seiten BPC-8679

    A breaking change was accidentally introduced. The User Account Plugin no longer displays the language selection, even though the "changeLanguage" option is enabled. The option must now be called "languageSelector".

    If you update to BPC 4.2.6 or newer, the option will be renamed automatically.

    Affects: BPC Core | Dokumentation |

  • Benutzerverwaltung über den aktuellen User BPC-8680

    When configuring the Identity Provider of type Keycloak, the configuration of a dedicated admin user is no longer required. All actions in the integrated user management are now performed in the context of the current user. This means that these users must be equipped with all necessary roles in Keycloak. With this adjustment, actions can also be correctly assigned to individual users in the Keycloak audit log. See also Keycloak as an identity provider.

    Due to this change, the maximum valid session duration in BPC is no longer influenced by the corresponding setting in Keycloak. It must now be set in the file de.virtimo.bpc.core.cfg under the setting de.virtimo.bpc.core.auth.oidc.sessionExpirationMinutes. The default value is equivalent to 8 hours. If the session duration in Keycloak is shorter, the session checker in BPC will also terminate the session. However, there may be a delay if there is still an AccessToken for the user that has not expired.

    Additionally, BPC itself no longer blocks the impersonation of users with the "bpcadmin" role. This must now be configured in Keycloak and is described under Impersonate users with Keycloak.

    It is now possible to create new users via the integrated user management in Keycloak or to change the name, email, and password of existing users.

    Affects: 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.

    Affects: BPC Core | Dokumentation |

Bugs

  • Removal of obsolete grid_showHeader configuration BPC-8912

    The configuration grid_showHeader is obsolete as it causes errors. The behavior of the header has been controlled for quite a while using the parameter moduleHeader_enabled.

Other

  • Update Java BPC-8962

    Affects:

BPC 4.2.4

Release date: 2024-09-23

The following components must be updated with this update: BPC modules | OpenSearch Plugin

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.

Improvements

Bugs

  • Opensearch: BpcPlugin - ConcurrentModificationException BPC-8852

    Affects: OpenSearch |

BPC 4.2.3

Release date: 2024-08-26

The following components must be updated with this update: BPC modules | Karaf | OpenSearch

Security

Dependency Updates

BPC 4.2.2

Release date: 2024-07-02

The following components must be updated with this update: BPC modules | OpenSearch Plugin

Improvements

  • Neuanmeldung bei IP Pinning Problemen ermöglichen BPC-8179

    If an IP pinning error occurs, you can now log in normally in the browser after reloading the page. The error will not be displayed again (unless the IP changes again).

    Affects: BPC Core |

Bugs

  • Lücke in Daten bei Reindizierung und verteilter Replikation im Cluster BPC-8503

    When activating maintenance mode on a single node (in cluster operation), replication was sometimes not stopped. This issue has been resolved. When updating, it is especially important that OpenSearch is also updated.

    Affects: BPC Core | OpenSearch |

BPC 4.2.1

Release date: 2024-06-04

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.

  • Maximum memory for Karaf is configured differently BPC-8542

    In current Karaf versions, Karaf-specific environment variables for setting JVM memory have been removed and must be replaced with an alternative.

    Linux

    Please replace in bpc.env.sh

    # Karaf
    export JAVA_MIN_MEM=128M
    export JAVA_MAX_MEM=512M

    with

    # Karaf
    export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"

    and adopt the values accordingly.

    Windows

    Please replace in bpc.env.cmd

    rem *** Karaf ***
    SET JAVA_MIN_MEM=128M
    SET JAVA_MAX_MEM=512M

    with

    rem *** Karaf ***
    SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m

    and adopt the values accordingly.

    Affects: Dokumentation |

Improvements

  • Maximum memory for Karaf is configured differently BPC-8542

    In current Karaf versions, Karaf-specific environment variables for setting JVM memory have been removed and must be replaced with an alternative.

    Linux

    Please replace in bpc.env.sh

    # Karaf
    export JAVA_MIN_MEM=128M
    export JAVA_MAX_MEM=512M

    with

    # Karaf
    export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"

    and adopt the values accordingly.

    Windows

    Please replace in bpc.env.cmd

    rem *** Karaf ***
    SET JAVA_MIN_MEM=128M
    SET JAVA_MAX_MEM=512M

    with

    rem *** Karaf ***
    SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m

    and adopt the values accordingly.

    Affects: Dokumentation |

Bugs

  • Abweichungen in der Konsistenzprüfung der Replikation BPC-8494

    Affects: BPC Core |

  • Wartungsmodus bei der Orchestrierung von Replikationen berücksichtigen BPC-8584

    Backend core version must match the OpenSearch plugin. Either update this manually or install the new OpenSearch version.

    Affects: BPC Core | OpenSearch |

Documentation

  • Typo bei der Einrichtung als Windows-Dienste BPC-8452

BPC 4.2.0

Release date: 2024-04-29

The following components must be updated with this update: BPC modules | Karaf | OpenSearch | OpenSearch Plugin

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.

  • Old license files replaced BPC-4884

    The JAR license files (file name bpc-be-license.jar) can no longer be used and must be replaced by XML-based license files (file name license.xml.bpc). If you are still using an old JAR license file, please contact support to obtain a new license file.

    Affects: BPC Core |

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Only relevant for module developers When using the BPC JsonEditor (xtype bpcJsonField or bpcCodeEditorWindow.json), the optional JSON schema is now passed via schema and no longer via jsonSchema.

    Affects: BPC Core |

  • Karaf Log Monitor BPC-7550

    The additional component of Karaf called 'Decanter' is used to write the Karaf logs to the OpenSearch index 'bpc-logs'. With a new installation of Karaf, this component is already pre-installed and nothing needs to be done. If an existing Karaf installation cannot or should not be replaced, it can also be installed using the Karaf console (Internet connection required).

    virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter
    virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-log

    Affects: BPC Core | Dokumentation | Karaf |

  • Wegfall forceJson Parameter im HTTP Proxy BPC-8044

    The forceJson option is no longer available on the HTTP Proxy APIs.

You should read the descriptions in this section carefully. These are recommended instructions that are advised during an update.

New features

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Only relevant for module developers When using the BPC JsonEditor (xtype bpcJsonField or bpcCodeEditorWindow.json), the optional JSON schema is now passed via schema and no longer via jsonSchema.

    Affects: BPC Core |

  • Karaf Log Monitor BPC-7550

    The additional component of Karaf called 'Decanter' is used to write the Karaf logs to the OpenSearch index 'bpc-logs'. With a new installation of Karaf, this component is already pre-installed and nothing needs to be done. If an existing Karaf installation cannot or should not be replaced, it can also be installed using the Karaf console (Internet connection required).

    virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter
    virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-log

    Affects: BPC Core | Dokumentation | Karaf |

  • Health-Endpunkt für Cluster-Master BPC-7915

    New status endpoint for querying the role of individual nodes in cluster operation. This endpoint can now be used to check whether a node has the "master" role or not. See also BPC API /cxf/bpc-core/status/clustermaster

    Affects: BPC Core | Dokumentation |

Improvements

  • Redundante Werte in Keycloak IdP Konfiguration entfernt BPC-7983

    Affects: BPC Core | Dokumentation |

  • Dashboard module reduced on frontend BPC-8279

    For existing installations, the file bpc-be-dashboard.jar can be removed without replacement and deleted from the KARAF/deploy directory. The dashboard module now consists only of the file bpc-fe-dashboard.war.

Dependency Updates

Other

  • Old license files replaced BPC-4884

    The JAR license files (file name bpc-be-license.jar) can no longer be used and must be replaced by XML-based license files (file name license.xml.bpc). If you are still using an old JAR license file, please contact support to obtain a new license file.

    Affects: BPC Core |

  • Wegfall forceJson Parameter im HTTP Proxy BPC-8044

    The forceJson option is no longer available on the HTTP Proxy APIs.

Overview of Karaf updates

Karaf has been updated in the following BPC versions.

Overview of OpenSearch updates

OpenSearch has been updated in the following BPC versions.

Overview of updates to the internal BPC configuration

The following BPC versions have an update to the internal BPC configuration has been carried out.