 | DataTables v1.7.1 | 22nd August 2010 | Download | Release commentsNow that the dust has settled from the 1.7.0 release, I've been able to take stock and address a few issues which have come to light. Moving forwards with the 1.7 series of DataTables, this release sees a number of bugs addressed, and also a couple of new features. The two new features are both callback functions: fnCookieCallback allows customisation of the state saving cookie, while fnInfoCallback allows details customisation on the information element's text.Hope you enjoy! Release notes
- New: Language callback function for the information element. This can be used to customise the language shown in the information element beyond what is possible with the built in language string options (for example plurals). The arguments are fnInfoCallback( oSettings, iStart, iEnd, iMax /*no filter*/, iTotal /*after filter*/, sOut /*DT rendered string*/ ) - 2520
- New: Cookie callback function (can be passed as an initialisation parameter) called fnCookieCallback, which allows the developer to modify the information stored in the cookie. Takes four arguments (sName, oData, sExpires, sPath) and expects a complete cookie string to be returned (with name, value, expires and path correctly formatted). - 2510
- Updated: Complex headers have been relaxed such that TH elements no longer need to be unique. There does need to be the correct TH elements with colspans and rowspans which add up, and each column requires at least one TH element for itself, but it is now possible to have two (or more) TH elements for each column.
- Updated: Warning when adding a new row when the length doesn't match the known number of columns has been updated to indicate the known columns and what was added. Thanks to Adam Sah for this.
- Updated: Now use jQuery's JSON parse function (in jQuery 1.4) rather than JSON.js
- Updated: Altered fnClearTable to clear the data arrays in a cleaner manner - 2476
- Fixed: State saving cookie used single quote strings in places (in correct JSON). This has now been addressed, and a work around in place (replace) until a sufficient period has passed
- Fixed: Removed unnecessary white space from state saving cookies
- Fixed: When displaying full data set with server-side processing (_iDisplayLength = -1), this would incorrectly be shown in the table information - 2440
- Fixed: Rows with HTML entities and BR tags in them could break filtering in IE and Opera - 2512
- Fixed: Columns with zero length strings only in them and with a given width would be missed from the width calculations - 2530
- Fixed: Typo for tfoot, should be tbody - "Sanity check that there is a thead and tfoot. If not let's just create them"
- Fixed: Setting a negative width in IE results in an error (fair enough) - so stop this from happening - 2544
- Fixed: The second parameter for fnServerData was being passed as null when used without server-side processing. It makes much more sense to pass an empty array - 2553
- Fixed: The width of the table is now not fixed to the width of the container when scrolling is not applied (this is the same behaviour as 1.6-) - 2530
- Fixed: fnDestroy didn't restore columns which had been hidden by DataTables, resulting in these columns being completely lost - 2569
- Fixed: Sorting classes weren't being removed in Firefox 3.0 (3.1+ were fine) - 2449
- Fixed: Themeroller 1.8 introduced a few changes from 1.7 (main fg-button* > ui-button) which was causing 1.8 themes to not show correctly. This release updates DataTables to use ThemeRoller 1.8 themes by default, but retains 1.7 backwards compatibility for now (to be removed in future) - 1559
|
 | DataTables v1.7.0 | 1st August 2010 | Download | Release commentsDataTables 1.7 has been in planning almost as soon as 1.6.0 was available, and under active development for the last three months. It has been slightly longer in coming that originally planned, but I am delighted to now be able to release DataTables 1.7.0.After a beta cycle which saw eight releases, I wish to offer a huge thank you to everyone who has been testing it and reporting issues back to me. DataTables 1.7 boasts a number of enhancements for both the end user's final view of the table, and for you, the developer, to make your life easier. I hope you enjoy this release! Release notes
- No changes from 1.7 beta 8. As a recap of the new features in the 1.7 series:
- New: X and Y scrolling! A table can now be constrained in both height and width, allowing scrolling to view hidden content. This works with or without pagination, and all other DataTables functions as would be expected. To accommodate this new feature the initialisation parameters iScrollX and iScrollY have been added which will take the height and width of the table (they are fully independent, you do not need to define both). Note that this feature is off by default but is there if you want to use it.
- New: aoColumnDefs - it is now possible to use this initialisation option to give column specific information (sClass etc) for one or more columns, by targeting a column using it's position or a class name (on the TH element), or all columns, and no longer need to specific aoColumns which had to match the exact column length, and could be very annoying for dynamic width tables.
- New: Big overhaul to the filtering interface - it is no longer a pain in the neck to work with!
- bEscapeRegex has now been replaced with bRegex (which is basically a NOT of the old var)
- Can now enable and disable smart filtering (where DataTables tries to be smart with user input)
- Smart filtering is available on individual column filtering now
- When entering a global filter using fnFilter, the search text will now be displayed in the table's filter input (unless you overrule this by passing false as the 5th parameter to fnFilter)
- New: fnDestory API function which will delete a DataTable, restoring the table to it's original 'unenhanced' state.
- New: Now using Closure compiler, rather than YUIcompressor. This results a saving of 1/3 file size in the minified version!
- New: null can be given to DataTables for display (as part of JSON data). When null is found in supplied data, DataTables will now treat it as if it were an empty string.
- Mew: aLengthMenu - initialisation option to specify the lengths that you want to be visible in the user selectable length menu. This is backwards compatible with the old way of replacing _MENU_ with whatever you want, but this behaviour is now recommended if you want to change only the length display options. Can be a 1D array, or 2D array (for separate language and value options).
- New: The scope of execution (this) for all of the callback functions (fnDrawCallback, fnHeaderCallback, fnFooterCallback, fnInitComplete, fnRowCallback and fnServerData) is now the DataTables object - as such you do not need to use 'oTable' (or whatever you call it) inside the callback functions - just use 'this'. The change also makes it possible to use API functions in the callback during initialisation.
- New: The built in date and numeric sorting both now allow blank values for the input. For example you could have a column of dates, with some being empty strings, which will still be sorted by date, rather then by string as would have been prior to 1.7.
- New: Automatic type detection of HTML content (for sorting a filtering). No longer need to specify sType:html for these columns
- New: Data is trimmed (be it from the DOM or a Javascript based array source) which allows data with white-space around it to be correctly sorted and dealt with (2230).
|
 | DataTables v1.7 beta 8 | 30th July 2010 | Download | Release commentsA final storm to the finishing line with this beta - very likely now to be the last in the beta series (1.7.0 should be released in the next few days). A couple of small bugs fixed in this release.Release notes
- Fixed: When dealing which hidden column, the wrong calculate column width could be applied, resulting in odd looking tables (specifically seen in IE8) - 2398
- Fixed: IE7 would show an x-scroll bar when only y-scrolling was enabled
- Fixed: bDestroy would cause a Javascript error in beta 7. Bug was introduced in beta 6 ("potential memory leak")
|
 | DataTables v1.7 beta 7 | 29th July 2010 | Download | Release commentsA few minor tweaks and adjustments, which I'd like to have beta tested just to make sure I've not missed anything before the 1.7.0 release.Release notes
