Please note: Since release 39.5.25 (min. DB 25.0.0, min. S 39.0.0) PLANTA provides all software components (except the Desktop Client) as container solutions. For the installation / operation of server versions from 39.0.0 onwards or the update to these versions, an OCI-compatible container runtime or platform, e.g. Docker, is required. For more information see Installation of PLANTA Project.
S 39.2.1 (manager)
Bugfixes
|
Key |
Description |
|---|---|
|
2803 |
In the manager's console output, the column indicating the session type now displays the actual type of the row again: |
|
2808 |
The new parameter
|
S 39.2.0 (worker)
Features
|
Key |
Description |
|---|---|
|
1002 |
The API call |
|
1326 |
When starting, the worker establishes the connection to the manager (session link). If this fails, the attempt is repeated up to a configurable maximum number of times, in each case after a configurable pause. This is configured via the new parameters |
|
1624 |
A data field can now embed another module as a widget. The |
|
1688 |
Server-side Python scripts can pass a file directly to the logged-in user as a browser download via |
|
1696 |
Action on data field change: For data fields with an input behavior ( |
|
1731 |
Modules with module class 3 are now always reported to the web client as a user menu. Previously, only the user menu stored in the skin was transferred as such, so that further user menu modules were not recognized as such by the client. On the server side, modules of class 3 continue to behave like ordinary modules. In particular, they have a panel and are not kept open permanently. |
|
1875 |
Performance for the execution of Python and Jython functions has been improved by copying the Customizing directories once when the containers start. |
|
1957 |
The Name Base MV parameter makes it possible to assign an individual name to the base module variant or to override the default name Base. |
|
2161 |
Performance improvement for modules with filters on data fields: The filters now use existing database indexes. The result remains unchanged. This applies to Oracle, SQL Server, and PostgreSQL. |
|
2260 |
First stage of the configuration matrix in the worker: A data area of the new class 12 links two axes and a fact table. The server displays their intersections as checkboxes. |
|
2318 |
In addition to the total number of activities and the completed activities, the agile activity statistics |
|
Python API Parameters |
|
|
1300 |
The API parameter |
|
1570 |
The API parameters |
|
1686 |
The API parameter |
|
1700 |
The API parameter |
|
2211 |
The API parameter |
Bugfixes
|
Key |
Description |
|---|---|
|
29 |
Fixed a bug where the utilization charts displayed incorrect values over the course of the day after several scheduling calculations. Previously, this could only be corrected by replanning. |
|
1286 |
With splitting activated, the calculated task end could lie before the calculated task start in certain data constellations. Start and end dates are now calculated consistently in all cases. |
|
1366 |
The issue where, with certain Customizing in connection with pre-events, the attempt to update DIs of other tables led to an exception has been fixed. |
|
1416 |
PLANTA can now also be installed and updated in an environment with a read-only file system. For this purpose, the temporary files of the migration framework are stored in the directory that is configured via |
|
1544 |
In certain constellations, the remaining effort was not totaled in full in the load curves for week, month, quarter, and year, so that values could be missing. The totaling is now carried out correctly for all aggregation levels. |
|
1546 |
Fixed a bug where the server did not check for the ProxyToken message while waiting for the web client connection. As a result, login via OIDC (e.g. Microsoft Entra) was not possible. The server now correctly checks for the ProxyToken message and performs the login accordingly. |
|
1658 |
Performance improvement for SQL statements with a very large number of UUID parameters: The reduction via a temporary table now takes effect in all cases. This also eliminates the database error ORA-01795 with more than 1,000 UUID parameters. |
|
1920 |
Logins without OIDC (e.g. LDAP or interactive) no longer hang: At session start, the server uses the new |
|
2003 |
Boolean values of the worker configuration are now evaluated correctly: Only "1" and "true" enable, and only "0" and "false" disable. Other values such as "yes" or "on" result in the default value. We recommend checking the configuration values for deviating notations. An extended list of values applies in the manager, see key 307. |
|
2031 |
On SIGTERM and SIGINT (e.g. |
|
2115 |
The startup of the session is now recorded in full in the performance history (DT324, event |
|
2141 |
The issue where a module with a virtual image data field in a grouping area caused the session to crash has been fixed. |
|
2322 |
If a user without an assigned role logs in, the session is no longer ended without notice. Before the session is ended, a dialog is displayed stating that no role has been assigned to the user and that the administrator should be contacted. |
|
2497 |
Newly inserted data records are now preserved. Previously, they were discarded internally in some cases and could not be saved, although they remained visible and editable in the user interface. |
S 39.2.0 (manager)
Features
|
Key |
Description |
|---|---|
|
933 |
With this release, the separate MongoDB is no longer required: PLANTA pulse stores its data entirely in the PLANTA database. Boards, cards, checklists, and activities are stored in dedicated PULSE_ tables, and dynamic content such as custom fields and settings is stored in JSON columns. This considerably simplifies installation, operation, and backup. Existing data is transferred once during the update by means of a migration tool. |
|
307 |
Boolean configuration values are now evaluated uniformly in the manager. In addition to “true” and “false”, the values “yes”/”no”, “on”/”off”, “ja”/”nein”, “an”/”aus”, “enable”/”disable”, and “enabled”/”disabled” as well as “1”/”0” are accepted, in each case regardless of upper and lower case and of surrounding blanks. A value that cannot be interpreted is logged as a warning in the server log, and the default value of the respective parameter then applies. A restricted list of values applies on the worker, see key 2003. |
|
915 |
Log levels of individual loggers can now be set via environment parameters without changing the logback configuration file: |
|
1394 |
The server parameter |
|
1739 |
The server parameter |
|
1841 1842 |
Helper and session I/O threads of the manager (ForcedMessageInjector, MetaMessageInjector, scheduling session reader and writer, SessionLink reader and writer, as well as the BOSH threads |
|
1861 |
Apache Olingo has been updated from version 4.9.0 to 5.0.0. OData processing is thus handled via |
|
1875 |
Performance for the execution of Python and Jython functions has been improved by copying the Customizing directories once when the containers start. |
|
1928 2328 |
In the agile area, the permissions of the respective project apply: Users with change permission in the project can edit and create agile views and the associated activities. Resources can edit the activities assigned to them. They only have read access to all other activities. |
|
1943 |
When importing users via LDAP, users from child groups can now also be imported. If the |
|
2010 |
When the session limit is reached (system-wide via |
|
2012 |
For failed backend connections in the PLANTA Secure tunnel, the exact cause (target host:port as well as the error type, such as connection refused, timeout, or no route) is now logged as a WARN message. Previously, the log only contained “remote backend connection failed” without further context. |
|
2187 |
The write path for LDAP import and LDAP login has been optimized. Only one database session or transaction is now opened per user instead of two. Existing attributes are deleted with a bulk statement instead of individually, which reduces the database load. This takes effect both for large user directories and for every individual LDAP login. Configuration and operation remain unchanged. |
Bugfixes
|
Key |
Description |
|---|---|
|
443 |
Data-driven events can again be triggered by changes to the |
|
1323 |
The scheduling calculation now locks resources only if they are actually used in parallel. This makes it possible to operate several servers on the same database without the servers blocking each other. |
|
1531 |
The server aborted at startup in migration mode with exit code 255 and the message |
|
1635 |
If a dictionary parameter of a module contains a list of dictionaries, all list elements are now converted correctly. |
|
1935 |
Under high load, the manager is relieved by reduced logging. |
|
2064 |
A |
|
2075 |
Internal clientless sessions, such as the persistent scheduler session, are no longer counted towards the limit of parallel user sessions. The new parameter |
|
2129 |
The server parameter |
|
2180 |
For large directories (e.g. Active Directory), the LDAP import previously only read the first approximately 1,000 users, because the query was performed without paging. The import now uses a page-by-page LDAP query (Simple Paged Results, RFC 2696) and reads all users in full, regardless of their number. The server-side upper limit per page (e.g. |
|
2286 |
The PLANTA pulse file storage now accesses the DT460 hyperlink table natively. A schema filter permanently prevents the Hibernate schema generation from changing PLANTA-owned tables. Previously, the shared table DT460 could be damaged in the process. |
|
2369 |
When the |
Security Updates
|
Key |
Description |
|---|---|
|
1536 |
Security updates for Java libraries: c3p0 updated from 0.9.5.5 to 0.12.0 mchange-commons-java updated from 0.2.19 to 0.4.0 OpenTelemetry Java Agent updated to v2.26.1 incl. API 1.60.0 and new dependency opentelemetry-common (GHSA-72hv-8253-57qq) |
|
1609 |
The Netty libraries have been updated from version 4.1.74.Final to 4.1.132.Final. |
|
1698 |
Migration from Jetty 10.0.x (end of life) to Jetty 12.0.34 with the EE10 profile. At the same time, Jersey (2.x → 3.1.9), Hibernate Validator (6.x → 8.0.x), and the Prometheus servlet dependency were migrated to the Jakarta EE 10 variants. All internal |
|
2005 |
The Java libraries Jersey (3.1.10) and Netty (4.1.135.Final) as well as the PostgreSQL JDBC driver (42.7.11) have been updated to CVE-patched versions, as has the OS package libssl3t64 in the base image. |
|
2106 |
The Microsoft SQL Server JDBC driver has been updated from |
|
2107 |
Jackson Databind has been updated from 2.21.2 to 2.21.4. The XML parser Xerces has been updated from xercesImpl 2.12.0 to 2.12.2. |
|
2364 |
Several CVEs rated “High” in bundled Java libraries have been resolved by updating to patched versions: PostgreSQL JDBC driver 42.7.11 → 42.7.12 Netty (entire module set) 4.1.135.Final → 4.1.136.Final Jetty (entire module set) 12.0.34 → 12.0.36 |
S 39.1.7 (worker)
Bugfixes
|
Key |
Description |
|---|---|
|
2497 |
The issue causing a newly inserted data record to be internally discarded (message: |
S 39.1.7 (manager)
Bugfixes
|
Key |
Description |
|---|---|
|
2381 |
Several CVEs rated “High” in the Java libraries bundled in the manager image are resolved by updating to patched versions:
There is no change in behavior for users. These are purely library updates to address security vulnerabilities. No action is required during installation or operation. |
S 39.1.6 (worker)
Features
|
Key |
Description |
|---|---|
|
2412 |
The Python API |
|
2414 |
The Python API |
S 39.1.6 (manager)
Features
|
Key |
Description |
|---|---|
|
2245 |
When importing users via LDAP, users from child groups can now also be imported. If the New parameters:
|
Bugfixes
|
Key |
Description |
|---|---|
|
2316 |
Manager now always retrieves the ProtoInterface image as a release image, regardless of its own build configuration ( |
|
2369 |
When the |
|
2373 |
If an SQL statement contains a large number of UUID parameters, these are reduced (as with other parameter types) by using a temporary table. In some cases (when there were more than 1,000 UUID parameters) this did not work, resulting in performance issues and database error ORA-01795. |
S 39.1.5 (manager)
Features
|
Key |
Description |
|---|---|
|
2225 |
The access path for LDAP import and LDAP login has been optimized. Instead of two, only one database session/transaction is now opened per user. Existing attributes are deleted using a bulk statement rather than individually, which reduces the database load. Configuration and operation remain unchanged. |
|
2104 |
Performance has been improved for database configurations with higher latency (e.g., due to a firewall between the server and the database).
These parameters are already set to their default values for optimal performance. Adjustment is generally not necessary. |
Bugfixes
|
Key |
Description |
|---|---|
|
2208 |
The LDAP import now performs a page-by-page LDAP query. All users are now imported in full, regardless of their number. Since the query was previously performed without paging, only the first approximately 1,000 users were imported for large directories (e.g., Active Directory). Server-side limits per page (e.g., New parameters:
|
S 39.1.5 (worker)
Features
|
Key |
Description |
|---|---|
|
1907 |
During the update, customer-specific SQL scripts can now be executed before (pre-import) and after (post-import) the customizing deployment. The scripts are executed from the following directories: • Pre-import: |
|
2104 |
Performance has been improved for database configurations with higher latency (e.g., due to a firewall between the server and the database).
These parameters are already set to their default values for optimal performance. Adjustment is generally not necessary. |
S 39.1.4 (worker)
Bugfixes
|
Key |
Description |
|---|---|
|
1979 |
The cause of an infinite loop during container updates ( |
S 39.1.4 (manager)
Features
|
Key |
Description |
|---|---|
|
1910 |
Custom configurations can now be deployed as a container image. The custom image is created based on the standard customizing image and can override all content from the standard customizing. The new environment variable |
S 39.1.3 (manager, worker)
Features
|
Key |
Description |
|---|---|
|
1394 |
The server parameter |
|
1875 |
Performance is improved by no longer using customizing symlinks to Python and Jython. These can cause massive latency when starting new sessions if the transfer server is slow. Instead, the customizing directories are copied only once when the container starts. |
S 39.1.2 (manager, worker)
Security Updates
|
Key |
Description |
|---|---|
|
1559 |
Security updates for Java libraries:
|
Bug Fixes
|
Key |
Description |
|---|---|
|
1546 |
Fixed a bug where the server did not check for the ProxyToken message while waiting for the web client connection. As a result, login via OIDC (e.g. Microsoft Entra) was not possible. The server now correctly checks for the ProxyToken message and performs the login accordingly. |
S 39.1.1 (manager, worker)
Features
|
Key |
Description |
|---|---|
|
1107 |
The OIDC implementation was revised and the required parameters were reduced. See Server Parameters. The IdP configuration is read from the For use with Cloudflare, see the following point. |
|
1283 |
A new authentication mechanism, Cloudflare Access, has been implemented for the PLANTA server. This enables authentication with OIDC and Cloudflare as a provider directly via the web client from version 3.6 onwards without an additional proxy. For more information see Cloudflare mit PLANTA secure The corresponding Environment Variables are now also available:
|
|
1253 |
The server respects the order of authentication methods as defined in the configuration settings.
|
|
1267 |
Debug logging for OIDC configurations has been extended. |
|
1342 |
JDBC driver updated to the latest version Oracle ojdbc11-23.26.0.0.0.
|
|
1291 |
The timezone can now be configured in the manager and worker containers:
|
Bug Fixes
|
Key |
Description |
|---|---|
|
944 |
Migration helper tables are only created when the server starts in migration mode, no longer on every server start. |
|
1149 |
The projection values below the schedule scale are now correctly updated after the values in the corresponding fields have been changed and the scheduling calculation has been performed. |
S 39.1.0 (manager, worker)
Features
|
Key |
Description |
|---|---|
|
711 |
Attributes can now also be read as binary data and stored Base64-encoded.
|
|
1128 |
Performance has been improved, as the default value of the parameter |
|
1158 |
The JDBC driver has been updated to the latest version: mssql-jdbc-13.2.1.jre11
|
|
1194 |
In the current Microsoft JDBC driver, encryption is enabled by default. New parameters are now available for targeted control of encryption:
|
|
1064 |
Parameters that are new and "unknown" to the server can now be defined.
|
|
704 |
Parameters in SQL statements are now passed in temporary tables. This also bypasses the maximum parameter count limitation in both MSSQL and Oracle. |
|
875 |
Hibernate lib updated to version 5.6.15 and Hibernate Validator lib to 6.2.5 |
|
1130 |
The default value of the environment variable |
|
1197 |
There is a new server parameter
The parameter |
|
1197 |
The endpoint of the Prometheus interface can be changed via the parameter The metric prefix is now |
|
680 |
Prometheus lib updated to version V1.3.10
|
|
684 |
The handling of custom deprecation messages has been improved. |
|
1019 |
ExitCode 253 has been added. This indicates that after the data import, the constraints could not be re-enabled. |
|
38 |
The web client can now also authenticate via OIDC JWToken. For this purpose, the web client sends the user and access token to the server. The server validates the tokens and uses the contained data for login. New Environment Variables have been implemented:
The URL of the idToken endpoint is composed as follows:
The URL of the jwks endpoint is composed as follows:
|
|
1203 |
It is again possible to generate coredumps in the container in the event of an error.
|
|
1147 |
Due to a bug fix, DDL statements are never executed with bind variables. |
S 39.0.4 (manager) and S 39.0.3 (worker)
Features
|
Key |
Description |
|---|---|
|
1024 |
With the new Configuration Parameter A prerequisite for using this option is updating both server components, i.e. the manager and the worker. |
S 39.0.2 (worker)
Bug Fixes
|
Key |
Description |
|---|---|
|
910 |
The removal of virtual DIs from SQL statements has been improved. |
S 39.0.3 (manager)
Bug Fixes
|
Key |
Description |
|---|---|
|
930 |
Removes a security vulnerability by updating the libraries used for LDAP |
S 39.0.2 (manager)
Bug Fixes
|
Key |
Description |
|---|---|
|
880 |
The worker now starts correctly, even if the variable |
|
890 |
For the MSSQL database, character encoding is enabled and set to utf-8 format.
|
S 39.0.1 (manager, worker)
Bug Fixes
|
Key |
Description |
|---|---|
|
661 |
Hibernate updated to version 5.6.5 |
|
672 |
Security vulnerabilities have been fixed. |
S 39.0.0 (manager, worker)
Features
|
Key |
Description |
|---|---|
|
323 |
Internal server communication has been improved: Protobuf messages can optionally be output in the log, enabling better traceability. |
|
171 |
The metrics of the Prometheus interface now consistently start with "planta__server__" for unified naming. |
|
37 |
The server now uses an up-to-date CPython version 3.12.9 for improved stability and security. |
|
332 |
Authentication now supports login via JWT token. |
|
110 |
The storage of version information has been standardized. Version information is generated in JSON format with the following attributes:
A separate node is created for each component: (manager / worker / client)
|
|
532 |
Exit codes from Linux/Signals have been added and provided with descriptive messages that are output when the process is aborted. |
|
440 |
Logging at the start of a client session has been cleaned up and unnecessary messages removed. |
|
293 |
With the Python function |
|
272 |
The effect type "Round" has been added to the list of available effects. |
|
365 |
The execution of migrations has been accelerated by excluding irrelevant packages. |
|
255 |
Parameters for clientless sessions can now contain nested dictionaries, providing more flexibility. |
|
680 |
The monitoring interface has been set to deprecated. Instead, the Prometheus Interface or the Health Endpoint should be used. |
Bug Fixes
|
Key |
Description |
|---|---|
|
29 |
Fixed a bug where the utilization charts displayed incorrect values over the course of the day after various scheduling calculations, which could previously only be corrected by rescheduling. |
|
281 |
During the LDAP import, UUIDs are now consistently preserved, ensuring unique identification. |
|
76 |
The user ID is reliably transmitted when using the server adapter without LDAP or OIDC, to ensure correct authentication. |
|
601 |
The Deviations module now processes data stably and without Python exceptions. |
|
300 |
Creating statements with virtual data items and relations to parent areas now works as intended. |
|
90 |
Statement parsing has been optimized so that literals are only replaced at the correct positions. |