Neptune DXP - Open Edition 24.12.0

Node.js upgrade from version 18 to version 22 in Neptune DXP - Open Edition
  • node_sqlite3.node MUST be removed from the root directory when running the Neptune DXP - Open Edition executable. If not removed, Neptune DXP -Open Edition will not start!

  • Upgrading to this patch might introduce breaking changes in server script code! Please test in a QA system before upgrading your production system.

  • Make sure to follow the migration checklist here.

Special notice on Git integration for Neptune DXP - Open Edition 24.12.0

In Neptune DXP - Open Edition version 24.12.0, we introduced changes to how script artifacts are stored in order to prevent naming collisions between scripts belonging to different projects.

Previously script were exported with the following notation:

/artifacts/Script/script-name/script-name.json
/artifacts/Script/script-name/content.js
/artifacts/Script Project/script-project.json

To support project-specific script organization while maintaining compatibility with earlier versions, Neptune DXP - Open Edition 24.12.0 introduced a duplicate export structure:

/artifacts/Script/Project/script-project/script-name/script-name.json
/artifacts/Script/Project/script-project/script-name/content.js
/artifacts/Script/script-name/script-name.json
/artifacts/Script/script-name/content.js
/artifacts/Script Project/script-project.json

This structure allowed exports from version 24.12.0 to remain importable in systems running version 24.11.0.

However, if only a single script was exported from a 24.12 system, the export still included:

  • the script in the flat Script/ folder

  • a Script/Project/ folder—but only for that script’s project

This caused issues when importing into another 24.12.0 system: When a Script/Project/ folder is present, the system assumes all scripts are located there and ignores scripts in the flat Script/ folder. As a result, only the exported script appeared in the target system—even though others existed in the database or repository.

Action Required: If you are using Neptune DXP - Open Edition version 24.12.0, always perform a full export of all scripts at least once.

This ensures the Script/Project/ folder contains all scripts, not just a subset, and avoids partial imports or missing artifacts when syncing with another version 24.12.0 system.

Adaptive Designer

  • Fix: Setting an event to open a regular application incorrectly assigned the application ID instead of application name

  • Fix: Adaptive edit and splitter/layout template - load nested applications consistently and with the right data

  • Fix: Adaptive edit template no longer duplicates attachments

  • Fix: Adaptive edit template’s Attachment button no longer throws an error on the second attempt

API Designer

  • Fix: Restore Neptune DXP - Open Edition 23 LTS behavior when creating endpoint from API server script name, remove space and convert uppercase characters to lowercase

App Designer

  • Fix: Application tree scrolled to the top when selecting objects

  • Fix: Application name now wraps in the open application dialog

Audit Log

  • Fix: Changes to connectors now create audit log entries

  • Fix: When fetching audit log entries for a given object ID, the audit log content is not included

Deployment Create/Transfer/Log

  • Fix: Role assignments are now included in the deployment of applications

  • Fix: Clear bidirectional tile-to-layout relationships before saving layout artifacts to prevent circular references

  • Fix: Show Launchpad Layout/Tile Group Layout/Tile Layout artifacts in the deployment dialog when importing deployment file

Deployment Log

  • Fix: Sort version numbers correctly

Development Package

  • Fix: Format branches and tag names correctly

  • Fix: Require a commit message when pushing a commit

  • Fix: When creating an artifact and assigning it to a package, require the user to have edit access to the development package

  • Fix: Include the script project in the script path when pushing to Git to prevent scripts with the same name from being overwritten

