Neptune DXP - Open Edition 23.10.0

Mobile Client

  • The filter in the build list is now reset on loading a new mobile client

  • The size and active columns in the build list now correctly sort

  • Fix: App stuck at "Loading tiles for the first time…​"

  • Added the ability for users to change the Android engine version directly from the mobile cockpit.

  • Enabled the feature to add targetSdkVersion in the mobile cockpit. This will help developers to specify the latest Android API level that the application is tested against.

  • Added functionality to set minSdkVersion and maxSdkVersion from the mobile cockpit. This will help developers in defining the range of Android versions under which the application is expected to run.

  • Add preference AndroidWindowSplashScreenAnimatedIcon in config.xml to set the splash screen image for Android 12+


  • Custom Cockpit Tiles now support beforeClose and beforeHome events

  • The user selection dialog now supports pagination allowing the support for more than 10,000 entries

  • Apps that allow customising visible columns now save the visible columns for each user

  • Tables that saved their sorting order now will sort by name if no custom sorting has been set and a name column is visible

  • 'Services' has been renamed to 'Tools'

  • The artifact search results are now expanded on search

  • Favourites can now be displayed as a tile instead of a tile group

  • Custom Cockpit Tiles now support width and height properties

  • Custom Cockpit Tiles now support background colour/shade properties

  • Custom Cockpit Tiles now support running an application in the tile

  • There is now a dropdown menu to select how many items to show in the Marketplace Featured Items tile

  • Display artifact name in audit log table

  • The Marketplace tiles have been renamed as DXP Marketplace

  • The Script Editor tile’s description has been updated

  • The DXP Marketplace Featured Products tile will now only show for users with the right permissions

  • Converting a tile to a Cockpit Tile will now clear unsupported attributes

  • The list of open applications now scrolls

  • Development Packages and Launchpads have been added to the artifact search

Media Library

  • Export/Import zip to selected folder


  • Feature: Use dialog for PWA install app instead of top bar

  • Feature: Add support for lazy/offline loading section background images

  • Feature: If you have Naia available, it can now generate and apply a color scheme to your Launchpad layout

  • Feature: Lazy load images. Earlier if a large image was present anywhere on a tile, it kept the launchpad in loading state until all the pending images were downloaded

  • Feature: Show a cookie confirmation dialog, if it is enabled for the launchpad

  • Feature: Add 'webp' support to PWA offline image cache

  • Feature: Add support to cache SAPUI5 library loaded from CDN for PWA

  • Feature: Add translations for NyNorsk and Sámi

  • Fix: Tab navigation flow when vertical menu is pinned

  • Fix: Reset launchpad content area width after all open apps have been closed

  • Fix: Enhancements with the last line set to a comment triggered js error

  • Fix: Disable reset pincode screen if the user is not logged in

  • Fix: Locking the screen, removes the title in the header bar

  • Fix: Show custom logo for PWA. Previously Neptune logo was visible even if custom logo was specified

  • Fix: Clicking on the logo while an app is open, leads to open apps sidebar menu overlaying the content area

  • Fix(pwa.json): use custom logo as icon if no iOS/Android icon is available

  • Fix: Fetching users from cache goes into an infinite loop over 'waitForCache'

  • Fix: Load user data before loading AppCache

  • Fix: During initialization user info might not be available. Therefore, apply user theme, after user info is available

  • Fix: Autolock the user, when user is idle for time specified

  • Fix: Logic error for detecting if app is offline

  • Fix: Error in code caused Azure AD/OIDC login to fail

  • Fix: Download app updates when the user gets online

  • Fix: When left app navigation is pinned. On blur, reset tab indices. Otherwise, tab navigation cycles back to app navigation menu

  • Fix: New screen not showing in side menu, on clicking header logo

  • Fix: Include a favorites TileGroup in the launchpad top menu. Navigate to/from favorites causes flickering effect and navigation did not work

  • Fix: TileGroup marked as "Included Favorite Group" is unable to show the tiles it contains

  • Fix: CordovaRequest fails to construct Url with absolute path

  • Fix: Lazy load images one at a time in sequence rather than downloading multiple images

  • Fix: Prevent an additional attempt at login via pincode, after all valid retries have been used

  • Fix: Add new tile group at approximate position on a customized launchpad

  • Fix: Run autolocking timer, if autolock is enabled but pincode has been disabled. Previously autolock only worked if both pincode and autolock were enabled

  • Fix: "Loading tiles for the first time" shows on each load

  • Fix: On mobile, only the first tile image shows

  • Fix: Run autolocking timer, on clicking user from the lock screen - #2828

  • Fix: Autolocking on OIDC/Azure user logins fail, if window popups are blocked

  • Fix: Resetting language to default or empty under launchpad did not reset user’s language. Now it will revert to English

  • Fix: Adding new tile group or tiles to an existing launchpad with launchpad customizations enabled, fails to show the newly added items

  • Fix: Login screen showing between pinning and unpinning a favorite tile

  • Fix: Clicking on a subgroup in left navigation shows the login screen

  • Fix: In offline mode, successful login via pincode failed to load any cached tiles and ends up showing a continuous loading animation

  • Fix: In offline mode, PWA apps show up as a blank screen

  • Fix: Going from display to edit mode, deselected any active layout in cockpit app

  • Fix: Tile group containing no tiles, only tile groups, show up as empty

  • Fix: Fallback to non-customization API to fetch tile groups when customizations are disabled, but its API fails to return anything

  • Fix: Loaded apps did not respect user’s selected language. Now app will be loaded based on the user’s chosen language

  • Fix: PWA apps did not add launchpad into cache on first load in iOS Safari. If you go offline after first load, subsequent opening of PWA showed a blank screen

  • Fix: New tiles do not appear within child tile groups, when customizations are enabled

  • Fix: Update OpenUI5 custom CDN version reference from 1.71.47 to 1.71.59

