DataTables releases feed en-us Software release information for DataTables and its extensions Editor 1.9.0 released Previous iterations of the Editor 1.x series have seen major new features such as multi-row editing and server-side libraries for .NET Core and NodeJS added. 1.9 takes a slightly different tack focusing primarily on addressing known issues and rounding off the API. That said the main reason for moving to 1.9 releases is the new time picker for the datetime input. The new time picker provides the ability to very quickly select a time, rather than needing to use multiple clicks and scrolling through select lists.

A new example is also available which shows CSV importing into Editor. This will be broken down in detail in a blog post soon.

Please see the release notes for full details.


  • Javascript
    • The ajax option of upload can now be used as a function, allowing complete control of the upload process on the client-side.
    • The DateTime picker's onChange callback will now execute in the scope of the date time instance and pass two arguments: 1. The selected value (as a string) and 2. The Date() object for the selected date / time. Note this is only useful if you are using the DateTime object outside of Editor.
    • Ability to disable show and hide animation via a dependent() return object
    • undependent() method to remove any event listeners added by the dependent() method
    • datetime time picker rewritten to be much easier and quicker to use. The previous version used select elements giving a narrow area where the user would need to click to open and then click to select a value (including possibly scrolling). The new UI uses more screen space, but allows single click selection of times.
  • PHP
    • Validation for Mjoin instances as an array holder (not just on a per field basis). This allows validation of the number of items selected / uploaded. New - PHP: Validate::mjoinMinCount and Validate::mjoinMaxCount validation methods which can be used with the new Mjoin group validation
    • Editor->validator() can be used multiple times to apply multiple different validation methods, rather than just one per instance.
  • .NET
    • Validation for mjoin instances as an array holder (not just on a per field basis). This allows validation of the number of items selected / uploaded.
    • Editor.Validator() can be used multiple times to apply multiple different validation methods, rather than just one per instance.
  • NodeJS
    • Editor.validator() can be used multiple times to apply multiple different validation methods, rather than just one per instance.
    • Introduce support for a schema() method on the Editor class to allow Editor to easily use schemas other than the default path.
    • Validation for mjoin instances as an array holder (not just on a per field basis). This allows validation of the number of items selected / uploaded.
  • Examples
    • CSV import example
    • readTable() example for the server-side which demonstrates the ability to read from a VIEW and update to the base table.


  • Javascript
    • Using mode() to move out of create mode into edit or remove will now throw an error.
    • Throw an error with a specific message (rather than a generic JS error) stating that a field of a given name does not exist if the server returns error information about a field that the client-side doesn't know about.
  • PHP
    • Validate::minLen and Validate::maxLen are now multi-byte aware, bringing them into line with the validators for .NET and NodeJS
  • NodeJS
    • TypeScript types for the request object structure (IDtRequest) and response object structure (IDtResponse) are now exposed at the top level - e.g. import {IDtRequest} from '';.


  • Javascript
    • Bootstrap 4 styling for buttons had conflicting classes applied, resulting in rendering errors
    • envelope display controller wouldn't work correctly when table had a DataTables API instance passed in
    • Potential compatibility issue with WebPack and CommonJS loaders in general. The built in display plugins would attempt to use jQuery from a global rather than the passed in version and throw an error if not found.
    • If using mode() to create a new row when inline editing an existing one, the existing row would still show an editing input box after submission
    • add() when used to add multiple new fields after a specified existing field would always just add the new fields at the end of the field list, rather than the specified target.
    • It wasn't possible before to use multiple DataTables / Editors that both referenced the same files table for upload. It now is.
    • If using server-side processing, with KeyTable and inline editing and drawType set to none, navigating to the final row on the last page would be impossible if you edited the final row on the second last page and navigated away using the arrow keys.
    • It was possible to navigate to one month before a minDate in the datetime picker
    • jQuery UI date picker (used with date when jQuery UI DatePicker is loaded - note that datetime is recommended over date) will no longer show the button for the calender icon (which was missing from the distribution).
    • Performance for getting a field value from the DOM when multi-row editing was poor due to repeatedly requesting the value from the DOM rather than just holding a local cache.
    • Editor would remove rows that had been edited when server-side processing was enabled. There was no visible effect to the end user as the table would immediately redraw, but it could potentially cause confusion with the API (counting rows) and cause unnecessary work.
    • Ensure that canReturnSubmit is defined on a plug-in before using it.
  • PHP
    • Error when passing in arguments to Query->get() as an array
    • File information for multiple fields from the same table would result in only one field getting the file information
    • Oracle support improved. Now part of our unit tests. Sorting with server-side processing is not yet fully functional
    • Oracle with server-side processing now sorts correctly over the full data set
    • PHP 7.3 deprecates defined with a case insenstive option.
    • Reset all date fields to 0 by default for dateFormatToSql
    • Server-side processing with ordering disabled would cause a PHP error
    • Support for Oracle with Mjoin linked tables
  • .NET
    • Fix: Upload error when neither a string nor function action was specified
  • NodeJS
    • Typing for the Editor.field() method was not correct. The function performed correctly, but the TypeScript overload was not correct. Update - NodeJS: Update TypeScript to 3.1.6
    • Oracle support for the demo. Now use the official oracledb driver and set the db pool options to use date information as ISO8601
  • Docs
    • table option had a typo in the example
  • Examples
    • Demo SQL for SQL Server could cause an error on systems configured for something other than ymd (ydm for example!).
    • Update Mjoin example to demonstrate the new Mjoin grouping validation

