Developer-Changelog

This page shows changes that are included in the releases of the individual versions and are relevant for BPC module developers.

For a list of all changes, see Changelog.

BPC 5.0.2

Release date: 2026-01-15

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

BPC 5.0.1

Release date: 2025-11-24

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

Improvements

  • Better testability of comboboxes BPC-10196

    The values of the different options in combo boxes are now no longer generally supplemented with a  . This makes automated testing of the interfaces easier.

    Affects: BPC Core |

  • Code löschen, der als Deprecated und Marked for Removal gekennzeichnet ist BPC-10243

    Code that was marked as deprecated has been removed from BPC.

    Affects: BPC Core |

BPC 5.0.0

Release date: 2025-10-24

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

Breaking Changes

You should read the descriptions in this section carefully. It may contain instructions that you must follow for an update.

  • Harmonization of interfaces for various monitor functions BPC-9770

    The query string parameters gridId, gridExtId, multiRecords, buttonId and the form parameter tablePrefix have 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, bpcModuleInstanceId and custom have been removed. key has been uniformly renamed to id. 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 contain filename, type and data. Grids contain a list of their records.

    In Change State, tablePrefix, mandant and changeStatusBox_<column name> have been removed. command has been uniformly renamed to type and receives the value "statusChange". columnsstring has been renamed to column. newStatusCombo_<column name> has been renamed to newStatus. commentfield has been renamed to comment. childStatus is 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_dbGridId and inubit_pmMandant have been removed. The settings inubit_actionEndpoint, inubit_changeStateEndpoint and inubit_VpsEndpoint have been replaced by actionEndpointProcessor, changeStateEndpointProcessor and vpsEndpointProcessor.

  • Restricted forwarding of session information BPC-9925

    HTTP proxy backend connections and flow connections now always filter the session cookie so that a recipient cannot make calls in the BPC in the context of the user. The setting filterSessionCookie is therefore no longer required. Instead, with the new setting sendSessionId, it is possible to send the user’s session ID, which can be verified at the endpoint GET /cxf/bpc-core/authentication/session/{sessionid}. When the injectUserSessionJWT setting is enabled, a self-created JWT is no longer sent, but rather the signed ID token from the OpenID Connect provider is sent. You can find more details in Backend Connections - HTTP-Proxy.

    Affects: BPC Core | Dokumentation |

  • Renaming of childs to children in the Log Service Payload BPC-8478

    Users of the Log Service API must replace all occurrences of childs with children in their POST data. During a transition period, childs can 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 contain children instead of childs.

    Affects: BPC Core |

New features

Improvements

  • Editor mit SQL Support BPC-9351

    The setting Common Table Expression Query in replication can now be edited in an editor that supports SQL syntax.

    Affects: BPC Core |

  • Überarbeitung von Link-Benachrichtigungen BPC-9624

    For notifications, the type 'link' no longer exists; instead, all notifications can now specify links. The field linkData is used for this purpose (previously typeSpecificData). For references to external websites, the url field is still used; for BPC-internal navigation, the hash component of the BPC URL is now specified in the navigation field. You can read more in Notification Types and in Notification API.

    In the notification interface (BPC → Configuration → Overview → Notifications), a link can now also be configured (see Notifications to Users).

    Affects: BPC Core | Dokumentation |

  • Harmonization of interfaces for various monitor functions BPC-9770

    The query string parameters gridId, gridExtId, multiRecords, buttonId and the form parameter tablePrefix have 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, bpcModuleInstanceId and custom have been removed. key has been uniformly renamed to id. 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 contain filename, type and data. Grids contain a list of their records.

    In Change State, tablePrefix, mandant and changeStatusBox_<column name> have been removed. command has been uniformly renamed to type and receives the value "statusChange". columnsstring has been renamed to column. newStatusCombo_<column name> has been renamed to newStatus. commentfield has been renamed to comment. childStatus is 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_dbGridId and inubit_pmMandant have been removed. The settings inubit_actionEndpoint, inubit_changeStateEndpoint and inubit_VpsEndpoint have been replaced by actionEndpointProcessor, changeStateEndpointProcessor and vpsEndpointProcessor.

  • Klassen für Menu-Buttons für geringeren Pfeil-Abstand BPC-10060

    Buttons can now use the classes arrow-spacing-sm (small) and arrow-spacing-xs (extra small) to reduce the spacing of the arrow.

    Affects:

  • Backend Bundles sollten keine feature.xml enthalten BPC-10115

    For BPC module developers:

    If a feature/feature.xml is used in the module sources, please remove the following resource block from the pom.xml:

    <resources>
        ...
        <resource>
            <directory>src/main/feature</directory>
            <filtering>true</filtering>
            <targetPath>${project.build.directory}/feature</targetPath>
        </resource>
    </resources>

    This entry defined the feature.xml as a resource and embedded it into the JAR file. This is not necessary.

    However, the maven-resources-plugin still needs to be used to replace placeholders in the feature.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/ [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>
  • Renaming of childs to children in the Log Service Payload BPC-8478

    Users of the Log Service API must replace all occurrences of childs with children in their POST data. During a transition period, childs can 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 contain children instead of childs.

    Affects: BPC Core |

  • Event Erstellung von der veralteten Dictionary auf Map umstellen BPC-9483

    When handling events, Map should be used instead of Dictionary.

    Affects: BPC Core |

Security

  • Restricted forwarding of session information BPC-9925

    HTTP proxy backend connections and flow connections now always filter the session cookie so that a recipient cannot make calls in the BPC in the context of the user. The setting filterSessionCookie is therefore no longer required. Instead, with the new setting sendSessionId, it is possible to send the user’s session ID, which can be verified at the endpoint GET /cxf/bpc-core/authentication/session/{sessionid}. When the injectUserSessionJWT setting is enabled, a self-created JWT is no longer sent, but rather the signed ID token from the OpenID Connect provider is sent. You can find more details in Backend Connections - HTTP-Proxy.

    Affects: BPC Core | Dokumentation |

Dependency Updates

  • Update CXF BPC-9852

    Affects: BPC Core | Karaf |

  • 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"
        }
      }