- Updated: Examples - new scrolling tables example with jQuery UI tabs
- Updated: fnAdjustColumnSizing will now automatically redraw the table when called. This can be stopped by passing 'false' to the function
- Updated: oSettings.iScrollWidth has been moved to oSettings.oScroll.iBarWidth for consistency
- Updated: The alert "Added data does not match known number of columns" will now only be shown once every draw rather than once for every row
- Fixed: iDisplayStart would "rewind" incorrectly when server-side processing can change the page length from a longer length to a shorter one - 2071
- Fixed: The column parameter passed to fnSetColumnVis had to be a number of type Number, now it can be a string (containing a number!)
- Fixed: Any setting of style.height or style.width is now passed through _fnStringToCss to sanity check the setting (i.e. don't try and set "nullpx", which was possible when dealing with hidden tables)
|
 | DataTables v1.7 beta 6 | 25th July 2010 | Download | Release commentsThis new beta of DataTables 1.7 sees focus of continued stabilisation, with a view towards the 1.7.0 release. A number of bugs have been addressed in this release, and one new feature introduced: using the variable $.fn.dataTableExt.sErrMode (set to 'throw') DataTables will throw critical errors rather than 'alert()'ing them.Release notes
- New: You can now tell DataTables to throw an exception rather than show an alert() when it hits a "level 0" log entry (i.e. it has encountered a critical error). To do this set $.fn.dataTableExt.sErrMode = "throw". This is useful for automated testing, where an alert would interrupt the flow.
- Fixed: sScrollXInner did not have the correct unit applied, depending on the user input
- Fixed: The sizing table could be appended to a node which was not it's direct parent, which could result in incorrect sizing
- Fixed: If using custom DOM or some complex CSS, it is possible that the table width is more constrained that when it originally measured. This would result in horizontal scroll bars appearing incorrectly. We now check for this and take corrective action at the end of initialisation.
- Fixed: Typo for bDestroy - I had bDestory being checked for in the code. Sorry!
- Fixed: If y-scrolling (without x-scrolling) and the table has only a few records in it (few enough to fit into the visible area) the table didn't take up as much width as it should do - space was left for the scroll bar, which wasn't needed). This could look some visual displays look slightly odd with a gap down the right.
- Fixed: When scroll collapsed was enabled, and x-scrolling enable but not actively required (i.e. no scrollbar) there would be a gap between the table body and the footer to allow the scrollbar to be placed
- Fixed: Clicking to sort could selected the text which looks fairly ugly. DataTables had code to not do this, but it was only applied when the shift key was pressed. Removed this check. Thanks to OuT.
- Fixed: Backwards compatibility issue with sZeroRecords and sEmptyTable. Now if sEmptyTable is not given (as it is generally not, since it wasn't support in pre 1.7), then sZeroRecords will be used instead (assuming it is given).
- Fixed: When x-scrolling, if the scroll needed more than 50% extra above the width of the container element, then the table header would stop scrolling before the body did.
- Fixed: Column sizes are now recalculated when the fnSetColumnVis API function is used
- Fixed: When setting x-scroll to 100% and the table fits into the given viewport, it would still xscroll due to the y scroll bar
- Fixed: It was possible to have 'nullpx' assigned to a column's sWidth property - possibly caused by checking width on hidden elements or not using $(document).ready(). Added checks to stop this.
- Fixed: Potential memory leak when another 'process' is adding and removing tables from the DOM and DataTables is being used on these tables. If the element we are initialising has the same ID as a table which was previously initialised, but the table nodes don't match (from before) then we destory the old instance by simply deleting it.
- Fixed: When using a tfoot element with multiple TR elements in it, DataTables will now effectively ignore the extra rows, rather than breaking on them!
|
 | DataTables v1.7 beta 5 | 14th July 2010 | Download | Release commentsFollowing on from the release of 1.7 beta 4 a few days ago, an issue with column alignment was brought to light, which this update will hopefully address. This is the only change in this release - but it is worth noting that as part of this change, DataTables will now show a warning (console.log - only if it's available) if the requirements aren't met for the scrolling to occur correctly (i.e. column will be misaligned).Release notes
- New: console.log warnings are generated if the requirements aren't met to align the table columns correctly when scrolling
- Fixed: Fixed alignment of column where column width is constrained
|
 | DataTables v1.7 beta 4 | 12th July 2010 | Download | Release commentsAfter a lot of beta testing (thank you to everyone who has taken part are reported issues back to me!) and a lot of work on this new release, the next beta version of DataTables 1.7 is now available. This release focuses on stabilising the alignment of scrolling table columns, and a number of bug fixes. There are also a couple of significant new features in the automatic detection of HTML column types and the stripping of white-space to make type detection more robust. Enjoy!Release notes
- New: Automatic type detection of HTML content (for sorting a filtering). No longer need to specify sType:html for these columns
- New: Data is trimmed (be it from the DOM or a Javascript based array source) which allows data with white-space around it to be correctly sorted and dealt with (2230).
- New: Functions for afnSortData now get three parameters, the (new) third one is the visible column index
- New: sScrollXInner is a new initialisation property which allows you to specify the width of the table inside the scroller (this in instead of setting the width of the table to be too width)
- Fixed: Removed erroneous comment in fnOpen about old server-side specific code
- Fixed: Row strip removal (prior to DataTables adding it's own) was operating on child tables as well as the DataTable - 2182
- Fixed: Scrolling collapse could add a little extra height if x scrolling is not enabled
- Fixed: Slight optimisation on the code which removes row striping classes if the table already has one - 2182
- Fixed: When a column target in aoColumnDefs[].aTarget is given as 0+ and there is no matching column - then columns are added as needed. This allows aoColumnDefs to completely replace aoColumns.
- Fixed: Now use the first row in the body
- Fixed: An check for IE was incorrect in the scrolling (jQuery bug 6777) so now use a different check. This was causing Firefox issues
- Fixed: When adding a number to a column to a column which has been detected as a string you could get an error. The answer is to ensure all data held internally in a string and treat it accordingly (2249)
- Fixed: Optimisation of _fnNodeToDataIndex. When looking for a node, we now search through the visible part of aiDisplay and try match the given node to the elements on the page before battering through the whole aoData array. This will typically make look ups much faster since they tend to come from the visible information (events, selectors) (2261)
- Fixed: fnDestroy will now restore the odd/even classes of the original table (note this is not 100% fool proof, see the code, but it optimised to the majority of cases)
- Fixed: When autowidth is disabled _fnAjustColumnSizing now takes no action
|
 | DataTables v1.7 beta 3 | 12th June 2010 | Download | Release commentsThis latest beta of DataTables 1.7 sees further work on stabilising the new scrolling feature, which is proving to be a fairly difficult implementation because of how flexible DataTables is! I believe that it should now be working as expected, and there have been a lot of improvements in the code surrounding it. Please try this latest beta out and let me know if you find any bugs! There are also a number of other bug fixes in this new beta, to tidy things up.Release notes
- New: A 'static' function $.fn.dataTableExt.fnVersionCheck is now provided to allow version checking without a DataTables instance
- New: API function called fnAdjustColumnSizing(). Which would most likely be used with a scrolling table whose content has changed and the table needs updating to keep the header, footer and body all insync size wise. You will typically want to do a draw after this function is called to keep everything in-sync.
- New: Feature variable for scrolling tables "bScrollCollapse" - this will cause the table container height to shrink to that of the table if the result set shown is "shorter" than the height used for y-scrolling
- New: fnUpdate has been given a 5th parameter (bAction) to indicate if pre-draw actions (column size calculation and filter array building) should occur or not. Can be disabled to improve performance when adding many rows, but remember to perform these actions once all data has been updated!
- New: DataTables will detect when a given table will not fit into a specific area (when y-scrolling is enabled) and give a warning that you should be aware that this will likely cause the columns to be misaligned. This is because the scroll bar takes 15-18px to be displayed.
- Fixed: The algorithm used to calculate column widths has been completely reworked (this was probably the old code in DataTables, and well due for an update!). It is a lot more accurate, as needed by scrolling, but a little bit slower. The slower method is only used if you specify an 'sWidth' for a column.
- Fixed: HTML entities in text could cause filtering to return incorrect results
- Fixed: TD elements are now correctly dealt with in the thead when doing scrolling
- Fixed: Multiple TR rows are now accepted in thead when doing scrolling
- Fixed: When filtering is disabled fnFilter will now not do anything - just a straight return.
|
 | DataTables v1.7 beta 2 | 30th May 2010 | Download | Release commentsThis new beta of DataTables 1.7 primarily focuses on the new scrolling feature. There were a number is issues with the previous implementation that this release should address. This is why beta releases are so helpful :-). Thanks to all those who has tested 1.7 so far, please do continue to do so.Release notes
- New: Footer TH elements can be given a class using sFooterTH (is the classes object). This is useful for jQuery UI theming where the default is to give a suitable class for the background.
- New: Example showing how a type detection plug-in can be used for HTML columns
- New: Scrolling tables can now have a tfoot in them as well
- Fixed: Table alignment when using scrolling could go a bit bonkers.
- Fixed: Before a table is fully loaded, if you click on a link, you would most likely get an alert saying that the columns and rows don't match. This is due to browser behaviour, see WebKit bug 39683 and Mozilla bug 568050. As a work around, DataTables will now send this message to console.log if available, otherwise it will simply ignore the error.
- Fixed: Table captions using <caption> tag are now moved into the table used for the header. (thread: 2022).
- Fixed: Scrolling tables could get their alignment wrong at times. This should now be addressed.
- Fixed: The ID from clone nodes for scrolling header wasn't removed, which could result in a table being incorrectly re-initialised.
- Fixed: Changing column visibility with fnSetColumnVis was broken when using scrolling.
|
 | DataTables v1.7 beta | 26th May 2010 | Download | Release commentsIt is with great pleasure that I can release DataTables 1.7 beta! A lot of work has gone into this release to make DataTables easier to use for you the developer, and add new features which are visible to the end user.While this is a first beta release, it should perform well and prove to be very stable. There may of course be bugs found - if you do spot any, please post a message in the forums. Release notes
- New: Now using Closure compiler, rather than YUIcompressor. This results a saving of 1/3 file size in the minified version!
- New: fnDestory API function which will delete a DataTable, restoring the table to it's original 'unenhanced' state.
- New: null can be given to DataTables for display (as part of JSON data). When null is found in supplied data, DataTables will now treat it as if it were an empty string.
- New: DataTables will now send a random number to the server when making an Ajax call for data (either Ajax sourced or server-side process) in order to defeat caching of XHR requests in IE6-7.
- New: fnDeleteRow now as an option to not redraw the table on call like most of the other API functions (useful for deleting large numbers of rows) - thanks to 'kalakudu' in the forum.
- Mew: aLengthMenu - initialisation option to specify the lengths that you want to be visible in the user selectable length menu. This is backwards compatible with the old way of replacing _MENU_ with whatever you want, but this behaviour is now recommended if you want to change only the length display options. Can be a 1D array, or 2D array (for separate language and value options).
- New: aoColumnDefs - it is now possible to use this initialisation option to give column specific information (sClass etc) for one or more columns, by targeting a column using it's position or a class name (on the TH element), or all columns, and no longer need to specific aoColumns which had to match the exact column length, and could be very annoying for dynamic width tables.
- New: DataTables will display an 'alert()' error when JSON from the server-side (Ajax source, or server-side processing) is incorrectly formatted.
- New: Ability to format numbers in the 'information' display into an easily readable format, using the new initialisation function fnFormatNumber. The default function is to format numbers using commas for every third order of magnitude (i.e. "1,000,000").
- New: Can now specify the prefix of the cookie using the initialisation parameter "sCookiePrefix".
- New: It is now possible to retrieve table objects which have already been created using the jQuery selector, so you don't need to store a variable reference to the table object to use the API functions. For example "$('#example').dataTable(); $('#example').dataTable().fnDraw();" will now work, where as before it would throw an error. Note that the object is returned if no arguments are passed to dataTable(), or bRetrieve has been set. Alternatively you can fully reinitialise the table by setting bDestory to true, which will destroy the old table and initialise the new one (there are usually more optimal ways to modify the table).
- New: Big overhaul to the filtering interface - it is no longer a pain in the neck to work with!
- bEscapeRegex has now been replaced with bRegex (which is basically a NOT of the old var)
- Can now enable and disable smart filtering (where DataTables tries to be smart with user input)
- Smart filtering is available on individual column filtering now
- When entering a global filter using fnFilter, the search text will now be displayed in the table's filter input (unless you overrule this by passing false as the 5th parameter to fnFilter)
- New: The scope of execution (this) for all of the callback functions (fnDrawCallback, fnHeaderCallback, fnFooterCallback, fnInitComplete, fnRowCallback and fnServerData) is now the DataTables object - as such you do not need to use 'oTable' (or whatever you call it) inside the callback functions - just use 'this'. The change also makes it possible to use API functions in the callback during initialisation.
- New: New language variable called sEmptyTable which is shown when the table is truly empty (not just filtered to the point of being empty - where sZeroRecords is shown).
- New: The built in date and numeric sorting both now allow blank values for the input. For example you could have a column of dates, with some being empty strings, which will still be sorted by date, rather then by string as would have been prior to 1.7.
- New: X and Y scrolling! A table can now be constrained in both height and width, allowing scrolling to view hidden content. This works with or without pagination, and all other DataTables functions as would be expected. To accommodate this new feature the initialisation parameters iScrollX and iScrollY have been added which will take the height and width of the table (they are fully independent, you do not need to define both). Note that this feature is off by default but is there if you want to use it.
- Updated: fnDeleteRow no-longer has a 'null' option - it will actually remove the data from DataTables permanently now.
- Updated: aoData can no longer accept null as a value. fnDeleteRow was the only function which could cause this to occur, and that function has now been updated to not just null data. This may have a knock on effect if you have a plug-in which clones the display arrays (I'm not aware of any public ones).
- Updated: Single logging function for all alerts / warnings
- Updated: fnServerData default is no longer $.getJSON. It is now a call to $.ajax with some more suitable options for DataTables. fnServerData parameters and returns still function exactly as they did before.
- Updated: Calling the $.dataTable function on an already initialised table will now not return the settings object, but rather than DataTables object itself.
- Updated: Performance - improved the draw time when attaching nodes by using a document fragment. Thanks to hkdennis2k for this tip.
- Updated: sZeroRecords can now have the _MAX_ replacement macro used in it to indicate how many rows the filtering has been applied on, and no results found if you wish.
- Updated: Performance - improved the draw time by moving the body to a document fragment before removing nodes
- Updated: Unit tests modified to take account of changes
- Fixed: The TD element created when there are zero records to display could have the wrong colspan when there were hidden columns in the table. Thanks to Anthony Smith.
- Fixed: fnUpdate was not redrawing the table due to an incorrect check on bRedraw: 1741
- Fixed: Quote escaping in some server processing scripts was wrong
- Fixed: sDom handing for 'H' and 'F' wasn't very smart, just blindly replacing those two characters. As such something like '<"myHeader">t<"myFooter">' would fall apart. This is now handled correctly.
- Fixed: A no-cache variable is now sent to the server-side when loading data. IE could cache GET requests incorrectly, resulting in failed data loading - this should no longer happen.
- Fixed: iDisplayStart was broken when being used with server-side processing
- Fixed: It was possible to get into a situation where if the table had 'odd' and 'even' classes on the TR elements before the table was initialised, then you could get both classes applied to the table at the same time - resulting in no stripes.
- Fixed: fnClose will now work with server-side processing as well as client-side
- Fixed: Cookies now use the path a little more cleverly, which will mean that tables won't hit the 4KiB cookie upper limit quiet so quickly. Thanks to vex for this patch.
- Fixed: State saving in a cookie is now a bit smarter - DataTables will look for and delete an old (the oldest) cookie created by DataTables in the current path (due to the above fix) if it is about to exceed the 4KiB limit. This does have the effect of losing old data (approximately 8 pages can be stored without this cookie deletion being enacted), but means that the server won't run into a 500 error situation.
- Fixed: For some unknown reason IE would on rare occasions throw an error when inserting the information text. Thank you jQuery.html() for providing a fallback :-)
- Fixed: nodeName is case sensitive in XML documents, but always upper case in HTML. This could cause issues due to the use of nodeName checking in DataTables. toUppoerCase() is now used
- Fixed: When sorting on an empty array, there could be a reference to a javascript array element which didn't exist
- Known issue: If a link is clicked on before document loading is complete, an alert about the number of cell appears. This is due to the fact that the DOMContentReady event is fired before the DOM is actually ready. On going discussion in Webkit bug 39683 and Mozilla bug 568050.
|
 | DataTables v1.6.2 | 2nd March 2010 | Download | Release commentsA good bug fix version of DataTables this update, and is recommended for anyone using DataTables. Many of the fixes are in obscure places, but there are a few important ones in there. Also worth noting that unless there are any more critical bugs found in this stabilisation release, this will mark the end of the 1.6 series as we start to look towards v1.7.Release notes
- Updated: Now comes with jQuery 1.4.2
- Fixed: Warning message about number of TD elements got the information in the message the wrong way around!
- Fixed: State saving was missing 'desc' sorting, due to a bug introduced with the new handling of sorting (aaSorting and asSorting)
- Fixed: When using full_numbers pagination and jQuery UI, the 'Next' and 'Previous' button had the wrong classes assigned to them, making them look active.
- Fixed: fnPageChange more or less didn't work as advertised... It does now!
- Fixed: _fnAddData (internal function used by fnAddData as well as Ajax sourced data) had type detection algorithm wrong (like the fix in 1.6.1)
- Fixed: fnSetColumnVis now supports nested tables in a DataTable. Could probably do with a rewrite to be more flexible at some point...
- Fixed: When state saving, and the new table is longer than the old one, DataTables would show an empty table. Now it will roll back to the start
- Fixed: Auto calculation of column width could be dodgy when considering padding etc. Thanks to 'scottsb' in the forum for this fix (discussion id 1316)
- Fixed: Sorting classes (in the tbody) could be applied incorrectly when the cell has nested table(s) (forum discussion 1332)
- Fixed: A small performance increase in the adding of sorting classes due to algorithm change
- Fixed: Set a default of 'sorting_disabled' for sSortableNone (where sorting has been disabled on a column)
- Fixed: When attempting to use the pagination buttons which were disabled, DataTables would redraw the table (particularly noticeable with server-side processing). It now won't
|
 | DataTables v1.6.1 | 30th January 2010 | Download | Release commentsBuilding 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! Release notes
- 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
|
 | DataTables v1.6.0 | 21st January 2010 | Download | Release commentsIt is with great pleasure that I can release DataTables 1.6.0! After just one beta, I've decided to go ahead and make this release, as it continues a wide range of improvements over the 1.5.x series, and includes an update to each of the three major plug-ins (FixedHeader, KeyTables and TableTools). The documentation on the site has all been updated, and while the migration from 1.5.x should be almost pain free, there are a few things to be aware of, which are detailed on the 1.5 to 1.6 migration page.Enjoy! Release notes
- New: fnVersionCheck API function which can be used by plug-ins to check if DataTables is at a suitable version for them to be supported
- New: fnPageChange API function. This is to simplify paging, both internally and externally.
- New: Now ships with jQuery 1.4 in the package
- New: A warning is alert()ed when you try to re-initialise a table now as this is unsupported behaviour. Use the API to make any required changes. This is basically a sanity check
- New: KeyTable is now included in the DataTables distribution (under the extras directory)
- New: ReadMe in the extra directory explaining the various plug-ins
- New: fnDeleteRow, fnUpdate and fnGetData now accept either an aoData index, or the TR element as the target parameter (aoData index was required before, which required looking up the position before calling either of these functions).
- Fixed: The 'alert' errors that DataTables gives have been modified to clearly indicate that they come from DataTables
- Fixed: DataTables and it's content could "disappear" in IE7/8 due to the position:relative on .dataTables_wrapper. Adding zoom:1 fixes this. With special thanks to Tobias Bathge for his kind assistance with this!
- Fixed: api/row_details.html, api/select_single_row.html, server_side/row_details.html example shows the new use of fnGetData with a TR element being passed. Clear and easier to understand.
- Fixed: server_side/select_rows.html had a memory leak in it. Now uses $.live() event handler and the updated syntax for fnGetData
- Fixed: The sorting icons are now png8 files, with transparent backgrounds. Suitable for easier integration. The source psd is also included
- Fixed: Paging plug-in example updated for the new pagination API in DataTables 1.6
- Fixed: Initialisation of aaSorting, could result in poor interaction behaviour if not used in combination with aoColumns.asSorting (e.g. double click required to reverse sorting). Now automatically initialised to the correct sorting interaction order.
- Fixed: There was an extraneous call to _fnSortingClasses (which is quite a heavy function) in _fnInitalise
- Fixed: Removed instances of iSortDir_ in the code examples to match the API change
- Fixed: Plug-ins are given their own section in the 'examples'
|
 | DataTables v1.6 beta 1 | 9th January 2010 | Download | Release commentsI am very pleased to release a beta of DataTables 1.6. It has been almost a year with DataTables 1.5 (which followed on very quickly from 1.4) and the community has been growing steadily. The number of visits to datatables.net continues to go up, as does the forum post count. Hopefully 1.6 will be as well received as the earlier versions.
So what are the major features you expect in 1.6? Nothing revolutionary, but certainly evolutionary:
- Support for multiple instances of sDom elements. What this means is that you can have two (or more!) filter boxes, pagination elements or any other table control!v
- Stable sorting. Particularly important in Google Chrome, the table will retain it's original sorting order if items match value.
- A bit more speed :-)
Note that there have been a few API changes so you will have to make changes to use DataTables 1.6 if you use:
- Server-side processing: iSortDir_{x} has been renamed to sSortDir_{x} to reflect that it's a string
- A custom pagination plug-in: The fnInit function now takes three arguments. Please see the release notes.
Also note that the current releases of TableTools and FixedHeader are not currently compatible with 1.6.beta. New versions will be available soon.
As always, feedback is most welcome - please post any bugs and comments in the forum. Also, please remember to make a donation if you are using and enjoying DataTables :-)
1.6.beta examples Release notes
- API Change: Server-side processing, iSortDir_{x} changed to sSortDir_{x}
- API Change: Pagination plug-ins: fnInit now takes three arguments: 1. settings object, 2. container node, 3, draw callback function. The insertion of 2. is new.
- API Change: Plug-ins are no longer required to return a node (using sDom features). Features can now be added in this way for Javascript only functions as well.
- API Change: oSettings.fnDrawCallback has been renamed oSettings.aoDrawCallback and is now an array of objects with parameters 'fn' and 'sName'. No external change needed unless you are developing plug-ins
- New: Stable sorting - the original order is maintained when rows match (when the value is checked for sorting). This is particularly noticeable in Google Chrome)
- New: fnServerData can now be used to modify the Ajax data pull, in exactly the same way as it can be for server-side processing
- Fixed: Now fully pass jslint - no warnings
- Fixed: Column sorting classes would be applied on the server-side when bSortClasses was false
- Fixed: fnAddData will simply ignore an empty array that is passed into it
- Changed: Code ordering - now grouped into features
- Changed: Draw speed is increased through improved row striping. aoData._sRowStripe is a new internal variable for tracking this
- Changed: Due to the option of multiple instances of a 'feature' in sDom, the ID attributes are applied only to the first instance of a new element (for example the information div). It is recommended that classes are used for styling.
- To do: The beta will break TableTools and FixedHeader
|
 | DataTables v1.5.6 | 15th December 2009 | Download | Release commentsA quick turn around from 1.5.5 to this release which fixes a bug introduced in 1.5.5 that could cause problems in IE. This is the only change between 1.5.6 and 1.5.5.Release notes |
 | DataTables v1.5.5 | 8th December 2009 | Download | Release commentsBit of a tidy up release this one, cleaning up sDom when using jQuery UI (the standard classes how have H and F macros, rather than requiring the long class strings which can make things confusing), and also passing sorting and filtering enablement information (on a per column basis) to the server are the new features here. Everything else is just minor bug fixes. Enjoy!Release notes
