Neptune DXP - Open Edition LTS 22 (2022)

22 innovation main 0

The Neptune DXP 22 - LTS version is an amazing and collective effort from the Neptune Crew and our partners and customers that pushed us to deliver the best platform and tools for shortening the time to market and making business apps look amazing without sacrificing performance and efficiency.

Download here

Neptune Software extends heartfelt thanks to the Neptune Crew, partners, and customers for their invaluable contributions to the development of Neptune DXP 22 - LTS version. Your collective efforts have resulted in an exceptional platform and tools that shorten time-to-market for business apps without compromising performance and efficiency.

We sincerely appreciate the support and dedication from all involved. Your collaboration has played a crucial role in exceeding expectations and delivering remarkable solutions.

Thank you for your contributions, and we look forward to continuing our successful partnership as we strive for ongoing excellence and innovation in the industry.

Important change: Node.js upgrade

This new version is now running on Node.js version 18. This means that if you are upgrading and have existing npm modules, you might have to rebuild them to the same version. After you have upgraded to Node.js 18, execute "npm rebuild" should make sure they are valid for the new version.

Highlights

Let us delve into the core topic. The DXP22 LTS version has been derived from the Innovation version released in June 2022. Valuable feedback from the market has been taken into account to refine several features and tools, while also introducing notable enhancements.

Outlined below are key highlights accompanying the LTS release:

22 innovation main 1

Custom Components

What are they?

Custom Components are a new system of creating reusable components using the standard App Designer tooling. Much like Building Blocks they can be included in any application, however, unlike Building Blocks the contents of the Custom Component are contained inside a single object in the App Designer tree and cannot be edited directly. Whenever a Custom Component application is updated all applications that make use of will be marked as updated and on their next load will be updated with the changes from the Custom Component.

Where can I find them?

In the App Designer, you can create a custom component as you would create any app.

22 innovation main 2

You can develop applications in fragments that are reusable and inherited. Meaning that an application can be developed by multiple developers at the same time in parallel and that those fragments can be reused in as many apps as you need.

When you change a custom component it will automatically propagate that change to all apps that are using them.

22 innovation main 3

How complex can a Custom Component be?

As complex or simple as you want or need, it can be one button but it also can be a full application with frontend business logic, API calls, complex UI, etc.

22 innovation main 4

Event-Driven Architecture (EDA)

What is it?

You can now couple a Neptune DXP - Open Edition with a Redis Server that allows applications, workflows, and Jobs to be triggered or trigger events that go across multiple systems.

A real-life example:

  • A production order is assigned to an operator by the shift manager at the plant

  • In a synchronous way, the operator gets their app updated without manual synchronization of data by the operator

  • If there is an issue on the production line and the production system stops, this event is subscribed by Neptune ( via the Redis server ), and the operator, the manager, and the maintenance people know, on any device

A classical experience of this would be Trello or Jira boards where things happen and change while you are operating the app ( No Sync ).

22 innovation main 5 22 innovation main 6 22 innovation main 7

Neptune DXP Marketplace

The Neptune DXP Marketplace replaces the existing Store within the Cockpits of both the Open and SAP Editions and is also available within the Neptune DXP Portal.

22 innovation main 8

A picture containing graphical user interface Description automatically generated

It contains Public and Private catalogs of solutions, application building blocks, and more.

Public catalogs are visible to everyone. Private catalogs are only visible to members of the Neptune DXP Portal account which owns it.

22 innovation main 9

A number of types of products can be installed straight into the DXP runtime. Simply open the Neptune DXP Marketplace within the Neptune DXP - Open Edition or Neptune DXP - SAP Edition and press ‘Install’.

For example, Application Building Blocks will install a Package of artifacts into the Neptune DXP - Open Edition and will install an App, Class and/or a Tile into the Neptune DXP - SAP Edition*. If available for the selected product

Graphical user interface, application, chat or text message Description automatically generated

An example of some of the currently available Application Building Blocks:

