DataTables 1.6.1

DataTables CDN files for DataTables 1.6.1. This software was originally released on 30th January, 2010.

Release notes

Building on the ground work set out in the 1.6.0 release, as promised I've focused this release on performance - and it's good news :-). The results of this work will be most noticeable if you are using using large data set (particularly those read from the DOM) - but the benefits can be seen through thanks to improvements in some of the key functions in DataTables.

It is worth noting that I've put in new algorithms for parts of DataTables, so there is the potential that things might break (as with all new software releases). 1.6.1 passes clean through my unit tests, but if you do spot anything, please do jump into the forum and let me know!

  • Updated: fnOpen now returns the TR node that was created
  • Fixed: Cookie contents were not escaped. As a return ';' and other characters could cause issues.
  • Fixed: Type detection was incorrectly only looking at the first row (under certain circumstances).
  • Fixed: Type detection could get confused if a column contained (only) date and numeric information.
  • Fixed: If asSorting was defined (but not aaSorting) then we should use the first sorting option for a column in asSorting rather than the default.
  • Fixed: The examples index in the distribution had a few wrong links in it
  • Optimisation: Sorting classes (bSortClasses) was very slow when removing previously assigned classes. An optimisation for this as reduced initialisation time for large data sets by up to 90%!
    • - Test set, 500 rows with 9 columns
    • - Safari 4 - 4500mS to 400mS
    • - Firefox 3.5 - 2500mS to 600mS
    • - IE 8 - 'Unresponsive script' to 1500mS
  • Optimisation 2: Not quite happy with the sorting classes still, so removed the use of jQuery's removeClass and selector to do direct DOM manipulation. We can do this here since we directly control the table and "know" it's structure ahead of time.
    • - Test set, 2000 rows with 9 columns
    • - Safari 4 - 1500mS to 300mS
    • - Firefox 3.5 - 1100mS to 370mS
    • - IE8 - 'Unresponsive script' to 600mS
  • Optimisation: Sorting classes (bSortClasses) was slow when adding the required sorting classes. Using direct DOM manipulation the draw has be substantially improved:
    • - Test set, 2000 rows with 9 columns
    • - Safari 4 - 2200mS to 1100mS
    • - Firefox 3.5 - 2800mS to 2100mS
    • - IE8 - 'Unresponsive script' to 10300mS
  • Optimisation: Fixed table width (required so pagination doesn't have a chance to cause the table width to 'jump') is now done at the end of the first draw. The advantage of this is that the browser need only 'size' the table with the initial number of DataTables rows (10 by default) rather than the unenhanced table (2000 rows in this test)
    • - Test set, 2000 rows with 9 columns
    • - Safari 4 - 1100mS to 660mS
    • - Firefox 3.5 - 2100mS to 1500mS
    • - IE8 - 10300mS to 3100mS
  • Optimisation: Very minor (but welcome all the same) draw time speed up by altering the algorithm for removing and then adding rows
    • - Test set, 57 rows with 5 columns, draw 100 rows and then 10, looped 1000 times
    • - Safari 4 - 2000mS to 1800mS
    • - Firefox 3.5 - 11000mS to 9600mS
    • - IE8 - not tested
  • Optimisation: Change method for reading in the data from the DOM for _fnGatherData.
    • - Test set, 2000 rows with 9 columns
    • - Safari 4 - 550mS to 440mS
    • - Firefox 3.5 - 1300mS to 1000mS
    • - IE8 - 4100mS to 3500mS