- New: Two new sDom constants: H and F for jQuery UI theme header and footer (a long string of classes). Done like this to allow easier accessibility of sDom when used with jQueryUI theming
- New: bSortable_{i} and bSearchable_{i} have been added as parameters sent to the server-side (when server-side processing is used). This allows for the client and server-sides to be more flexible
- Updated: jEditable demo now has IDs in the TD elements which are also submitted.
- Fixed: iCookieDuration was missing from the initialisation parameters
- Fixed: State saving did not restore pagination state when bFilter was false
- Fixed: When sorting disabled (either by an individual column, or globally with bSort) classes were not applied to the table header cells, resulting in a poor visual effect, particularly with jQuery UI themeing enabled
- Fixed: When sName defined for the column but sColumns not returned by the server, there would be a Javascript error
|
 | DataTables v1.5.4 | 25th October 2009 | Download | Release commentsA much quicker turn around for this release of DataTables, which includes only one bug fix (but an important one as it could effect the look and feel of the table when using jQuery UI themes), and also a couple of exciting new features.Of these new features, the biggest is a new API for sorting, which allows a table to be sorted based on live information in the DOM - an example is worth a thousand words. Also two flags have been added to the DataTables settings object which are used to indicate if either filtering or sorting have been applied in the latest redraw, allowing you to take appropriate actions: for example updating an index column. Release notes
