DataTables 1.12.0

DataTables CDN files for DataTables 1.12.0. This software was originally released on 12th May, 2022.

Release notes

This release of DataTables has heavy focus on making internationalisation easier and modernising DataTables' stylesheets.

First up we have the new DataTable.datetime() and DataTable.render.datetime() functions to provide built in support for non-ISO 8601 date/time formats (both Moment.js and Luxon are supported - one of them must be loaded to allow these methods to operate).

Next is automatic locale formatting for numbers and date times, through the default helpers. Previously you would have to manually specify the format you wish the data to appear in, now, the default is to format it to the locale for your end user.

For styling, one of the most noticeable changes is an to update how the sorting indicators in the header work. Previously we loaded png background images - this has been replaces with UTF8 characters and pseudo elements.

A less noticeable change (until you start working with row colours) is that we now use an inset box-shadow for row and cell tinting rather than a background colour. This makes is much easier to set colours on your data without needing lots of custom CSS to handle features such as FixedColumns, row striping and sort column highlighting.

These two CSS changes are used across all styling libraries.

Finally, this release also waves goodbye to the IE6/7 hacks we had in our CSS. While DataTables will still operate in those browsers, they are no longer supported.


  • Sorting icons now are UTF-8 character based rather than using external images and are consistent across the different styling libraries
  • Automatic number rendering for locale with number rendering type
  • Local language strings can be defined along with language.url and will now take priority
  • DataTable.datetime() format detector and DataTable.render.datetime() formatter for improved date and time handling built into DataTables core. Works with either Moment.js or Luxon.
  • option which is an alias of columnDefs.targets.
  • Processing indicator updated to use a CSS animation indicating that something is happening
  • nowrap class on the table will now operate across all style frameworks, preventing text wrapping
  • Default text-align left for header and footer cells
  • pluck() now supports Javascript dotted object notation to read nested data


  • Consistent formatting of examples code (Prettier)
  • language.processing default updated to be an empty string
  • Default styling now has table header and footer text left aligned
  • Change of how row stripes and row selection colours operate
  • Improve API usage in index column example


  • Merging class names from multiple targets to a single column
  • Bulma integration would give an error when clicking on the pagination's ellipsis icon
  • Remove star hack to make CSS fully valid (remove IE6/7 hacks)
  • Typescript: Missing column().search() overload for setting a search value on a column
  • Allow DOM manipulation while a table is being destroyed
  • Fix issue with page length select element not being set when a state is reloaded
  • Bootstrap v5.1.2 and above table-striped compatibility
  • Speed improvement to reduce the number of column visibility calculations
  • Bootstrap v5.1.2 and above compatibility


  • Sorting images no longer required
  • TableTools support - it is long since dead