Neptune DXP - Open Edition 24.14.4 release notes

August 19, 2026

Upgrade notes

Starting with Neptune DXP - Open Edition version 24.14.1, a new environment variable SESSION_SECRET may be set. When upgrading from earlier versions (that is to say, versions before 24.14.1), you must explicitly set this environment variable during setup and ensure it is identical across all instances in multi-instance or scaled deployments. If not configured consistently, each instance will generate its own secret, which can lead to authentication failures (for example, users being unable to log in due to mismatched session cookies).
  • Updated the embedded Node.js runtime to version 22.23.2, incorporating the latest Node.js security release

    Node.js upgrade from version 18 to version 22.23.2 in Neptune DXP - Open Edition

    The following information applies only when upgrading from Neptune DXP - Open Edition versions 24.11.0 or earlier. If you are already on Neptune DXP - Open Edition version 24.12.0, or above (that is to say, a Neptune DXP - Open Edition instance with a Node.js version higher than Node.js 18), these notes do not apply.

    • Remove node_sqlite3.node from the root directory before running the Neptune DXP - Open Edition executable. If not removed, Neptune DXP - Open Edition will not start.

    • Test your server script code in a QA system before upgrading your production system, as this patch might introduce breaking changes.

    • Follow the migration checklist here.

    While you can run any Node.js 22 version, Neptune recommends running the same version as your Neptune DXP - Open Edition instance.

Enhancements

Script Editor

  • A new p9.ai.createEmbedding(modelId, input) script function creates embedding vectors for a single string or an array of strings using the specified embedding model.

  • findSimilar now accepts a withSimilarity: true option that returns matched entities with a similarity score in the range [0, 1]. The default distance metric is now cosine for semantic similarity, supported on both PostgreSQL (via pgvector) and MSSQL (via VECTOR_DISTANCE).

User launchpad experience

  • The login screen now shows a busy indicator and disables the login button while a logon request is in flight, preventing duplicate submissions. The button is re-enabled if the logon fails.

Bug fixes

API Designer

  • An API can now be created over tables that contain vectorized columns. The vector type is now a recognized API definition type, so such columns no longer fail definition validation with an HTTP 422 error.

App Designer

  • When converting translations to i18n, attribute texts are now replaced with a binding to the newly created i18n attribute, so fields no longer retain their hardcoded text.

Authentication

  • SSO and external users (Microsoft Entra ID, OpenID Connect, SAML) are no longer logged out of a PWA launchpad on refresh while their server session is still valid.

  • Launchpad Azure login now completes reliably, resolving an occasional failure caused by an msal.js race condition.

  • The launchpad again requests a separate token for the scopes configured under Settings > Authentication > Optional Access Scopes (Microsoft Entra ID), resolving a v24 regression where only the base scopes were requested and no scoped token was issued. As a result, AppCache.userInfo.azureResourceToken and v2azureResourceToken are populated as in version 23, and the token is refreshed before it expires and after re-login.

Mobile Client

  • On iOS, the web view is no longer shifted below the status bar, resolving the empty strip at the top of the screen and the footer buttons being pushed under the home indicator.

  • On iOS, launchpad, tile group, and tile i18n texts no longer fall back to raw keys. The referenced i18n resources are now bundled into the packaged client and loaded from the local origin.

Naia Agent Studio

  • The AI 'create' tool automation no longer overwrites an existing record when the model supplies an id that already exists. It now only inserts new records instead of silently upserting. The AI 'update' tool automation no longer treats id as a writable field, so a record’s primary key can no longer be overwritten.

  • Guardrails can now be tested against MSSQL without error. A migration and entity schema mismatch in the AI guardrail log has been resolved.

  • AI agent requests now allow the temperature property to be omitted.

Node Package Manager

  • Installing or registering an ESM-only npm module that uses top-level await (for example, @ui5/mcp-server) no longer fails with a require() cannot be used on an ESM graph with top-level await error. Such modules are now loaded with import() after installation and in server scripts.

Security

  • A Content Security Policy (CSP) whitelist entry (System Settings) containing ; or , no longer crashes the server on startup. Such characters are now stripped from each entry.

Stability and performance improvements

Compatibility

  • The launchpad enhancement script now runs via safe script injection instead of eval, restoring compatibility under strict Content Security Policy configurations.

  • The DXP Marketplace is now accessible when a Content Security Policy is enabled. The Portal now serves the Marketplace app view directly and cockpit_marketplace loads it without running eval on a server script response, so the Marketplace works under strict CSP while remaining backward compatible.

Launchpad

  • The PWA service worker cache is now invalidated when the Open Edition version changes, preventing a stale cached app after an upgrade.

Server

  • The nep and com.neptune UI5 resource roots are now revalidated instead of being cached for 90 days, preventing a stale UI5 control build after a rebuild or branch switch.

More information

Are you looking for more information? To access full details of the technical changelog for Neptune DXP - Open Edition 24.14.4, please contact lloyd.trevarthen@neptune-software.com.

If you experience any problems with this patch, please contact Neptune Support.