Launchpad

  • Enhancement: When customizations are disabled, hide empty child tile groups that have no tiles

  • Enhancement: The main menu can now be displayed inline among the rest of the launchpad header buttons. A new setting to enable inline header menu was added to the cockpit launchpad configuration

  • Fix: Applications with Bootstrap controls now load

  • Fix: Nested adaptive applications now load correctly

  • Fix: On load, automatically fetch app updates connected to tiles

  • Fix: Prevent customization button from appearing on tile when screens are locked

  • Fix: Hide PWA install dialog on iOS devices

  • Fix: If no cockpit customization had been configured, the customization translation was not be defined, throwing the error translation.find is not a function

  • Fix: Saving favorites was called on launchpad start-up, causing the favorites request to be empty, causing unnecessary entries in the server log

  • Fix: Creation of a new launchpad now checks for existing launchpads using a non-case-sensitive algorithm

  • Fix: The Move Tile to Another Screen dialog now shows correct tile name in the dialog header

  • Fix: If a tile layout with icon image shape configured was used, the generation of the tile would result in an error

  • Fix: The Tile Group header menu would be displayed, even though the setting for this was not enabled in the launchpad config

  • Fix: Tile Layout image filter not applied: A tile image can be configured in the tile configuration and/or in the tile layout configuration. If the tile image was configured in the tile layout configuration, image filters added to the tile layout were not applied to the tile image

  • Fix: When calling AppCache.Load with a configured parent object multiple times, the child view was not reused. The child view would be created from scratch each time triggering both the init and beforeDisplay events. Now the child view is reused and only the beforeDisplay event is called on subsequent loads

  • Fix: Header width set in the launchpad layout now sets the configured header width

  • Fix: Use the web application name instead of the web application ID when fetching a web application used as the start application or as tile action

  • Fix: The auto-sign out process did not work if a user entered a wrong pin code too many times

  • Fix: Use Network First strategy instead of Networ kOnly, which will serve user requests from cache which was previously not possible during offline mode

  • Fix: Microsoft Azure sign-in popup issues on Electron

  • Fix: If a tile is configured to use a tile layout where Fit Tile Height is set to true, the tile height now takes up only as much space as the tile needs

  • Fix: PWA launchpad: When reloading a PIN code-enabled PWA, the user screen is now displayed instead of the number pad screen

  • Fix: When signing out using the sign-out button in the number pad screen or by deleting a user in the user selection screen, a confirmation dialog is now presented to prevent unintended sign-out or deletion or users

  • Fix: Prevent GetTiles from showing list of tiles under category if user does not have access

  • Fix: Check role-based access to tile groups. Previously tile groups with role at parent and child level were visible, even if the role was not present on the user

  • Fix: If application is expected to return JavaScript or JSON, prevent application from getting stored in database when HTML is returned

  • Fix: Sign-in fields are now cleared in a mobile client

  • Fix: When going to the Settings menu from the tile context menu, the correct user details are now displayed in the Settings dialog header

  • Fix: New user sign-in button is now disabled in offline mode

  • Fix: Only 7 number pad markers were displayed when the PIN length was set to 8

  • Fix: Auto-lock was disabled when biometrics was enabled

  • Fix: If a tile with tile action Tile Group had a side-navigation application defined, the side navigation did not open correctly

  • Fix: Saved splitviews would not load consistently on PWA-enabled launchpads

  • Fix: If blackout was enabled in a PWA-enabled launchpad,Loading tiles for the first time was not hidden

  • Fix: Scroll to tile group from header menu navigation now scrolls to the section

  • Fix: When removing a user from the user list, a confirmation dialog is displayed

  • Fix: Sometimes a user was signed out due to inactivity, even though the user was using the app

  • Fix: Launchpad blackout now works for all sign-in types

  • Fix: Blackout status will now be stored for offline usage, so that offline content cannot be viewed if the launchpad was blacked out before offline mode

  • Fix: The launchpad menu button would be center-aligned instead of left-aligned on press

  • Fix: Splitview applications can now be opened from search box

  • Fix: A tile group with a tile that opens the same tile group would cause an infinite loop

  • Fix: PWA-enabled launchpad is unable to sign in using Micrsoft Entra ID

  • Fix: Subtitle and description of tile groups now displayed in full length

  • Fix: Enabling blackout on a desktop launchpad displays the blackout message and signs the user out

  • Fix: Setting Only Light or Only Dark left unused labels visible

  • Fix: The launchpad menu button would be center-aligned instead of left-aligned on press

  • Fix: Web application not found the second time a web application was opened as a dialog

  • Fix: If a tile has the action to open a web application in a dialog, the web application context now fills the entire dialog content area

  • Fix: If a tile has the action to open a URL in a dialog, the URL content now fills the entire dialog content area

Launchpad Layout

  • Fix: The Force Applications to Use the Canvas Width setting was hidden if the Canvas Width was set to Full

Mobile Client

  • Fix: Issue with signing in on a device with biometric sign-in enabled with multiple users was fixed

OData Mock Data

  • Fix: Adding a new dataset would instead change the existing dataset

  • Fix: Changes to datasets are now checked when attempting to go back to the list page

Script Editor

  • Fix: Global scripts not reloading in client script executor

  • Fix: req.params is now shown in the req code snippet

System Logs

  • Enhancement: Add the ability to search across all files in System Logs instead of a single file

System Settings

  • Fix: Allow /, \_ and . characters in authentication path

Tile

  • Enhancement: The tile help dialog only supports a limited subset of HTML tags. A pure text area has replaced the Rich Text Editor for the configuration of tile help text. A content-aware help was attached that explains the supported HTML tags.

  • Fix: Some irrelevant configuration options were available for Cockpit tiles

  • Fix: Creating a new tile could incorrectly display another tile’s Where-Used data

Tile Group

  • Fix: A cyclic tile group relationship caused endless recursion getting tile group data on save

  • Fix: Description of tile groups now displayed in full length

  • Fix: Navbar and side navigation groups are now cleared when creating a new tile group

  • Fix: Selecting a navbar or side navigation from a new tile group no longer throws an error

Tile Group Layout

  • Fix: Clear Where-Used when copying a tile group layout

  • Fix: Deletion is not prevented when a tile group layout hierarchy is used

Tile Layout

  • Fix: Image-specific settings from the Tile Layout tool was not applied correctly in the launchpad, if the tile also had image settings configured and the Force Tile Layout Attributes setting selected

  • Fix: Clear Where-Used when copying a tile layout

  • Fix: Deletion is not prevented when a tile layout hierarchy is used

Web App Manager

  • Fix: Clear web application cache in all processes on web application update

Back end/Miscellaneous

  • Enhancement: DOMPurify upgraded to version 3.2.4

  • Enhancement: Socket.IO upgraded to version 4.8.1

  • Enhancement: workbox upgraded to version 7.3.0

  • Enhancement: Filter system package from package dialog on select and prevent system package from being assigned to artifact

  • Enhancement: Show system node version in System Info tile

  • Enhancement: Labels in the System Info tile have been changed from OE Node Version and System Node Version to Embedded Node.js and System Node.js, respectively

  • Enhancement: Only import bundled packages when system role is set as the default Local

  • Enhancement: OAuth 2.0 providers are now displayed dynamically as branded sign-in buttons

  • Fix: The sign-in page for /launchpad/:name requests is not returned when a valid authentication header is present

  • Fix: Bootstrap theming no longer breaks standard OpenUI5 themes

  • Fix: CONFIG_SECRETS only removed property from the database, not the config file when set with an environment variable

  • Fix: Include roles assigned to a security group that a user belongs to in AppCache.userInfo.roles

  • Fix: An error is not thrown when calling API without opts.user parameter but with authentication from server script executed by job

  • Fix: Remove trailing hash from OpenID Connect callback URL received from sign-in popup