- New: New API for sorting data (specifically indented for DOM variable data such as form elements)
- New: Filtering and sorting are now (individually) flagged has having occurred, when appropriate, such that fnDrawCallback can be used as a hook when sorting and/or filtering has occurred. The new parameters are in oSettings as bSorted and bFiltered.
- New: Example - api/counter_column.html
- New: Example - api/dom_sorting.html
- Updated: Documentation updated for new sorting API and example data source sorting functions added to plug-ins page.
- Fixed: jQuery classes were not applied to thead elements which had sorting disabled on them
|
 | DataTables v1.5.3 | 18th October 2009 | Download | Release commentsIt's taken a little while to get to this release, but now 1.5.3 is here, and it brings with it a raft of bug fixes, and a few nice little feature additions - mainly the ability to control the default sorting direction of columns, and limiting the sorting to just ascending or descending.Release notes
- New: Default sorting direction is now controllable
- New: You can limit sorting to a single direction, or add complex behaviour as required
- New: fnRender object now also included oSettings
- New: fnDraw API function now accepts a single argument (boolean) to indicate if the redraw should be complete (i.e. re-sort and re-filter), which has the side effect of resetting the pagination, or just update the display as it is.
- Updated: The jQuery UI classes for sorting have been updated to take account of the new sorting direction control feature. This involves the use of a mix of triangle and chevron icons to make it clear what sorting can be controlled.
- Fixed: If the auto width calculation has found a table width of 0, it is not applied to the table. The reason being is that this can occur when the table is not in the documents, display flow.
- Fixed: Pressing return in the search box could cause a form to be submitted
- Fixed: JUI themes: insert span for the sorting direction in the header as the first element in the TH - makes it suitable for display:block styling. Thanks to TomC for this fix
- Fixed: fnOpen() will now work for elements which are not on the current page.
- Fixed: Child-tables could cause issues with the width calculation were to many TD elements were being selected
- Fixed: Selectors checked and improved for dealing with child-tables
- Fixed: When changing the number of columns in a table, and having bStateSave enabled, this could cause DataTables to expect the wrong number of columns. Now it will expect what is in the data source, and throw away the state information if it is out of date.
- Fixed: When showing all records (-1 length) the 'Next' and 'Previous' buttons weren't being disabled
- Fixed: When showing all records (-1 length) some of the buttons could cause 'odd' behaviour when clicked, even although nothing should have happened
- Fixed: _fnReDraw was missing from oApi
- Fixed: Adding a column to an empty table element with the column initially hidden and then shown would result in the column title failing to be to displayed (the cell would be)
|
 | DataTables v1.5.2 | 5th September 2009 | Download | Release commentsI'm very pleased to be able to release DataTables 1.5.2 which includes the exciting new feature of full ThemeRoller support (enabled through the 'bJQueryUI' initialisation parameter). This makes it trivial to integrate DataTables into your web-site's look and feel, matching the other jQuery UI widgets, or just to add professional looking styling to your tables. There is also a couple of bug fixes to improve stabilisation.Release notes