Graphical user interface, application Description automatically generated

Read more about the Neptune DXP Marketplace via its own documentation

Better UI

Build apps with consumer-grade UI using no technical knowledge and scale solutions within the governance of IT. This release packages the OpenUI5 1.108 LTS version.

22 innovation main 10

This provides:

WCAG ( Accessibility Features )

On OpenUI5 version 1.108, SAP has targeted the recommendations of the Web Content Accessibility Guidelines (WCAG 2.1) Level A and AA and the EN 301 549 Chapter 9 and 11.

We are also actively working on supplying an updated Launchpad and Mobile Client that is better able to handle these requirements and make it consistent with screen readers on both desktop and mobile. Obviously, due to the nature of evolving screen reading tools, we expect that there might be some gaps in covering all requirements but since the Launchpad and Mobile client are to be dispatched and updated via the Neptune DXP Marketplace we will be able to deploy updates quicker and cover those gaps when either Neptune or our customers and partners identify them.

WCAG compliance is dependable on the UI5 version utilized and Neptune makes it available to the app designer. The Aria Labels fields in order for developers to guarantee that apps built with Neptune are compliant.

When developing custom applications with Neptune, it is the responsibility of the developer to play a big role in the accessibility state of the resulting application. You can get more information about VPAT here.

SAP makes accessible more information and resources for application developers in demo kit documentation and in the Accessibility Guide.

We now provide an aggregation-based preview for where objects can be placed!

This addresses one of the main challenges when learning to work with the App Designer and the OpenUI5 framework for the first time. This preview will highlight in green, where you can drop any component, and block in red anywhere where you can’t. Previously, dropping certain components inside of others would cause an 'aggregation error' which would result in your application not rendering - now you have guidance as to where everything should go!

This works not only with the OpenUI5, but also with the Bootstrap, Ionic, Highchart, and Resource components too.

This behavior can be toggled on/off in the user settings menu:

Import SAP APIs straight into the API Designer!

From SAP Concur, SuccessFactors and SAP S/4HANA based APIs, to many others from SAP Business Technology Platform, which includes definitions from Act-On to Microsoft Dynamics - you can simply search for a select from hundreds of available APIs which will instantly create the API ready to be used by Applications or Server Scripts (as microservices) - ready for you to simply add your own authentication to in order to utilise however you wish.

Here is an example in action with the 'Act-On Clock In Clock Out' API:

22 innovation main 13

22 innovation main 14

  • You can now override the application in the preview panel

  • You can now preview a launchpad in the preview panel

  • Ctrl/Cmd+c/v shortcuts are now available for copying and pasting objects in the object tree

  • Added support for webp file format inside apps

  • sap.m.Page, new attribute titleAlign for UI5 1.84+

  • OData version 4 is now supported.

  • Added the ability to load code definitions (completions) from multiple applications/launchpads

Neptune DXP 22 supports now OData version 4

On top of all these features, the DXP22 LTS version builds upon the DXP22 Innovation. So all the features introduced in this innovation version are now part of the LTS.

The Neptune DXP22 LTS Full Change Notes:

Launchpad

  • Firebase libraries have been updated.

    • New libraries require projectId and appId when initialising.

    • These parameters can be set centrally on the system configuration

  • Local login can be disabled on individual launchpads

  • Feature: A new enhancement spot has been added for custom logic to determine whether the new Pincode a user has set is valid (input(pincode: string , validity: { isValid: boolean, errorMessage: string }))

  • Fix: PWA icons are properly set for iOS devices

  • Feature: Added onDialogClose event for AppCache.Load

  • Fix: Enable/disable switch state in launchpad enhancements

  • Feature: Added the ability to customise the visible columns in the Cockpit Launchpad application.

  • Fix: Javascript error causing background image and colors not to be applied in Launchpad layout.

  • Fix: Updated German translations in Launchpad.

  • Feature: In launchpad touchscreens with a width greater than 1000px will now have a sidebar for active apps.

  • Fix: Enabled improved color customization in the 'Launchpad' sidebar options, now multiple choices of text color and background do not conflict.

  • Fix: Launchpad, hide header when using OpenUI5 1.84. In OpenUI5 1.84 min-height for .sapMPanel is set which keeps the header visible even if the height is set to 0px

  • Fix: When a launchpad that can be installed as PWA is run in the browser the height of the launchpad pages is adjusted so that the footer of apps is visible

  • Fix: Close button will now properly close the edit tab inside the launchpad side panel. Previously it was not recommended to use the close button inside a side panel. Now, multiple edit tabs can be opened and closed easily inside the side panel.

  • Feature: Add Client Request Timeout to Launchpad Settings. It puts a limit on the amount of time a client request can take before getting terminated automatically in the browser.

  • Feature: Add pin code iterations field. Which determines how many iterations we run to generate a key for the user’s Pincode. (Also valid for the Mobile Client)

  • Feature: Add API to enable launchpad customizations.

  • Fix: Launchpad name is now unique - Launchpads with non-unique names will automatically be updated on migration.

  • Fix: The custom Theme selected for the launchpad was invisible on the first navigation to the detail screen.

  • Fix: Prevent naming a launchpad with invalid characters e.g. #, /, ? etc.

  • Feature: AppCache.Load now supports an onDialogClose function

  • Feature: Query string lang will set the application language and take priority over the user language

  • Feature: Show an error message when a user enters the wrong PIN in Launchpad.

Cockpit

  • Feature: Close any open cockpit apps

  • Feature: Recommended apps! Now when opening applications, a selection of recommended tools that work hand in hand with the currently open tool will be presented in the bottom left of the cockpit:

    22 innovation main 11

  • Feature: All Real Text Editors (RTEs) in the Cockpit now have a fullscreen option to improve UX when editing large amounts of text

  • Fix: Favorite apps list in the cockpit search component is now predictable and sorted by name.

  • Fix: Sorted cockpit filters dialog alphabetically.

  • Feature: Added a new dynamic filter in the cockpit that shows only your favorite apps.

  • Feature: Cockpit now runs on OpenUI5 version 1.108

  • We have now switched to using the SAP Horizon and SAP Horizon Dark themes in the Cockpit and the various editors

  • Fix: The cockpit and the standard launchpad have both had various WCAG usability improvements made

  • Feature: If there is an available update it is shown at the top of the Cockpit

  • Feature: License and system information is now shown at the top of the Cockpit

  • Feature: Switching Cockpit/Editor themes will now switch all open instances in that system

  • Feature: Users can now select "System" as a Cockpit theme, this will adjust the dark or light theme depending on the user’s system theme settings

  • Fix: The two apps named Group in the Cockpit have been renamed to Connectivity Group and Security Group respectively

  • Fix: Removing Cockpit applications from your favorites now works correctly

  • Feature: There is a new setting to enable the Cockpit navigation list to open on hover

  • Feature: New tiles have been added to the Cockpit that links to the Neptune Community and Documentation

  • Feature: There is a new option to display "Recommended" applications at the bottom of the navigation list

