Tuesday 9th September, 2025

Editor 2.5.0 release notes

An exciting release in the Editor v2 series, this release beings a wide range of improvements over the whole range of Editor's features. Highlights include:

  • A new refresh option to refresh data for a row before an edit or delete action
  • Improved Typescript integration
  • Server-side processing support for ColumnControl's filtering
  • Server-side conditional validators

Please see the release notes below for full details.

Downloads

Downloads of specific versions of Editor are only available to license holders. Please see the download page for information about the current release version.

Release notes

Core

New

  • inlineCreate() now supports a row-selector to allow positioning of the new row inbetween other rows. This is useful for duplicating rows.
  • ajax.submitAs option to have the data submit to the server as a JSON string, rather than HTTP parameters.
  • i18n.removeIcon option for tags to be able to customise the icon for the remove tag action. Default remains ×.
  • Improved integration with styling libraries for error state. Native field error class is now used for the input when in error. New: Default styling now has a red border around an input element when in an error state. The CSS variable --dte-field-input_border can be used to control the colour.
  • Improved Typescript support, with fields now correctly typed
  • optionsOrder option for tags and autocomplete to allow control of ordering of the options (still asc by default, but can be desc or disabled).
  • refresh option for form-options which, when enabled, will cause Editor to request the latest data for the rows to be edited when editing is triggered (main, inline and bubble). This is useful to make sure that the client-side has the latest data when a user starts editing, particularly in cases where other users might be updating the same rows.

Updates

  • Ajax search for autocomplete and tags will now show a processing indicator while waiting for a response from the server.
  • Applying a small debounce (250mS) to Ajax search for autocomplete and tags.
  • The dropdown for tags and autocomplete will now wrap when using keyboard navigation (requires Select 3.1.0).

Fixes

  • A null value for tags fields will now show no tags, rather than attempting to make the null a tag.
  • tags and autocomplete didn't respect the update option of field().update().
  • esc while a datetime picker was shown was hiding the Editor modal as well. This change along with an update to DateTime addresses that issue.
  • Improve bubble positioning - it could overflow to the right of the page if the content was wider than the CSS defined width/margin, and could be positioned at the top of the page where it couldn't be scrolled into view.
  • Smoother bubble positioning on open
  • Tags with wide labels could have their "Remove" icon hidden due to the long string.

Typescript

  • Field configuration types

Examples

  • New always shown date picker example (requires DateTime 1.6 or newer).
  • Correct sorting for date / time example
  • Remove manual options update for child editor - no longer needed
  • Update ordering for DataTables ordering examples

Docs

  • Clarify in inline() and inlineCreate() that it doesn't work with Responsive.
  • Documentation for new edit refresh option

.NET

New

  • Conditional validators. Using the new ValidationOpts.DependsOn() method you can conditionally have a validator apply based on the value of another field, another field having a value at all, or providing your own conditional check function.
  • Options.get() method which can be combined with user permissions to allow options to be read or not.
  • Support for ColumnControl with server-side processing
  • Support for the refresh form option introduced in Editor 2.5

Fixes

  • Don't require additional JSON setup or NewtonSoft for DtResponse.
  • Server-side processing - when no filter is applied, only a single count query is required. This helps to improve performance.
  • When selecting a count() for server-side processing, the identifier should be escaped, otherwise case sesensitvity can be an issue for some primary keys.

Node.js

New

  • Conditional validators. Using the new Validate.Options.dependsOn() method you can conditionally have a validator apply based on the value of another field, another field having a value at all, or providing your own conditional check function.
  • Options.get() method which can be combined with user permissions to allow options to be read or not.
  • Support for ColumnControl with server-side processing
  • Support for the refresh form option introduced in Editor 2.5

Fixes

  • Server-side processing - when no filter is applied, only a single count query is required. This helps to improve performance.

PHP

New

  • Conditional validators. Using the new ValidationOptions->dependsOn() method you can conditionally have a validator apply based on the value of another field, another field having a value at all, or providing your own conditional check function.
  • Options.get() method which can be combined with user permissions to allow options to be read or not.
  • Support for ColumnControl with server-side processing
  • Support for refresh option in Editor's form-options.

Fixes

  • Editor->validator() overloads with false as the first argument wasn't being handled correctly
  • Server-side processing - when no filter is applied, only a single count query is required. This helps to improve performance.