- New: Full support for jQuery UI's Theme Roller (using the bJQueryUI initialisation parameter)
- New: Custom classes names for all elements can now be defined
- New: In full numbers paging, the 'permanent' buttons (first, next etc) now have their classes updated to be 'active' when they can be clicked on.
- Fixed: When using sAjaxSource with state saving, the paginging number was not retained
- Fixed: Internal naming for 'first' span for full_numbers paging was incorrect
- Fixed: _fnGetTrNodes, _fnGetDataMaster and fnGetPosition did not consider nulls in aoData (as a result of fnDelete)
- Fixed: Column detection did not take account of TD elements mixed in with the THs
|
 | DataTables v1.5.1 | 23rd August 2009 | Download | Release commentsNow that the dust as settled (so to speak!) from the 1.5.0 release, it's time for a little updated which fixes a few niggling issues that have come to light since that first 1.5 series release.Release notes
- Fixed: full_numbers paging had a 'funny' in the page count
- Fixed: Fields could be incorrectly detected as 'date' if the browser sees null as a number (isNaN)
- Fixed: Unique TD detection was broken by a "fix" in 1.5.0. This has now been properly fixed
- Fixed: Showing and hiding columns could break the table formatting if there are any 'open' rows
- Fixed: Pressing enter in the filtering input could cause form submission
- Fixed: Processing display could be left as 'on' once initialisation has completed if using bProcessing without AjaxSource
|
 | DataTables v1.5.0 | 11th August 2009 | Download | Release commentsIt is with great pleasure that I release DataTables 1.5.0. It's been a long run up to this release, with a lot of interesting and informative discussions and support cases for DataTables - but here we now are. The primary new feature is support for server-side processing in DataTables, allow you to use DataTables to show records from massive databases. Plenty of work has gone into other areas as well, not least the unit testing framework, which is designed to ensure that DataTables is as reliable as possible.Enjoy DataTables 1.5.0!Release notes