Download Editor 1.9.0

Fri, 08 Mar 2019 16:26:21 GMT
Buttons 1.5.6 released A single change from 1.5.5 (spotted during the 1.5.5 release!) to address a visual issue in a collection list.

  • Fix: Collection title was showing padding at the top of the collection, even when empty

Download Buttons 1.5.6

Fri, 08 Mar 2019 15:00:09 GMT
Buttons 1.5.5 released A bug fix release for Editor which sees a number of accessibility improvements alongside addressing known issues.


  • New: Added aria-expanded on opened collection buttons. The close function now closes all collections. Added a check to see if the collection was open when clicking a collection button, and don't try to reopen the collection in that case. (5060e96).
  • New: Add clickBlurs parameter to prevent blurring on specific buttons (4793dba).
  • New: Support for DataTables 2's layout option. More details on that as work continues on DataTables 2 (5e7d5d7).


  • Fix: Bootstrap 4 styling - when a collection button was used other than the right most button, its styling would be off, due to corner radius being used. (79213df).
  • Fix: Correct issue with pageLength only using the default text once the page length has been changed (224ecfd).
  • Fix: AutoFilter merge should only be done if auto filter is enabled (88c0551).
  • Fix: Visual overflow of buttons in a dropdown in IE11 (5ee6d41).
  • Fix: Ussue where rapidly clicking collection button multiple times would break the button (9350b97).
  • Fix: Buttons dropdowns in Bootstrap 4 use a div container (10bc521).
  • Fix: Change null test to undefined test (58bf9c8).
  • Fix - docs: Typo in buttons-action documentation title (c9d74a4).

Download Buttons 1.5.5

Fri, 08 Mar 2019 14:57:08 GMT
Scroller 2.0.0 released This is the second major release of Scroller and although it doesn't bring significant differences, it does address a number of issues with how 1.5 was structured, particularly the algorithm used for virtual scrolling.

The changes aren't all under the hood though, Scroller will now show a label for the row number when using the scroll bar to scroll through the table.

Note also that the option to initialise Scroller through the dom option (with the S feature) has been removed, and scroller should be used instead.


  • New: Label for the row number to be displayed when using the mouse to click and drag the scrollbar. This can provide a quick overview to the target point when you need to scroll large data sets. This is only really useful for tens of thousands or more rows. (86ffc8d).


  • Updated: Make the top and bottom of the scrolling area, when virtual scrolling, linear for a better interface (58f0bbc).
  • Updated: Using dts as the namespace for CSS in keeping with the other DataTables extensions (8c2815c).


  • Fix: Rewrite the non-linear scrolling to use a more simple and correct linear method. The scrollbar as a whole (when the data set is large enough) is still non-linear, but only has two gradients now. (c267b2a).
  • Fix: Compatibility issue with jQuery 1.x when scrollCollapse is used and the window forces the browser to scroll horizontally. (30d4ac4).
  • Fix: Support for xhtml pages (3520ef6).
  • Fix: Attempt to use the original row for row height calculations if there is only one row in the table. (dc27203).
  • Fix: Scrolling wasn't operating correctly when doing a simple mouse wheel scroll on a table that was large enough to use virtual positioning (2f55821).
  • Fix: Get initialisation defaults for internal storage properties. (72cdaf6).
  • Fix: Don't reset scroll position when table is redrawn with "full-hold" (f90ce66).


  • Removed: Can no longer initialise Scroller using the S option in dom. Use scroller instead. (28f7554).

Download Scroller 2.0.0

Fri, 08 Mar 2019 14:37:31 GMT
Select 1.3.0 released Overall this is a minor release of Select, but there is a small change to the implementation which requires the 1.x release. When initialising Select if you give a select option to the DataTable configuration it will automatically default to os style selection unless otherwise specified. If no select option is given, the style will be api still (i.e. no end user interaction).

  • Fix: Clean up wrapper class string before using it as a selector (2b710c7).
  • Fix: Initialisation when specifying a select option will always default to style: 'os' now if no style option is specified. 'api' is still the default is select is not defined. (1447990).
  • Fix: Programmatically triggering a click event to select a row would not work until the DataTables container had been clicked on somewhere by the end user. (b4c4b36).
  • Fix - docs: Syntax errors (e4fcc69).
  • Fix docs: Typo in example (78363fc).

Download Select 1.3.0

Fri, 08 Mar 2019 14:16:13 GMT
AutoFill 2.3.3 released Bug fix release of AutoFill 2.3. See the release notes for full details.

  • Fix: Compatibility with jQuery 1.x. Misalignment of the fill icon due to a difference in behaviour of $().position() for tables (2c94994).
  • Fix: Don't fill cells which have their column marked as disabled for being able to trigger autofill (a0bb3de).
  • Fix: Editor in hard edit mode (double click) wouldn't submit an autofill if no changes where made to the value (i.e. no submit to listen for). (e6bb09e).

Download AutoFill 2.3.3

Fri, 08 Mar 2019 11:03:45 GMT