App Designer

  • Fix: Changed library components, moved sap.ui.coreIcon/HTML/Item from Bootstrap Core to sap.ui.core folder

  • Fix: DataModel, binding path was wrong for modelPath

  • Feature: Add support for webp file format inside apps.

  • Feature: Ctrl/Cmd+c/v shortcuts are now available for copying and pasting objects in the object tree

  • sap.m.Page, new attribute titleAlign for UI5 1.84+

  • Added sap_horizon as new theme from 1.96

  • defineProperty, using catch to prevent app generation to fail

  • Feature: We now provide an aggregation-based preview for where objects can be placed, this behavior can be toggled on/off in the user settings menu

  • Fix: When the library and object tree are not stacked you can now switch the attribute and preview panels - previously they would automatically revert places

  • Feature: You can now override the application in the preview panel

  • Feature: You can now preview a launchpad in the preview panel

  • Feature: Added the ability to load code definitions from multiple applications/launchpads

  • Fix: Popovers displayed in the App Designer should now have better behavior when opened close to screen borders

  • oData version 4 is now supported.

  • Fix: Paste behavior more intelligently places the pasted object in the tree

  • Fix: Using an invalid regex in the App Designer search throws an error and search results are stuck in a busy state.

  • Feature: sap.m.FormattedText now supports styleclass attributes (styleClass, styleClassMargin, styleClassVisibility, styleClassPadding)

  • Fix: We no longer generate a model for objects that are bound to a model path - this is correct behavior but could break apps that relied on the previous behavior

  • Fix: If an object inside an application tree is selected in Display mode. Going from Display to Edit mode and editing the object details did not have any effect.

  • Feature: Open apps directly in edit mode

  • Feature: Import apps from .planet9 file without having to create an app first

  • Feature: A new startup dialog is shown that allows the user to immediately open an existing app or create a new one when loading the App Designer

  • Feature: You can now filter out undesired libraries from appearing in the App Designer library

  • Feature: HighCharts now have a styledMode property - this enables you to use CSS to style your charts

  • Feature: Syntax errors are now shown in a table at the bottom of the App Designer instead of in a popover

  • Feature: Added a button to activate an application even if there are syntax errors

  • Fix: WebIDE search, validate that object contains a script before including it in search

  • Fix: Script markers are now force-updated on loading of a new application

  • Fix: Inside the App Designer, the code snippets editor will now occupy the complete visible height.

  • Fix: Prevent code snippets from unnecessarily scrolling beyond the last line in the App Designer and Script Editor.

  • Feature: sap.m.Tree now supports setSizeLimit for its model

  • Fix: sap.m.ObjectHeader can use sap.m.ObjectNumber for AdditionalNumbers aggregation

  • Fix: Add a minWidth property and mark flexible property as deprecated on sap.ui.table.Column

  • Feature: Upgrade Highcharts, Highcharts Stock, and Highcharts Maps to ver. 10.0.0

Adaptive Designer

  • Feature: User can now customize the list of visible columns in the open dialog.

  • Passing report.settings to server script in req.body

  • Fix: In adaptive table listing, when editing an entry or importing using CSV, only validate on required if they are visible in the table listing and marked as required.

  • Update default bind limit for filter and variant listing to 1000 entries.

  • Feature: Field catalogs can now define Input/Output/Both for fields which is reflected in possible locations when adding the field to a template

  • Fix: We have improved the reliability of detecting changes to Adaptive Designer reports

  • Fix: Translations can now be properly filtered in the Adaptive Designer

  • Fix: If content for the Adaptive Designer app has more height than the Adaptive Designer, show a scroll bar on edit.

  • Fix: Automatically close the adaptive edit app tab from the sidebar (in launchpad), if the record has been deleted in the adaptive list app.

  • Fix: Close side panel tab when a new record is created using the adaptive edit template app. Otherwise, clicking on save again would create another duplicate record.

  • Fix: Before saving, validate form data in the adaptive edit template.

  • Fix: We now refresh the table and rule engine data when opening their respective dialogs

  • Fix: You can now enable horizontal scrolling in Adaptive Designer apps displayed in dialogs

  • Fix: Scripts/Tables/Rules Engines used for lookup/value/post-processing should now be included in deployments if "Include Relations" is selected

  • Fix: You can now clear the selected Connector in an Adaptive application

  • Fix: Importing/Exporting CSV from the Adaptive Designer

  • Fix: Adaptive Templates (bi, edit and list) invalid variable reference which generated an unhandled exception, making the clients app unusable