- Summary of major changes since 1.4
- New: Server-side processing for handing of the processing of large data sets to a database. Also allows for Gear and AIR database support.
- New: New plug-in support for custom filtering
- New: Unit test framework with 1'300+ tests
- New: Full support for Adobe AIR
- New: Many new examples show casing the power of DataTables
- Fixed: Plenty of bugs!
- Minor changes since 1.5 beta 11
- Updated: Now ships with jQuery 1.3.2
- Fixed: Parsing data from JS array which contained data other than strings was broken
- Fixed: If bProcessing is set to true then it is now also used during initialisation for DOM and JS array sourced data (previously it was only effective during initialisation for server-side or ajax data).
- Fixed: Unique TD detection could be incorrect due to a dodgy loop
- Fixed: Alternative paging could get into funny states when used with length changing
|
 | DataTables v1.5 beta 11 | 17th July 2009 | Download | Release commentsA final push towards 1.5.0 (I hope!). The unit tests are now complete and have brought a number of bugs to the fore, allowing me to fix them as I go. So this should be the last release before 1.5.0, with the documentation to work on now.Release notes
- Updated: When using aoSearchCols (initialisation variable for column searching) it is now possible to use null for columns where you just want to use the default (no filter), and also bEscapeRegex is no longer mandatory in the object (if not given, it will default to true).
- Fixed: tfoot elements are removed as needed by the hidden columns. Demos updated.
- Fixed: Case where no info element given in sDom, but info feature enabled would cause a JS error
- Fixed: Case where no paging element given in sDom, but paging feature enabled would cause a JS error
- Fixed: Server-side processing - when pagination is disabled, DataTables will send -1 was the length to display, to allow the script to not include the limit option in the SQL statement.
- Fixed: Server-side processing - when sorting is feature disabled, sorting information is not sent to the server
- Fixed: Server-side processing - when filtering is feature disabled, filtering information is not sent to the server
- Fixed: Server-side processing - fnHeaderCallback and fnFooterCallback's 4th argument (end draw index) was incorrect.
- Fixed: When filtering language string is empty, a single space is no longer automatically inserted before the filtering input
- Fixed: Column names could be set to '' (blank) when using aaData as the data source.
- Fixed: Ajax source - IE could throw an error when dealing with an empty table
|
 | DataTables v1.5 beta 10 | 9th July 2009 | Download | Release commentsAnother release brings us another step closer to the 1.5 final release. Beta 10 released here, includes a number of tidy ups and fixes from the evolving unit test framework. Hopefully you will see a small speed benefit with this release, particularly if you use server-side processing and update your back-end code to match the examples in this release.Release notes
- Updated: A number of optimisations for the SQL in the server-side processing scripts. Provides a significant improvement for large data sets.
- Fixed: Server-side processing requests could get out of order if a later request took a very short amount of time to complete, while earlier ones took a long time. To fix this "sEcho" is sent as a parameter to the server side, and it is expected that this will be returned to the client. This is not mandatory but is STRONGLY RECOMMENDED.
- Fixed: Server-side processing pipelining example updated for new sEcho parameter
- Fixed: A whole bunch of little optimisations based on jslint information - many thanks to Oskar Gewalli for the work on this and the diff file!
- Fixed: A small change to how the filter value is set on initialisation to take account of the back button and webkit browsers
- Fixed: The header for the JS files now points to www.datatables.net for more information about DataTables
- Fixed: JSON return from server-side is now strict JSON valid
- Fixed: In full numbers paging, the correct IDs weren't being applied to the required elements.
- Fixed: An empty array for asStripClasses could cause issues in WebKit based browsers
- Fixed: State saving now includes column visibility (due to API interaction) - I would strongly recommend using bAutoWidth:false and setting the column widths yourself if using this at the moment. Reason being that DataTables doesn't use hidden columns for calculating the width of the table.
|
 | DataTables v1.5 beta 9 | 7th June 2009 | Download | Release commentsThis new beta of DataTables 1.5 focuses primarily on providing further API options for developers to fine tune DataTables to do exactly what you want. This is a significant step forward for how I see DataTables evolving, so all feedback is welcome. There are also a few small bug fixes included.Release notes
- New: Added $.fn.dataTableExt.sVersion with the version string
- New: Added $.fn.dataTableExt.aoFeatures for adding new features to DataTables view API and in-combination with sDom.
- New: Added $.fn.dataTableExt.ofnSearch for custom formatting of filtering based on type
- New: oApi is now referenced in oSettings - as such it is easier to perform functions where ever oSettings is available
- New: fnAddData and other row manipulations (server callback, Ajax source etc) will now give an alert error whenever a row is found which does not match the row length to the columns
- Updated: Internal referencing to the $.fn.dataTableExt object should be a lot faster now
- Fixed: Processing display was prematurely removed when using server-side processing and sorting on columns
- Fixed: When fnRowCallback doesn't return a node an alert is now given
- Fixed: Events in the header were cancelled prematurely in Safari. This was due to efforts to prevent text selection with multi-column sorting.
- Fixed: Fast paging with two_buttons in Safari could cause text selection which looked very ugly.
- Fixed: Click event handlers are not added to TH elements for columns which are not sortable
|
 | DataTables v1.5 beta 8 | 26th May 2009 | Download | Release commentsA number of minor bug fixes with a handful of tidy up features for this release. Nothing too exciting but a step forward for DataTables' extensibility and stability. Looking forward, work is still progressing (albeit slowly) on the 1.5 unit tests and that's really the only barrier to 1.5 going final. For now though, enjoy this update.Release notes
- New: When working with multiple tables from a single initialisation call, you can now use $.fn.dataTableExt.iApiIndex to tell the API functions which table to use.
- New: fnDeleteRow() has a third input parameter now, bNullRow. If this is given as true the row information will be nulled out.
- New: The pagination name is now used (with a prefix of 'paging_') as a class name for the pagination element (.e.g if you are using full_numbers page styling then you could use paging_full_numbers as your CSS selector). This helps to avoid conflicts with multiple paging types, and helps to clear confusion with the example CSS. Examples updated.
- New: Added regular expression filtering demo
- New: fnInitComplete now has a second parameter (useful only for sAjaxSource) - the json return from the server
- Fixed: A blank oLanguage.sUrl will no longer break
- Fixed: Processing language definition now allows HTML to be passed in the string and renders it (brought into line with all other language options).
- Fixed: Incorrect numeric type detection could occur on stings such as yyyy-MM-dd
- Fixed: Typo in printed code (not the actual source) of the server-side processing with pipelining example.
|
 | DataTables v1.5 beta 7 | 7th April 2009 | Download | Release commentsA little update to the 1.5 beta series to start the month. A bit of a tidy up the release with a number of fixes and a few more customisation options.Release notes