System Settings

  • You can now authenticate to SMTP servers using OpenID Connect(OAuth2)

  • Add a response type field for OpenID authentication

  • Set storage location of media library, mobile builds and pdf docs to azure blob, file system or database

  • Add language support for NyNorsk and Sámi

Table Browser

  • All fields are now selected by default

  • Date fields now show a date/time picker for selection

Table Definition

  • You can now import JSON data to define the structure of a table

  • You can now generate an API based on the selected table directly from the table definition

  • Exporting a table definition will now export as a .planet9 file to help avoid confusion when importing

Adaptive Designer

  • Changes to translations are now registered as changes to the app, and the status is updated accordingly

  • Translations are now saved and loaded correctly when changing between selected languages or refreshing the app

  • The application name is added as a query string parameter when opening an application

App Designer

  • The app is now marked as changed as soon as changes to code occur rather than just on blur of the editor

  • Changes to translations are now registered as changes to the app, and the status is updated accordingly

  • ModelPath attributes exposed in a Custom Component Interface now correctly set the binding when using App Handler V2

  • Create versions when activating for the X last activations

  • The context menu now includes a "Duplicate" command that duplicates the selected objects and places them next to the object that opened the context menu

  • Copy/Paste would sometimes not work if you had app objects in the clipboard

  • Removed the binding button for some attributes that were not able to be bound

  • The value help for attributes will now select the first item visible when you press enter

  • Middle-clicking on a tab will now close it

  • The version diff should exhibit more expected behaviour when deleting objects or moving parent objects

  • The open menu will now scroll when displayed on lower resolution screens

  • Added support for the toolbar aggregation for

  • Undo history is no longer cleared on save or activation

  • When activating an application that uses custom components the header contents will now be applied in the order the components appear in the application

  • Added support for AvatarGroup, ProductSwitch, SidePanel, DynamicDateRange

  • Added sap.m.MessageView

  • 'Refresh Masterdata' now updates Rules and Custom Component interface attributes

  • You can now filter the attributes panel to show only changed attributes

  • The data model dialog now has an option to export the definition to JSON

  • Data Models can be exported to a file for easy editing

  • Right-clicking an attribute now offers the option to reset it

  • You can now hide attributes that are unsupported by your current UI5 version (not including custom CDN versions)

  • Renaming a custom component in an app no longer causes an error in the console on save

  • Copy app dialog has been simplified

  • Model path parameters are now validated on entry

  • Search and ToDo buttons now toggle the search panel

  • Toggling the layout of the object trees no longer breaks the current Monaco tab

  • The query string parameter i.e. application=appname is now updated when changing applications

  • Connectors have been added as an object in the App Designer

  • Visual properties App are pulled from DXP portal; it’s possible to disable and fall back to the old properties dialog

  • A new attribute search has been added that searches all non-script properties

  • Highcharts has been upgraded to version 11 and now includes the accessibility module by default

  • RestAPI bindings are now created in the correct order

  • BuildMode was added, now the user can preview the changes without activating

  • Formatters are added dynamically. When a property is bound it can have a formatter

  • Text properties inside custom components are now correctly translated

  • The Monaco type popover is no longer clipped when displaying at the top of an editor

  • Translations are now sorted on save/activate to improve diffs

  • You can now enable Advanced Ligature settings for supported fonts i.e. [Monaspace](

  • You can now enable a Cursor Surrounding Lines value to affect how many lines Monaco will attempt to keep above/below the cursor when scrolling

PDF Designer

  • If you have Naia integration available there is now an option to automatically generate test data based on the PDF interface

  • Display only access no longer causes a JavaScript error stopping access to the PDF Designer

  • Allow elements to be kept together on the same page using the stack’s "unbreakable" property

  • The application name is added as a query string parameter when opening an application

  • New property "resizeEmpty" on Image element which allows minification of empty images

Email Template

  • If you have Naia integration enabled there is now an option to generate Email templates

  • Saving a new template before navigating to the editor no longer results in the editor being stuck in display mode

  • The Email template counter will now show the correct count also when filters are active


  • Always use same hostname for internal requests. Configurable with env PLANT9_LOCAL_HOST_NAME

  • Support for Ionic Framework has been permanently removed from application development and mobile clients

  • If the Naia integration is enabled in the System Settings, it is now available as an option for translation in the App Designer, Adaptive Designer, and the cockpit Translation app

  • Host is now included as a variable in password reset email templates. Useful when a password reset email template is transferred to another system

  • Option to send notification email X number of days before user token and certificate expiry

  • Job Next Start is recalculated when interval is changed

  • createdAt/updatedAt timestamp returned as a string on mssql and postgresql but number on hana and sqlite. All DBs will now return strings

  • Documentation searches are now available across key tools (Cockpit, App Designer, Script Editor etc…​)

  • When running in DXP Cloud the server processes application would not display data

  • Development package "force update" only needed when there are uncommitted changes, i.e. DB not in sync with last import or push

  • title and subtitle formatter

  • Launchpad and adaptive template apps are added to DB on startup if not already present

  • Only .json files are selectable when committing development package files

  • Azure AD has been renamed as Microsoft Entra ID

  • Fix: Invalid user/group search query in LDAP settings can throw an error causing user login to fail

  • Update button for development package artifacts

Server Script

  • When is set to a readable stream and can be piped the data will be streamed to the client when using the script in an api server script

  • There are now code snippets for OpenAI

  • The Script Editor Code Snippets dialog now displays all children of an item if it matches the searched value

  • The Script Project description is now saved correctly when creating a new Script Project

  • Script tab tooltip displays script name

  • Middle-clicking on a tab now close it

  • You can now call GOS functions from the Script Editor using the functions available on the p9.gos object

  • The OpenAI module has been upgraded to 4.17, this may require rewriting some scripts

  • Load @types/node in server script editor - #2256

  • The OpenAI code snippets have been updated to the new syntax used by the OpenAI library

  • NOTE!! jsftp and sftp(ssh2-sftp-client) have been removed from the global server script scope. They must now be installed as any other npm module, included in the script as a dependency and referenced with modules.jsftp and modules.sftp.

  • A new option to copy a selected script has been added to the context menu

Adaptive Templates

  • Switching between adaptive edit app in the launchpad caused multiple upload events to be registered. Which resulted in repeated uploads to occur for the uploaded file

  • Fix: Uploading attachments in Adaptive Edit template

  • Fix: In Adaptive Edit app. Setting a dynamic title or subtitle overrode title and subtitle. Even if dynamic title and subtitle is removed subsequently


  • Body/Parameter properties are no longer sent as empty objects if they are empty

  • Connector endpoints now have more correct permissions assignments allowing Connectors in the App Designer without Edit permissions

  • API Connectors now support the OpenAPI 3.0 standard for object arrays

  • Ensure we always have a selectedMethod set

  • Reset mapping data when toggling to display

  • Only show drag/drop message when available

  • API Connectors are now previewable

  • APIs with in-path query parameters are now supported with API Connectors

  • There is now a value help to set mapping parameters without using drag and drop

  • Running a Connector no longer requires an ACL rule

  • Show error when failing to connect to SAP API Factory

API Designer

  • Drag and drop functionality for definition properties has been updated and now allows drop-into

  • General UI improvements

  • There is now a warning if you attempt to save an API with a duplicate name

  • Toggling the Show operations button to On allows you to see and search for operation names on the initial page

  • Attach pre-request hook script to API operation. Script is executed before request is sent from proxy or when calling API from server script. Request configuration can be modified by modifying object 'requestConfig in server script'

  • API groups now register as changed when an API in the group changes

  • The roles dialog is now sorted by name

  • Added ability to synchronize the API with a URL

Theme Designer

  • If you have the Naia is available, it can now generate a color scheme for your theme

Theme Import

  • We now verify required fields before importing files

Workflow definition

  • The workflow definition has gotten a new appearance with a new graphics library

Workflow overview

  • Fix: Attachments can now be added to workflows without errors

  • Colors for user icon under Notes have been fixed for dark and light mode

Deployment Create

  • Fix: Creating deployment no longer fails if workflow includes task actions

  • Sorting by version now sorts correctly


  • Deleting a documentation now updates the counter

OData Source

  • Fix: Limit proxy authentication selection to items available in the list

Proxy Authentication

  • Fix: Prevent creation, if empty or no headers are entered when type is set to None


  • Entries in the Roles dialog are now sorted by name

  • Users logging in from idp will not be able to if it would exceed the license limit

Favorite Management

  • Exporting/importing a list of favorite tiles now includes the tile name

System Logs

  • A new "Silly" filter has been added to the list of filter levels

  • Removing all status filters now correctly displays all log entries

Tile Group

  • The whole color palette list is now fully visible in the Tile Color dialog