API Designer

  • APIs with apiFormat = OpenAPI3.0 can now specify a structure directly in the request/response body

  • Reference selector fields can now be cleared

  • External API’s can now be directly imported from api.sap.com without having to download a JSON file and copy paste

  • Attempting to import an external API from api.sap.com with the wrong format will result in a new API being generated with the correct format automatically

  • Fix: The where-used table now displays usages in Server Scripts

  • Fix: When importing JSON into a definition in the API Designer, arrays would not be parsed properly (Only applies to OpenAPI3.0 Apis).

  • Fix: When updating properties in the table definition, APIs using the definition will be updated when re-importing into the API

  • Feature: Where-used tab for API definitions

  • Fix: Notify the user when the JSON file to be imported is not correctly formed.

  • Feature: Added export options for exporting API as swagger/open API

  • Fix: Type can no longer be changed after creation

  • Fix: ApiFormat can no longer be changed after creation

  • Fix: Prevent code snippets from unnecessarily scrolling beyond the last line

PDF Designer

  • Fix: The visible property is now correctly bound. That means that you can now choose if an element should be displayed or not under "properties" on an element in the designer

  • Fix: The visible property can now also be hardcoded

  • Fix: Binding properties that use array notation such as pageMargins should now work correctly. Bind it to an array

  • Fix: Allow both the widths and heights properties to be applied at the same time

  • Fix: Syntax check on table widths property now supports binding

  • Fix: pageMargins was not parsed correctly

  • Fix: Elements hard coded to false now works as intended

  • Fix: Bounded elements that are unbound should now always work correctly

  • Fix: Resize vertically causing objects tree to become invisible.

  • Fix: Show an error message, when the user tries to import an invalid JSON inside Document Settings.

  • Fix: Layout/function settings not applied to nested tables.

Script Editor and Server Scripts

  • Feature: sendEmail now supports receiving an object as its only parameter, simplifying code when passing only a few of the possible options. The old form of multiple parameters is still available however is considered deprecated

  • Feature: We now expose functions getPdf and generatePdf for integration with the PDF Designer (see p9.pdf in a script)

  • Fix: Improved horizontal scrolling in Script Editor’s in-app table browser.

  • Feature: startup parameter(--disable-global) to disable all or specific global scripts.

  • Modules in the custom modules directory are now synced with the NPM modules table.

  • P9_MODULES_PATH is deprecated and has no effect anymore.

  • Feature: Option to restart job immediately if job aborts on max runtime.

  • Fix: It is now possible to deploy a Server Script that references a deleted API

  • Fix: When filtering for a value you will now see the child nodes of entries that match the search string

App Editor

  • NPM Modules installed from the cockpit are no longer resolved when compiling App Editor projects.

  • Fix: The live search option in the App Editor now returns to page 0 when updating search terms.

  • Feature: Functionality to delete package-lock.json file which resides on the server.

  • Feature: Added option for allowing anonymous access to apps

  • Feature: Webpack version 5 is now supported.

  • Deprecation: Webpack version 4 is no longer supported due to SSL changes introduced in node v17.

  • Fix: Validation when trying to change project name.

Table Browser

  • Feature: Ability to filter items by IsNull & IsNotNull

  • Feature: You can now select columns to be shown in the Table Definition list

  • Feature: Exporting from table definition/browser will now have a postfix of definition/data.

  • Fix: Allow for browsing tables with over 100 columns.

  • Fix: You can now save empty data in the JSON input

  • Fix: On Save, only update missing value for record based on column type. Previously values e.g. 0 were overriden. Now, we verify if the value is present in the column. If not, we use the user-specified default value for the column

App Store (Depreciated)

Security: Improved.
Fix: On publish, date/time were shown in the future e.g. app will be published "in 60 mins" rather than showing app has already been published "1 min ago" or now.

Authentication

  • Fix: When using local auth, the expiration time on the session cookie was not set. Which removed the cookie as soon as the user exited (quit) their browser, or restarted their system. Now, the cookie will remain valid up until the time set in System Settings > General > Session Timeout (in minutes). In addition, the cookie validity in time will roll over based on the last time the user accessed Neptune DXP - Open Edition.

  • Fix: The description column in the results table for Import LDAP was incorrectly set to sort by name instead of by description

  • Feature: You can now filter and sort by the authentication source used in the user groups app

  • Fix: Passwords containing the colon character no longer break basic authentication

  • Fix: It is no longer possible to change the username of an existing user