- New: oSearch and aoSearchCols can be defined in the init object for predefined filtering state
- New: iDisplayStart can be defined in the init object to state where the table should start it's record from
- Changed: Save save - path names are now saved in lower case
- Changed: A title attribute is applied to the paging buttons for the standard pagination (the images are CSS supplied, so no alt attribute)
- Fixed: State saving for individual columns was broken (cookie could get very large). This is now fixed.
- Fixed: Selecting rows works in IE6 now - thanks to Vincent Jones
- Fixed: Demo styles for full_numbers pagination fixed in IE
- Fixed: Complex headers (colspan and rowspan) now work in IE
- Fixed: Server-side processing information display had a few bugs in it - no longer
|
 | DataTables v1.5 beta 6 | 25th March 2009 | Download | Release commentsAn exciting new release which has support for a new plug-in type: filtering. You can now add custom filters to your table, which allows for range filtering (numeric, date) and any other filtering you wish to apply. A few other little nice touches and bugs fixes are also released here.Release notes
- New: Plug-in filtering functions! Allows range filtering and any other custom filtering types you want.
- New: Column filtering state is now also saved when using save state
- New: A select value of -1 for the length (can be done using the sLengthMenu parameter) means "show all"
- New: Example: server_side/post.html - get data using POST rather than GET
- New: Example: api/range_filtering.html - range filtering using a custom filter
- Fixed: Allow aaSorting to be empty
- Fixed: fnDelete() was incorrectly always paging back when used
- Fixed: Nested tables which have a tbody element gave an error - this is now fixed
|
 | DataTables v1.5 beta 5 | 22nd March 2009 | Download | Release commentsI'm pleased to release the latest beta of DataTables 1.5. There are a number of exciting new features in this release, and a bit of a clean up in various parts of this code. A few more examples have been added as well.Release notes
- New: General: Support for grouping columns through support for colspan and rowspan on the header
- New: General: aaSortingFixed property for forcing an 'always sort'
- New: Server-side processing: aoColumns.sName - internal name for server-side processing
- New: Server-side processing: sColumns parameter for server-side processing which passes the internal column names and gives the order that DataTables expects to receive data
- New: Server-side processing: Output order can now be defined using sColumns parameter returned from server. DataTables will automatically reorder if not in the expected order.
- New: Example: advanced_init/row_grouping.html
- New: Example: api/row_details.html
- New: Example: server_side/custom_vars.html
- New: Example: server_side/column_ordering.html
- New: Example: advanced_init/complex_header.html
- Updated: Some love for fnOpen() and fnClose(). It's now really quite easy to show a 'details' row in a table (with server-side processing the row will be lost after a redraw).
- Updated: fnOpen class name is now applied to the TD rather than the TR. Provides the same function with a little more flexibility
- Updated: Concatenation of the space to oLang.sPostFix is now done during initialisation
- Updated: The readme.txt file
- Updated: All examples are now in a sensible directory structured
- Updated: Header and footer handling code
- Fixed: fnRowCallback wasn't correctly inserting updated rows
- Fixed: sType is now considered for single column sorting
- Fixed: Information message about maximum number of records when filtering
- Fixed: fnRender() and bUseRendered were a bit mixed up in fnUpdate()
|
 | DataTables v1.4.3 | 18th March 2009 | Download | Release commentsThis is likely to be the last release of the 1.4 branch, and includes a number of bug fixes back ported from the work on the 1.5 branch. This is effectively a stabilisation of the 1.4 release.Release notes
- New (back ported from 1.5.0 beta 4): Added option for using original data for sorting and filtering (when using fnRender) - bUseRendered
- Fixed (back ported from 1.5.0 beta 4): $ and ^ are escaped as regex characters now
- Fixed (back ported from 1.5.0 beta 4): Filtering with a string as anything but a post fix filtered on the old result, rather than the full table.
- Fixed (back ported from 1.5.0 beta): sClass is now applied to DOM read cells as well as dynamically created ones
- Fixed (back ported from 1.5.0 beta): sAjaxSource didn't do an initial sort on the retrieved data
|
 | DataTables v1.5 beta 4 | 18th March 2009 | Download | Release commentsThis is a minor update to the 1.5 pre-release betas, which takes care of a couple of minor bugs and one new feature (related to fnRender() and original data).Release notes
- New: Added option for using original data for sorting and filtering (when using fnRender) - bUseRendered
- Fixed: $ and ^ are escaped as regex characters now
- Fixed: Filtering with a string as anything but a post fix filtered on the old result, rather than the full table.
- Fixed: Hidden columns were a little broken
- Fixed: Display overflow check in fnDeleteRow() corrected
- Removed: Language directory in the distribution - language information is now maintained at datatables.net/plug-ins
|
 | DataTables v1.5 beta 3 | 15th March 2009 | Download | Release commentsJust a minor update with two little bugs squashed.Release notes
- Updated: fnDrawCallback - passes settings object
- Fixed: Set column visibility - fixed for when there is no footer
- Fixed: iDisplayLength was temporarily broken
|
 | DataTables v1.5 beta 2 | 13th March 2009 | Download | Release commentsA very minor update to DataTables 1.5 beta. Just one new feature and one enhancement this time around.Release notes