Workflow

  • Property(wfData.scriptData) to store data in workflow scripts which is passed to subsequent scripts.

  • Feature: The workflow overview now shows Created On and Created By columns in the overview

  • Fix: Changes to properties on Workflow graph objects should now reliably be saved

Connectors

  • Feature: API Connectors - A Connector can now use APIs for its operations

  • Feature: API Connectors can have user-defined Field Catalogs

  • Feature: API Connectors can map the data between the Field Catalog and the various operation inputs and outputs

  • Fix: The Connector selection dialog in the Adaptive Designer will automatically update without the user needing to manually refresh the master data

  • Fix: Connector names are now required to be unique - on upgrade, existing connectors with duplicate names will be postfixed with a counter

  • Fix: Connector count now visible in Cockpit and Overview Search

  • Fix: Connectors are now included in packages when creating deployments

  • Fix: Connectors will now correctly convert UUIDs of used tables/scripts/APIs when deployed to a system with different UUID casing

Deployment Focused

  • Feature: Keep existing IDs on table import.

  • If an ID is present, we will use that ID on saving the imported entity. This helps the user in migrating data from development to production systems. Previously importing data generated new IDs. So, if apps used some entity IDs in code, then those IDs had to be updated after deployment.

  • Feature: Media library artifacts can now be included within packages, and thus deployed

  • Feature: Table data can now be included with tables, and thus deployed enabled within the Table Definition

  • Feature: The deployment log will now preview the contents of a file before importing them

  • Fix: Prioritize package transfer on deployment. Otherwise, entities linked to the transfer package will not be linked to the package on the target system.

  • Fix: in some cases deployments could create a duplicate media folder

  • Fix: Deploy theme files on deployment transfer. Previously no theme files were transferred on deployment.

  • Fix: On configuring remote GIT repository in Development Package. Show errors above the configuration dialog.

  • Fix: The deployment log will now consider the status of each artifact when reporting the overall status of the deployment

Mobile Client

  • Fix: Adding files to mobile client archive on build. Ensure missing files and directories are present and ensure the operating system does not generate too many open files errors.

  • Fix: Activated and corrected 'search' functionality in the build tab of 'Mobile Client'.

  • Fix: Now 'App Id' field is required when creating/editing entry in 'Mobile Client'.

Media Library

  • Feature: Ability to sort media files by clicking the column headers

  • Fix: When navigating between the Media Library and other apps in the Cockpit the Media Library will remember the currently open folder

Roles

  • Display mode: Table Browser Count not working

  • Display mode: Job Log InitLog not working

  • Display mode: Job Log GetJobOutput not working

Launchpad Trace

  • Automatic Refresh: Avoid automatically fetching the launchpad trace endpoint on form changes. For large datasets it can crash server workers running under the master process, resulting in an empty server response.

  • Fix: Highcharts disappearing when switching between tabs (Analytic and List)

Audit Log

  • Fix: Contextualize fetching audit log records using Object Key and Object Type when the key is New. Previously all records were returned when Object Key was New.

  • Fix: When you create an Email Template. Rename the AuditLog entry from WorkflowNotification to the Email Template.

System Processes

  • Fix: Live update the total number of server processes

API Trace

  • Fix: Highcharts disappearing when switching between tabs (Analytic and List)

Range requests

  • Feature: Stream mp4 & mp3 files from the media library when using PostgreSQL or MySQL

Job Manage

  • Fix: Job Manage name is now unique - Jobs with non-unique names will automatically be updated on migration

oData source

  • Fix: oData Source name is now unique - Entries with non-unique names will automatically be updated on migration

  • Fix: oData Mock Data Source name is now unique - Entries with non-unique names will automatically be updated on migration