- Full support for Adobe AIR - including multi-column sorting (which wasn't in the first beta).
- Slight speed improvement on the normal sort
|
 | DataTables v1.5 beta | 12th March 2009 | Download | Release commentsI'm very pleased to release a beta version of DataTables 1.5. After some intensive development this week, there are a couple of very significant new features including:
- Support for server-side processing of data
- Ability to get/display data from any source (Gears for example)
- Adobe AIR support
- Ability to show or hide columns programatically through the API.
This is very much a beta release, but it seems to be hold up quite well in my tests, and it also fixes a number of issues that were present in 1.4. I've also build a unit testing framework for DataTables, which will thoroughly test all releases in future, but I'm still in the middle of writing the tests. 1.5 won't be released until I'm happy that I've got a comprehensive test suite (we all want solid software!), but hopefully that won't be too long.
Full details can be found in the forum. Release notes
- New: Ability to show and hide columns dynamically!
- New: Added example for sorting and type detection plug-ins
- New: Sorting and type detection plug-in
- New: Added a new callback function for pre-drawing - fnPreDrawCallback()
- New: Server side processing - rock on!
- New: fnServerData() init parameter
- New: Support for Adobe AIR (although multi-column sorting is not supported)
- Updated: If the processing display is disabled (which it is by default) then the execution thread involving sorting is now continuous. The old behaviour applies is processing is enabled.
- Updated: try/catch on the eval of the state saving cookie to stop Javascript errors on reading a dodgy cookie
- Fixed: sClass is now applied to DOM read cells as well as dynamically created ones
- Fixed: _fnGatherData() has been optimised
- Fixed: fnOpen() colspan is correct for visible columns now
- Fixed: Column classes weren't correctly applied when using fnSort() API function
- Fixed: Automatic detection of numbers now allows only one decimal place
- Fixed: sAjaxSource didn't do an initial sort on the retrieved data
- Fixed: Removed text align on empty cell and demos now use the class name
|
 | DataTables v1.4.2 | 9th March 2009 | Download | Release commentsThere was an issue with saving state in 1.4.1, which has prompted an early release of 1.4.2. Currently working on a unit test framework to prevent errors like this creeping thought.Release notes
- Fixed: fnInitComplete() is called after the Ajax call has finished if using sAjaxSource
- Fixed: Documentation link in the examples that come with the distribution have been updated with the address of the new web-site
- Fixed: State saving javascript error
|
 | DataTables v1.4.1 | 7th March 2009 | Download | Release commentsThis is a maintenance release of DataTables, which fixes a number of quirks in DataTables 1.4.0, and addresses a few minor feature requests to make development that little bit easier!Release notes
- Updated: Plenty of attention to fnRender() - thanks to mimic on the forum.
- Updated: fnRender()ed data is stored in the internal aoData internal storage array to
- Updated: fnRender callback, aData parameter is now only the row in question - not the entire table
- New: Pass oSettings to fnInitComplete
- New: Add a third element to the array returned by fnGetPosition for TD elements - to indicate the position with hidden nodes
- New: Added a single row get for fnGetNodes()
- New: Use JSON.parse() for cookie if it is available for security. This is recommend.
- New: Regular expression flag for global and individual column filtering is now retained. Therefore you could now enable global regex filtering by doing 'oTable.fnSettings().oPreviousSearch.bEscapeRegex = false;'.
- Fixed: Filtering did not work when using fnRender()
- Fixed: fnUpdate() now considers fnRender()
- Fixed: fnGetData() speed improved for a single row
- Fixed: when initialising an empty table (ajax or aaData) a sorting type of 'string' is not assumed
- Fixed: Bug in _fnColumnIndexToVisible() which could cause issues with fnUpdate()
- Fixed: When oLanguage was specified, the DataTables initialisation process returned too early due to a setTimeout poll. This is only needed for an XHR language file.
|
 | DataTables v1.4.0 | 1st March 2009 | Download | Release commentsI'm very pleased to announce the release of DataTables 1.4.0. After a beta cycle of around one month, many new features and enhancements have been added to DataTables, plenty of bugs have been fixed, and edge use cases resolved.Along side the release of DataTables 1.4.0, this new web-site has been created to help document DataTables initialisation parameters and API, and also to foster further development of this plug-in. A plug-ins section has been added, and every is encouraged to share their thoughts on the forums. I hope you enjoy developing with DataTables 1.4. Release notesDataTables 1.4.0 is identical to 1.4 beta 11 (except the name...), but here is a quick summary of what is new in the 1.4 series:
- Non-destructive DOM interaction!
- Ajax auto loading of data
- Sorting column(s) highlighting
- Type detection for dynamic data (and plugin support)
- State saving
- API plug-in mechanism
- Speed - v1.4 is considerably faster for most common tasks
- Improved documentation
|
 | DataTables v1.4 beta 11 | 27th February 2009 | Download | Release commentsA quick release to fix a couple of state saving issues.Release notes
- Fixed: State saving in Webkit based browsers
- Fixed: Some state saved information could be over ruled by the defaults
|
 | DataTables v1.4 beta 10 | 26th February 2009 | Download | Release commentsA little bug squashing release before 1.4.0.Release notes
- New: Turkish language file tr_TR - thanks to Umit Gorkem
- Fixed: oSettings as first parameter to API function rather than the last to allow for variable length argument calls. WARNING - any custom API functions will need to be updated for this change.
- Fixed: Allow HTML inside the full_numbers buttons
- Fixed: State saving in Webkit browsers
- Fixed: Cancel text select for the full buttons numbers when rapid double clicking
|
 | DataTables v1.4 beta 9 | 22nd February 2009 | Download | Release commentsThis new beta includes an often requested API function - fnUpdate(). It allows a row or cell in the table to be updated (taking account of sorting and filtering state). Also a couple of minor bug fixes, including one which cased trouble when using nested tables.Release notes
- New: fnUpdate function to update the data currently on display in the table. Takes account of filtering, sorting etc.
- New: fnAddData now has a second parameter, a boolean to indicate redraw required or not (default true)
- Fixed: Nested tables no longer have their rows removed when DataTables redraws!
- Fixed: Remove fnDecrement API function (can be added back as an API function if anyone wants it - but it was broken anyway...)
- Fixed: Remove _fnMasterIndexFromDisplay internal function - unused
|
 | DataTables v1.4 beta 8 | 21st February 2009 | Download | Release commentsRelease notes
- New: Empty row td now has a class name of 'dataTables_empty'
- New: fnAddData returns an array of integers with the indexes of aoData which have been added
- New: Added Norwegian language file (nb_NO) - with thanks to Petter Ekrann for this translation.
- Fixed: aaSorting can be of zero length
- Fixed: You can pass parameters to custom API functions (with thanks to Benedikt Forchhammer for this fix)
- Fixed: Sorting with individual column filtering (but no global filter) resulted in the column filtering being lost.
- Fixed: Empty row now has asStripClasses[0] applied as a class name
- Fixed: A whole bunch of little improvements to the code thanks to jslint
|
 | DataTables v1.4 beta 7 | 15th February 2009 | Download | Release commentsRelease notes
- New: Plug-in method for custom API functions
- New: API plug-in example
- New: Package gzipped DataTables as standard (9.2k)
- Fixed: Updated German language file (thanks to Jorg Holz)
|
 | DataTables v1.4 beta 6 | 12th February 2009 | Download | Release commentsRelease notes
- New: Portuguese Brazilian translation
- New: Added variable length for the 'full_numbers' pagination type thorugh the variable jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages - with thanks to Jovan Popovic for his work on this!
- Fixed: Save state now works in IE (IE has an issue with the path of a cookie being anything but root)
- Fixed: Save saving with full numbers rejigged slightly
- Fixed: Tidied up a few spaces where there should have been tabs
|
 | DataTables v1.4 beta 5 | 3rd February 2009 | Download | Release commentsRelease notes
- New: Add (optional) third parameter to fnFilter() API function to indicate is regex strings should be escaped or not. Default true.
- New: A couple of extra classes for the 'full_numbers' pagination buttons.
|
 | DataTables v1.4 beta 4 | 28th January 2009 | Download | Release commentsRelease notes
- Bug fix: Custom defined titles (sTitle) are applied to non-dynamically build tables
- Bug fix: Fix offset issue when using fnRender() with bVisible parameter in the table table
|
 | DataTables v1.4 beta 3 | 26th January 2009 | Download | Release commentsRelease notes
- New feature: State saving - remember filtering, sorting, pagination and length values after refresh
- New: Russian translation
- Added: Form submit example
- Added: Highlight rows and columns example
- Added: State saving demo
- Remove: Random test file
|
 | DataTables v1.4 beta 2 | 23rd January 2009 | Download | Release commentsRelease notes
- Added: Now ships with jQuery 1.3.1
- Fixed: Single row select example cleaned up
- Fixed: 'information' issue after deleting rows
- Fixed: Regular expression special characters are escaped when used in filtering input
- New: For type 'html' tags are stripped for filtering (no longer match on tags...) - with thanks to Marc-Allen Johnson for his help with this suggestion and code patch.
|
 | DataTables v1.4 beta 1 | 22nd January 2009 | Download | Release commentsRelease notes
- New: Initial release of DataTables 1.4
|