Rules engine

  • Fix: Rules Engine comparison of a boolean attribute. When boolean values were received as strings 'true', and 'false' backend wasn’t able to match rules based on conditions present in the rules engine

  • Fix: Counters for the number of Rules, Conditions, Roles in the Rules Engine app

Certificates

  • Fix: Reset certificate details and count when adding a new user

  • Fix: Certificates app now displays the correct count of certificates

  • Fix: Clear the pre-selected package field and fetch the correct data in edit mode in the Certificates app

SMTP Log

  • Feature: SMTP Log now allows filtering by to/from/subject

  • Feature: The SMTP Log now has an option to resend an email

System Log

  • Feature: Show the project that a server script belongs to in the system logs

  • Feature: Allow additional filtering by date and script name in the System Logs App

  • Fix: On deleting a user. System logs no longer generates an error "Unable to load the config"

Misc

  • Feature: Allow requiring local users to change their password in their next login session.

  • Fix: The documentation app would keep the previous filter value even after switching documentation

  • Fix: When using proxy whitelisting allow remote systems as well

  • Feature: Add Client Request Timeout to System Settings (complementing the Launchpad Settings). It puts a limit on the amount of time a client request can take before getting terminated automatically in the browser.

  • Fix: Properly clear input fields of their required check status.

  • Fix: Javascript errors caused by clicking edit/delete without something selected in oData Mock Data and Table Definition applications.

  • Fix: Added warning for unsaved changes in Deployment Routes and Substitution applications.

  • Feature: All errors that cause a process to crash are logged with new level critical.

  • Feature: Hide config parameters from file and DB with env CONFIG_SECRETS. When hiding from file and DB it must be possible to set the parameter with the env variable. Accepts a comma-delimited list of parameters, e.g. adminPassword,dbTypes.postgresql.password

  • Fix: Whitelist src attribute for IMG in the editor. Previously copy/pasting an image was set as a base64 encoded string in attribute src. But, the src attribute was removed upon page refresh because it was not whitelisted.

  • Feature: Missing languages can be added in customizing.

  • Feature: Added the ability to export theme from app Theme Import.

  • Fix: Only allow the user who owns the lock, to remove it. Automatically, when going from Edit to Display mode.

  • SMTP password will now be encrypted in the database

  • Feature: The User Information System Report now sorts groups and roles before displaying them.

  • Fix: The NPM module search now uses pagination and searches a smaller number of entries - this improves performance and reliability.

  • Fix: Add Content-Length header to the list of allowed headers. When Content-Length header is missing, it sometimes causes HTTP/2 protocol error on downloading media files.

  • Feature: Nest folder tree from Root in the media selector dialog in the Customs Settings App.

  • Fix: Prevent users from deleting their own account.

  • Fix: Allow creating tables containing over 100 columns using the Table Definition manual form.

  • Feature: process.env.RULE_KERNEL_DISABLED = '1' will disable the engine rule kernel. Then you can have one dedicated app server that executes jobs.

  • Fix: socket.io library was missing. It is now included as part of the build.

  • Fix: The application log and API trace no longer auto-refresh when making changes - this stops many large requests from being made concurrently (especially when the interval is set to minutes)

  • Fix: It is no longer possible to bypass the special character check in the various designers

  • Feature: We no longer support fixed CDN versions and instead allow custom CDN versions - existing apps/launchpads will be converted on save/import

  • Fix: EnableSSL is no longer hidden if SSL was not already enabled

  • Fix: We now warn the user when they attempt to select an object that is incompatible with context-aware help in the documentation app

Known Issue(s)

In some specific migration paths, the SMTP password in the System Settings may become corrupted due to new encryption practices - causing email send requests to fail. Pressing the "Test Connection" button here will deliver this message:

22 innovation main 12

  • FIX: System Settings → Edit → Type/Paste in the SMTP password → Save → Restart