<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"  xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>DataTables (jQuery plug-in)</title>
		<link>http://www.datatables.net/</link>
		<language>en-us</language>
		<description>Release information and other updates about DataTables</description>
		<atom:link href="http://www.datatables.net/rss.xml" rel="self" type="application/rss+xml" />
	
<item>
	<title>DataTables 1.7.1 released</title>
	<description><![CDATA[<p>Now 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.</p><p>Hope you enjoy!</p><p>Release notes for DataTables 1.7.1:</p><ul>
	<li>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</li>
	<li>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</li>
</ul>
<ul>
	<li>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.</li>
	<li>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.</li>
	<li>Updated: Now use jQuery's JSON parse function (in jQuery 1.4) rather than JSON.js</li>
	<li>Updated: Altered fnClearTable to clear the data arrays in a cleaner manner - 2476</li>
</ul>
<ul>
	<li>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</li>
	<li>Fixed: Removed unnecessary white space from state saving cookies</li>
	<li>Fixed: When displaying full data set with server-side processing (_iDisplayLength = -1), this would incorrectly be shown in the table information - 2440</li>
	<li>Fixed: Rows with HTML entities and BR tags in them could break filtering in IE and Opera - 2512</li>
	<li>Fixed: Columns with zero length strings only in them and with a given width would be missed from the width calculations - 2530</li>
	<li>Fixed: Typo for tfoot, should be tbody - "Sanity check that there is a thead and tfoot. If not let's just create them"</li>
	<li>Fixed: Setting a negative width in IE results in an error (fair enough) - so stop this from happening - 2544</li>
	<li>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</li>
	<li>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</li>
	<li>Fixed: fnDestroy didn't restore columns which had been hidden by DataTables, resulting in these columns being completely lost - 2569</li>
	<li>Fixed: Sorting classes weren't being removed in Firefox 3.0 (3.1+ were fine) - 2449</li>
	<li>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</li>
</ul>    <p><a href="/releases/DataTables-1.7.1.zip">Download DataTables 1.7.1</a></p>  ]]></description>
	<pubDate>Sun, 22 Aug 2010 15:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#65</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7.0 released</title>
	<description><![CDATA[<p>DataTables 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.</p><p>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.</p><p>I hope you enjoy this release!</p><p>Release notes for DataTables 1.7.0:</p><ul>
	<li>No changes from 1.7 beta 8. As a recap of the new features in the 1.7 series:</li>
	<li>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.</li>
	<li>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.</li>
	<li>New: Big overhaul to the filtering interface - it is no longer a pain in the neck to work with!
		<ul>
			<li>bEscapeRegex has now been replaced with bRegex (which is basically a NOT of the old var)</li>
			<li>Can now enable and disable smart filtering (where DataTables tries to be smart with user input)</li>
			<li>Smart filtering is available on individual column filtering now</li>
			<li>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)</li>
		</ul>
	</li>
	<li>New: fnDestory API function which will delete a DataTable, restoring the table to it's original 'unenhanced' state.</li>
	<li>New: Now using Closure compiler, rather than YUIcompressor. This results a saving of 1/3 file size in the minified version!</li>
	<li>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.</li>
	<li>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).</li>
	<li>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.</li>
	<li>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.</li>
	<li>New: Automatic type detection of HTML content (for sorting a filtering). No longer need to specify sType:html for these columns</li>
	<li>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).</li>
</ul>    <p><a href="/releases/dataTables-1.7.0.zip">Download DataTables 1.7.0</a></p>  ]]></description>
	<pubDate>Sun, 01 Aug 2010 18:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#64</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 8 released</title>
	<description><![CDATA[<p>A 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.</p><p>Release notes for DataTables 1.7 beta 8:</p><ul>
	<li>Fixed: When dealing which hidden column, the wrong calculate column width could be applied, resulting in odd looking tables (specifically seen in IE8) - 2398</li>
	<li>Fixed: IE7 would show an x-scroll bar when only y-scrolling was enabled</li>
	<li>Fixed: bDestroy would cause a Javascript error in beta 7. Bug was introduced in beta 6 ("potential memory leak")</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.8.zip">Download DataTables 1.7 beta 8</a></p>  ]]></description>
	<pubDate>Fri, 30 Jul 2010 07:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#63</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 7 released</title>
	<description><![CDATA[<p>A 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.</p><p>Release notes for DataTables 1.7 beta 7:</p><ul>
	<li>Updated: Examples - new scrolling tables example with jQuery UI tabs</li>
	<li>Updated: fnAdjustColumnSizing will now automatically redraw the table when called. This can be stopped by passing 'false' to the function</li>
	<li>Updated: oSettings.iScrollWidth has been moved to oSettings.oScroll.iBarWidth for consistency</li>
	<li>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</li>
</ul>
<ul>
	<li>Fixed: iDisplayStart would "rewind" incorrectly when server-side processing can change the page length from a longer length to a shorter one - 2071</li>
	<li>Fixed: The column parameter passed to fnSetColumnVis had to be a number of type Number, now it can be a string (containing a number!)</li>
	<li>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)</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.7.zip">Download DataTables 1.7 beta 7</a></p>  ]]></description>
	<pubDate>Thu, 29 Jul 2010 07:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#62</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 6 released</title>
	<description><![CDATA[<p>This 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.</p><p>Release notes for DataTables 1.7 beta 6:</p><ul>
	<li>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.</li>
</ul>
<ul>
	<li>Fixed: sScrollXInner did not have the correct unit applied, depending on the user input</li>
	<li>Fixed: The sizing table could be appended to a node which was not it's direct parent, which could result in incorrect sizing</li>
	<li>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.</li>
	<li>Fixed: Typo for bDestroy - I had bDestory being checked for in the code. Sorry!</li>
	<li>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.</li>
	<li>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</li>
	<li>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.</li>
	<li>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).</li>
	<li>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.</li>
	<li>Fixed: Column sizes are now recalculated when the fnSetColumnVis API function is used</li>
	<li>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</li>
	<li>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.</li>
	<li>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.</li>
	<li>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!</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.6.zip">Download DataTables 1.7 beta 6</a></p>  ]]></description>
	<pubDate>Sun, 25 Jul 2010 16:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#61</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 2.0.3 released</title>
	<description><![CDATA[<p>A trivial change to FixedHeader in this release, but non-the-less important. FixedHeader will now give you a warning when trying to use it in combination with scrolling in DataTables 1.7, which is not currently supported. FixedHeader will continue work great with DataTables, but just not when scrolling is enabled!</p><p>Release notes for FixedHeader 2.0.3:</p><ul>
	<li>Fixed: FixedHeader is not supported with scrolling enabled in DataTables 1.7. An alert() warning is now created when trying this to make it clear that this will not currently work.</li>
</ul>    <p><a href="/releases/FixedHeader.2.0.3.zip">Download FixedHeader 2.0.3</a></p>  ]]></description>
	<pubDate>Sun, 25 Jul 2010 15:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#60</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.6 released</title>
	<description><![CDATA[<p>This update to KeyTable sees just one change - support for scrolling in DataTables 1.7. As the "focused" cell moves into parts which are hidden by DataTables' new scrolling feature, the scrolling will be adjusted automatically to make the cell visible. This is backwards compatible will older versions of DataTables and non-DataTables tables.</p><p>Release notes for KeyTable 1.1.6:</p><ul>
	<li>New: KeyTable now supports scrolling in DataTables 1.7. No extra initialisation is required for this, it just works.</li>
</ul>    <p><a href="/releases/KeyTable.1.1.6.zip">Download KeyTable 1.1.6</a></p>  ]]></description>
	<pubDate>Sun, 25 Jul 2010 15:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#59</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 5 released</title>
	<description><![CDATA[<p>Following 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).</p><p>Release notes for DataTables 1.7 beta 5:</p><ul>
	<li>New: console.log warnings are generated if the requirements aren't met to align the table columns correctly when scrolling</li>
</ul>
<ul>
	<li>Fixed: Fixed alignment of column where column width is constrained</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.5.zip">Download DataTables 1.7 beta 5</a></p>  ]]></description>
	<pubDate>Wed, 14 Jul 2010 20:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#58</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 4 released</title>
	<description><![CDATA[<p>After 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!</p><p>Release notes for DataTables 1.7 beta 4:</p><ul>
	<li>New: Automatic type detection of HTML content (for sorting a filtering). No longer need to specify sType:html for these columns</li>
	<li>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).</li>
	<li>New: Functions for afnSortData now get three parameters, the (new) third one is the visible column index</li>
	<li>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)</li>
</ul>
<ul>
	<li>Fixed: Removed erroneous comment in fnOpen about old server-side specific code</li>
	<li>Fixed: Row strip removal (prior to DataTables adding it's own) was operating on child tables as well as the DataTable - 2182</li>
	<li>Fixed: Scrolling collapse could add a little extra height if x scrolling is not enabled</li>
	<li>Fixed: Slight optimisation on the code which removes row striping classes if the table already has one - 2182</li>
	<li>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.</li>
	<li>Fixed: Now use the first row in the body </li>
	<li>Fixed: An check for IE was incorrect in the scrolling (jQuery bug 6777) so now use a different check. This was causing Firefox issues</li>
	<li>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)</li>
	<li>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)</li>
	<li>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)</li>
	<li>Fixed: When autowidth is disabled _fnAjustColumnSizing now takes no action</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.4.zip">Download DataTables 1.7 beta 4</a></p>  ]]></description>
	<pubDate>Mon, 12 Jul 2010 20:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#57</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 3 released</title>
	<description><![CDATA[<p>This 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.</p><p>Release notes for DataTables 1.7 beta 3:</p><ul>
	<li>New: A 'static' function $.fn.dataTableExt.fnVersionCheck is now provided to allow version checking without a DataTables instance</li>
	<li>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.</li>
	<li>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</li>
	<li>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!</li>
	<li>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.</li>
</ul>
<ul>
	<li>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.</li>
	<li>Fixed: HTML entities in text could cause filtering to return incorrect results</li>
	<li>Fixed: TD elements are now correctly dealt with in the thead when doing scrolling</li>
	<li>Fixed: Multiple TR rows are now accepted in thead when doing scrolling</li>
	<li>Fixed: When filtering is disabled fnFilter will now not do anything - just a straight return.</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.3.zip">Download DataTables 1.7 beta 3</a></p>  ]]></description>
	<pubDate>Sat, 12 Jun 2010 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#56</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta 2 released</title>
	<description><![CDATA[<p>This 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.</p><p>Release notes for DataTables 1.7 beta 2:</p><ul>
	<li>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.</li>
	<li>New: Example showing how a type detection plug-in can be used for HTML columns</li>
	<li>New: Scrolling tables can now have a tfoot in them as well</li>
</ul>
<ul>
	<li>Fixed: Table alignment when using scrolling could go a bit bonkers.</li>
	<li>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.</li>
	<li>Fixed: Table captions using &lt;caption&gt; tag are now moved into the table used for the header. (thread: 2022).</li>
	<li>Fixed: Scrolling tables could get their alignment wrong at times. This should now be addressed.</li>
	<li>Fixed: The ID from clone nodes for scrolling header wasn't removed, which could result in a table being incorrectly re-initialised.</li>
	<li>Fixed: Changing column visibility with fnSetColumnVis was broken when using scrolling.</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.2.zip">Download DataTables 1.7 beta 2</a></p>  ]]></description>
	<pubDate>Sun, 30 May 2010 10:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#55</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.7 beta released</title>
	<description><![CDATA[<p>It 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.</p><ul><li><a href="http://datatables.net/new/1.7">New features in DataTables 1.7</li><li><a href="http://datatables.net/upgrade/1.7">Upgrading from 1.6</a></li></ul><p>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.</p><p>Release notes for DataTables 1.7 beta:</p><ul>
	<li>New: Now using Closure compiler, rather than YUIcompressor. This results a saving of 1/3 file size in the minified version!</li>
	<li>New: fnDestory API function which will delete a DataTable, restoring the table to it's original 'unenhanced' state.</li>
	<li>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.</li>
	<li>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.</li>
	<li>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.</li>
	<li>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).</li>
	<li>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.</li>
	<li>New: DataTables will display an 'alert()' error when JSON from the server-side (Ajax source, or server-side processing) is incorrectly formatted.</li>
	<li>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").</li>
	<li>New: Can now specify the prefix of the cookie using the initialisation parameter "sCookiePrefix".</li>
	<li>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).</li>
	<li>New: Big overhaul to the filtering interface - it is no longer a pain in the neck to work with!
		<ul>
			<li>bEscapeRegex has now been replaced with bRegex (which is basically a NOT of the old var)</li>
			<li>Can now enable and disable smart filtering (where DataTables tries to be smart with user input)</li>
			<li>Smart filtering is available on individual column filtering now</li>
			<li>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)</li>
		</ul>
	</li>
	<li>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.</li>
	<li>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).</li>
	<li>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.</li>
	<li>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.</li>
</ul>
<ul>
	<li>Updated: fnDeleteRow no-longer has a 'null' option - it will actually remove the data from DataTables permanently now.</li>
	<li>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).</li>
	<li>Updated: Single logging function for all alerts / warnings</li>
	<li>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.</li>
	<li>Updated: Calling the $.dataTable function on an already initialised table will now not return the settings object, but rather than DataTables object itself.</li>
	<li>Updated: Performance - improved the draw time when attaching nodes by using a document fragment. Thanks to hkdennis2k for this tip.</li>
	<li>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.</li>
	<li>Updated: Performance - improved the draw time by moving the body to a document fragment before removing nodes</li>
	<li>Updated: Unit tests modified to take account of changes</li>
</ul>
<ul>
	<li>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.</li>
	<li>Fixed: fnUpdate was not redrawing the table due to an incorrect check on bRedraw: 1741</li>
	<li>Fixed: Quote escaping in some server processing scripts was wrong</li>
	<li>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.</li>
	<li>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.</li>
	<li>Fixed: iDisplayStart was broken when being used with server-side processing</li>
	<li>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.</li>
	<li>Fixed: fnClose will now work with server-side processing as well as client-side</li>
	<li>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.</li>
	<li>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.</li>
	<li>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 :-)</li>
	<li>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</li>
	<li>Fixed: When sorting on an empty array, there could be a reference to a javascript array element which didn't exist</li>
</ul>
<ul>
	<li>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.</li>
</ul>    <p><a href="/releases/dataTables-1.7.beta.zip">Download DataTables 1.7 beta</a></p>  ]]></description>
	<pubDate>Wed, 26 May 2010 07:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#54</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.5 released</title>
	<description><![CDATA[<p>A small update to KeyTable with the addition of a useful new API function, thanks to Rohan Daxini. The function fnSetPosition allows you to set the position of the 'focused' cell by passing in either coordinates (x,y) or a cell node.</p><p>Release notes for KeyTable 1.1.5:</p><ul>
	<li>New: Added fnSetPosition function - takes ether (int,int) as coordinates, or (node) and will set the currently focused cell based on that.</li>
</ul>    <p><a href="/releases/KeyTable.1.1.5.zip">Download KeyTable 1.1.5</a></p>  ]]></description>
	<pubDate>Mon, 10 May 2010 08:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#53</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.4 released</title>
	<description><![CDATA[<p>A small but important update for KeyTable with just one fix - addresses an issue when integrating with a DataTable which has hidden columns.</p><p>Release notes for KeyTable 1.1.4:</p><ul>
	<li>Fixed: Hidden columns in a DataTable caused a JS error due to incorrect counting</li>
</ul>    <p><a href="/releases/KeyTable.1.1.4.zip">Download KeyTable 1.1.4</a></p>  ]]></description>
	<pubDate>Mon, 12 Apr 2010 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#52</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 2.0.2 released</title>
	<description><![CDATA[<p>Another small update to FixedHeader, with a couple of minor fixes. The biggest new thing here, is support for using a table with a fixed header inside a scrolling element (other than the page) - so you can now have the table within a DIV which is set to overflow:scroll.</p><p>Release notes for FixedHeader 2.0.2:</p><ul>
	<li>Fixed: Scrolling within a scrolling element is now supported</li>
	<li>Fixed: version check wasn't great for older versions of DataTables</li>
	<li>Fixed: Sorting on a column was causing a JS error to pop up (although after the sort had completed)</li>
</ul>    <p><a href="/releases/FixedHeader.2.0.2.zip">Download FixedHeader 2.0.2</a></p>  ]]></description>
	<pubDate>Sat, 20 Mar 2010 10:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#51</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>TableTools 1.1.4 released</title>
	<description><![CDATA[<p>A small but important change in this release. There was a trailing comma in the default initialisation object in TableTools 1.1.3, which stops initialisation in IE (all versions). This change addresses that.</p><p>Release notes for TableTools 1.1.4:</p><ul>
	<li>Fixed: Remove comma from init object that stops initialisation in IE</li>
</ul>    <p><a href="/releases/TableTools.1.1.4.zip">Download TableTools 1.1.4</a></p>  ]]></description>
	<pubDate>Thu, 11 Mar 2010 07:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#50</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.6.2 released</title>
	<description><![CDATA[<p>A 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.</p><p>Release notes for DataTables 1.6.2:</p><ul>
	<li>Updated: Now comes with jQuery 1.4.2</li>
</ul>
<ul>
	<li>Fixed: Warning message about number of TD elements got the information in the message the wrong way around!</li>
	<li>Fixed: State saving was missing 'desc' sorting, due to a bug introduced with the new handling of sorting (aaSorting and asSorting)</li>
	<li>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.</li>
	<li>Fixed: fnPageChange more or less didn't work as advertised... It does now!</li>
	<li>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)</li>
	<li>Fixed: fnSetColumnVis now supports nested tables in a DataTable. Could probably do with a rewrite to be more flexible at some point...</li>
	<li>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</li>
	<li>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)</li>
	<li>Fixed: Sorting classes (in the tbody) could be applied incorrectly when the cell has nested table(s) (forum discussion 1332)</li>
	<li>Fixed: A small performance increase in the adding of sorting classes due to algorithm change</li>
	<li>Fixed: Set a default of 'sorting_disabled' for sSortableNone (where sorting has been disabled on a column)</li>
	<li>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</li>
</ul>    <p><a href="/releases/dataTables-1.6.2.zip">Download DataTables 1.6.2</a></p>  ]]></description>
	<pubDate>Tue, 02 Mar 2010 18:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#49</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 2.0.1 released</title>
	<description><![CDATA[<p>A very small update to FixedHeader, which just fixes an issue when using fixed left and right columns.</p><p>Release notes for FixedHeader 2.0.1:</p><ul>
	<li>Fixed: Left and right fixed columns incorrectly referenced this.nTable, and it should have been s.nTable. Only noticeable if you had two or more tables 'fixed'.</li>
</ul>    <p><a href="/releases/FixedHeader.2.0.1.zip">Download FixedHeader 2.0.1</a></p>  ]]></description>
	<pubDate>Tue, 02 Mar 2010 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#48</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.3 released</title>
	<description><![CDATA[<p>A trivial update to KeyTable - but important if you are using it within a form.</p><p>Release notes for KeyTable 1.1.3:</p><ul>
	<li>Fixed: Assign tab index to hidden input correctly, for 'form tables'</li>
</ul>    <p><a href="/releases/KeyTable.1.1.3.zip">Download KeyTable 1.1.3</a></p>  ]]></description>
	<pubDate>Tue, 02 Mar 2010 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#47</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>TableTools 1.1.3 released</title>
	<description><![CDATA[<p>A small, but very welcome, update to TableTools this. Two bugs (including a very obvious calculation error in the alert() for the number of rows copied to clipboard!) and a few new features. You now have the ability to enable or disabled inclusion of the Byte Order Mark (BOM for both the CSV and XLS files created by TableTools (TableToolsInit.oBom.bCsv and TableToolsInit.oBom.bXsl). Also IMG tags are now replaced with their ALT tags, rather than simply being removed, thanks to a patch by Loic Bistuer.</p><p>Release notes for TableTools 1.1.3:</p><ul>
	<li>New: Ability to set if the BOM should be included for XLS and / or CSV export</li>
	<li>New: IMG tags are now replaced by their ALT attribute rather than just stripping them out. Thanks to Loic Bistuer for this feature</li>
	<li>New: Now compiled with the free mxmlc compiler (don't need a Flash license now :-) )</li>
</ul>
<ul>
	<li>Fixed: The alert which notes the number of rows copied was always one less than it should have been.</li>
	<li>Fixed: Printing feature didn't interact well with DataTables pagination. Would start are current page start, rather than table start</li>
</ul>    <p><a href="/releases/TableTools.1.1.3.zip">Download TableTools 1.1.3</a></p>  ]]></description>
	<pubDate>Tue, 02 Mar 2010 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#46</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>TableTools 1.1.2 released</title>
	<description><![CDATA[<p>A quick update for TableTools here - there was a bug which effected data export in IE. This release is now confirmed to worth across browsers, with large files, UTF-8 characters and HTML entities.</p><p>Release notes for TableTools 1.1.2:</p><ul>
	<li>Fixed: Data export was broken in IE due to the nodeValue stripping \n\t.</li>
</ul>    <p><a href="/releases/TableTools.1.1.2.zip">Download TableTools 1.1.2</a></p>  ]]></description>
	<pubDate>Tue, 02 Feb 2010 08:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#45</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>TableTools 1.1.1 released</title>
	<description><![CDATA[<p>A small update to TableTools, including two new features (ability to customise the fading print message, and ability to, optionally, export the table footer), and two bug fixes. With this release large files can be saved (>700KiB for example) with the limiting factor now appearing to be the Flash engine for dealing with UTF8/16LE conversion.</p><p>Release notes for TableTools 1.1.1:</p><ul>
	<li>New: TableToolsInit.sPrintInfo option added to the settings object. You can now customise the message about the print view (i.e. press escape to return to normal) using this parameter</li>
	<li>New: TableTools will now export the table footers as well as the header. This can be disabled using TableToolsInit.bIncFooter=false.
</ul>
<ul>
	<li>Fixed: Large data sets can now be exported due to a work around of a browser limiting feature in nodeValue</li>
	<li>Fixed: Removed 'KeyTable' events information from the HTML table which was left over from copy/paste</li>
</ul>    <p><a href="/releases/TableTools.1.1.1.zip">Download TableTools 1.1.1</a></p>  ]]></description>
	<pubDate>Mon, 01 Feb 2010 07:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#44</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.6.1 released</title>
	<description><![CDATA[<p>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.</p><p>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!</p><p>Release notes for DataTables 1.6.1:</p><ul>
	<li>Updated: fnOpen now returns the TR node that was created</li>
</ul>
<ul>
	<li>Fixed: Cookie contents were not escaped. As a return ';' and other characters could cause issues.</li>
	<li>Fixed: Type detection was incorrectly only looking at the first row (under certain circumstances).</li>
	<li>Fixed: Type detection could get confused if a column contained (only) date and numeric information.</li>
	<li>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.</li>
	<li>Fixed: The examples index in the distribution had a few wrong links in it</li>
</ul>
<ul>
	<li>
		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%!
		<ul>
			<li> 	- Test set, 500 rows with 9 columns</li>
			<li>	- Safari 4 - 4500mS to 400mS</li>
			<li>	- Firefox 3.5 - 2500mS to 600mS</li>
			<li>	- IE 8 - 'Unresponsive script' to 1500mS</li>
		</ul>
	</li>
	<li>
	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.
		<ul>
			<li>	- Test set, 2000 rows with 9 columns</li>
			<li>	- Safari 4 - 1500mS to 300mS</li>
			<li>	- Firefox 3.5 - 1100mS to 370mS</li>
			<li>	- IE8 - 'Unresponsive script' to 600mS</li>
		</ul>
	</li>
	<li>
	Optimisation: Sorting classes (bSortClasses) was slow when adding the required sorting classes. Using direct DOM manipulation the draw has be substantially improved:
		<ul>
			<li>	- Test set, 2000 rows with 9 columns</li>
			<li>	- Safari 4 - 2200mS to 1100mS</li>
			<li>	- Firefox 3.5 - 2800mS to 2100mS</li>
			<li>	- IE8 - 'Unresponsive script' to 10300mS</li>
		</ul>
	</li>
	<li>
		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)
		<ul>
			<li>	- Test set, 2000 rows with 9 columns</li>
			<li>	- Safari 4 - 1100mS to 660mS</li>
			<li>	- Firefox 3.5 - 2100mS to 1500mS</li>
			<li>	- IE8 - 10300mS to 3100mS</li>
		</ul>
	</li>
	<li>
		Optimisation: Very minor (but welcome all the same) draw time speed up by altering the algorithm for removing and then adding rows
		<ul>
			<li>	- Test set, 57 rows with 5 columns, draw 100 rows and then 10, looped 1000 times</li>
			<li>	- Safari 4 - 2000mS to 1800mS</li>
			<li>	- Firefox 3.5 - 11000mS to 9600mS</li>
			<li>	- IE8 - not tested</li>
		</ul>
	</li>
	<li>
		Optimisation: Change method for reading in the data from the DOM for _fnGatherData.
		<ul>
			<li>	- Test set, 2000 rows with 9 columns</li>
			<li>	- Safari 4 - 550mS to 440mS</li>
			<li>	- Firefox 3.5 - 1300mS to 1000mS</li>
			<li>	- IE8 - 4100mS to 3500mS</li>
		</ul>
	</li>
</ul>    <p><a href="/releases/dataTables-1.6.1.zip">Download DataTables 1.6.1</a></p>  ]]></description>
	<pubDate>Sat, 30 Jan 2010 12:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#43</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.6.0 released</title>
	<description><![CDATA[<p>It 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 <a href="http://www.datatables.net/upgrade/1.6">1.5 to 1.6 migration page</a>.</p><p>Enjoy!</p><p>Release notes for DataTables 1.6.0:</p><ul>
	<li>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</li>
	<li>New: fnPageChange API function. This is to simplify paging, both internally and externally.</li>
	<li>New: Now ships with jQuery 1.4 in the package</li>
	<li>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</li>
	<li>New: KeyTable is now included in the DataTables distribution (under the extras directory)</li>
	<li>New: ReadMe in the extra directory explaining the various plug-ins</li>
	<li>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).</li>
</ul>
<ul>
	<li>Fixed: The 'alert' errors that DataTables gives have been modified to clearly indicate that they come from DataTables</li>
	<li>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!</li>
	<li>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.</li>
	<li>Fixed: server_side/select_rows.html had a memory leak in it. Now uses $.live() event handler and the updated syntax for fnGetData</li>
	<li>Fixed: The sorting icons are now png8 files, with transparent backgrounds. Suitable for easier integration. The source psd is also included</li>
	<li>Fixed: Paging plug-in example updated for the new pagination API in DataTables 1.6</li>
	<li>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.</li>
	<li>Fixed: There was an extraneous call to _fnSortingClasses (which is quite a heavy function) in _fnInitalise</li>
	<li>Fixed: Removed instances of iSortDir_ in the code examples to match the API change</li>
	<li>Fixed: Plug-ins are given their own section in the 'examples'</li>
</ul>    <p><a href="/releases/dataTables-1.6.0.zip">Download DataTables 1.6.0</a></p>  ]]></description>
	<pubDate>Thu, 21 Jan 2010 09:15:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#42</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 2.0.0 released</title>
	<description><![CDATA[<p>A complete re-write of FixedHeader which gives not only new features, but also a significant performance boast. You can now 'fix' the header, the footer, the left most column and the right most column (each independently)! Have a look at this example <a href="http://datatables.net/release-datatables/extras/FixedHeader/top_bottom_left_right.html">all fixed sides</a> for what this update can do. Also of note is that FixedHeader will now work as a standalone piece of software, as well as integrating with DataTables. A number of other improvements have gone in as well, see the release notes for details.</p><p>Release notes for FixedHeader 2.0.0:</p><ul>
	<li>New: Massive changes - basically a complete re-write</li>
	<li>New: Ability to fix the header, the footer, the left most column and right most column! Each can be enabled or disabled independently</li>
	<li>New: Five more examples to show how FixedHeader can be customised now</li>
	<li>New: Much more efficient in terms of Javascript processing == smoother display</li>
	<li>New: Multiple tables can have FixedHeader applied to them</li>
	<li>New: FixedHeader can be applied to standard HTML tables as well as DataTables (i.e. DataTables is optional)</li>
	<li>New: Now requires DataTables 1.6.x</li>
	<li>New: Support multi-column sorting (shift-click)</li>
</ul>    <p><a href="/releases/FixedHeader.2.0.0.zip">Download FixedHeader 2.0.0</a></p>  ]]></description>
	<pubDate>Thu, 21 Jan 2010 09:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#41</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>TableTools 1.1.0 released</title>
	<description><![CDATA[<p>The big news in this release of TableTools is the support for Unicode when exporting to Excel or CSV. The Excel files are now written in UTF-16LE, while the CSV files are UTF-8. Also of note is the removal of the (approximately) 64K limit to saving data - a work around for the limitations of the Javascript / Flash bridge has been implemented to address this. Other than that, it's mainly bug fixes.</p><p>Release notes for TableTools 1.1.0:</p><ul>
	<li>New: Unicode support!</li>
	<li>New: Excel output is now saved as UTF-16LE, which allows unicode to work. CSV output is saved as UTF-8. The BOM is included in both cases.</li>
	<li>New: Information in hidden columns (bVisible:false) can now be included in the exported data by setting the TableToolsInit.bIncHiddenColumns parameter</li>
	<li>New: Data is automatically trimmed when exported (csv, xsl or clipboard). This is done to account for white space which is often present in HTML tables</li>
	<li>New: Ability to save files larger than 64KiB. There is a limitation in the Javascript / Flash bridge, which has been worked around in this release for large data sets.</li>
</ul>
<ul>
	<li>Fixed: Demo now notes that TableToolsInit.sSwfPath might need to be set by the developer</li>
	<li>Fixed: Type issue when used with server-side processing, Ajax or aaData sources.</li>
	<li>Fixed: Strip invalid characters from the titles. Note it's fairly brutal when detailing with ACSII characters. This is the ensure maximum compatibility.</li>
	<li>Fixed: The csv export doesn't account for existing commas in the table cells. Now use a field boundary for CSV (default is a single quote '), which is read from TableToolsInit.sCsvBoundary</li>
	<li>Fixed: Passes JSLint</li>
	<li>Fixed: HTML entities are now decoded (for example '&' will come out as '&' in the exported file and clipboard now)</li>
	<li>Known limitation: Note that due to limitations in Javascript engines it would appear that this support is limited to the "Basic Multilingual Plane"</li>
</ul>    <p><a href="/releases/TableTools.1.1.0.zip">Download TableTools 1.1.0</a></p>  ]]></description>
	<pubDate>Thu, 21 Jan 2010 09:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#40</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.2 released</title>
	<description><![CDATA[<p>A minor update for KeyTable here, after it's major update of introducing column and row events in v1.1. This will address a few bugs that have cropped up here and there.</p><p>Release notes for KeyTable 1.1.2:</p><ul>
	<li>Fixed: The return key needed to 'stopPropagation()' etc</li>
	<li>Fixed: There was a console.log debug statement left in which of course broke IE and other browsers</li>
	<li>Fixed: Editable example is updated to use the new event attaching syntax - much more efficient</li>
	<li>Fixed: Passes JS Lint (replacing some questionable scripting...)</li>
</ul>    <p><a href="/releases/KeyTable.1.1.2.zip">Download KeyTable 1.1.2</a></p>  ]]></description>
	<pubDate>Thu, 21 Jan 2010 09:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#39</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.6 beta 1 released</title>
	<description><![CDATA[<p>I 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.</p>

<p>So what are the major features you expect in 1.6? Nothing revolutionary, but certainly evolutionary:

<ul>
	<li>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
	<li>Stable sorting. Particularly important in Google Chrome, the table will retain it's original sorting order if items match value.</li>
	<li>A bit more speed :-)</li>
</ul>

<p>Note that there have been a few API changes so you will have to make changes to use DataTables 1.6 if you use:</p>

<ul>
	<li>Server-side processing: iSortDir_{x} has been renamed to sSortDir_{x} to reflect that it's a string</li>
	<li>A custom pagination plug-in: The fnInit function now takes three arguments. Please see the release notes.</li>
</ul>

<p>Also note that the current releases of TableTools and FixedHeader are not currently compatible with 1.6.beta. New versions will be available soon.</p>

<p>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 :-)</p>

<p><a href="http://www.datatables.net/1.6-beta/examples">1.6.beta examples</a></p><p>Release notes for DataTables 1.6 beta 1:</p><ul>
	<li>API Change: Server-side processing, iSortDir_{x} changed to sSortDir_{x}</li>
	<li>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.</li>
	<li>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.</li>
	<li>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</li>
	<li>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)</li>
	<li>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</li>
	<li>Fixed: Now fully pass jslint - no warnings</li>
	<li>Fixed: Column sorting classes would be applied on the server-side when bSortClasses was false</li>
	<li>Fixed: fnAddData will simply ignore an empty array that is passed into it</li>
	<li>Changed: Code ordering - now grouped into features</li>
	<li>Changed: Draw speed is increased through improved row striping. aoData._sRowStripe is a new internal variable for tracking this</li>
	<li>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.</li>
	<li>To do: The beta will break TableTools and FixedHeader</li>
</ul>    <p><a href="/releases/dataTables-1.6.beta.1.zip">Download DataTables 1.6 beta 1</a></p>  ]]></description>
	<pubDate>Sat, 09 Jan 2010 12:15:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#38</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.1 released</title>
	<description><![CDATA[<p>A minor update for a bug which has been spotted by dvilaverde in the forum.</p><p>Release notes for KeyTable 1.1.1:</p><ul>
	<li>Fixed: Event handler positioning was incorrect when used with DataTables paging</li>
</ul>    <p><a href="http://sprymedia.co.uk/software/KeyTable/KeyTable.1.1.1.zip">Download KeyTable 1.1.1</a></p>  ]]></description>
	<pubDate>Tue, 22 Dec 2009 20:30:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#37</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>KeyTable 1.1.0 released</title>
	<description><![CDATA[<p>Quite an exciting update for KeyTable this, as I think it greatly enhances the usability (from you, the developer's, perspective). The events model in 1.0.x was limited to targeting individual cells, but new in 1.1.0 you can target rows, columns or the entire table with a single callback function simply by passing 'null' for the x or y coordinate (i.e. x=1 and y=null would target the second column).</p><p>Hand-in-hand with this leap forward in development usability is the new inclusion of three API functions which will give you the position of the currently focused cell (fnGetCurrentPosition), the data from the currently focused cell (fnGetCurrentData) and the TD node that is currently focused (fnGetCurrentTD).</p><p>Enjoy!</p><p>Release notes for KeyTable 1.1.0:</p><ul>
	<li>New: "Live" events. You can now pass either null for either (or both) the x or y coordinates for an event handler to mean "all" of the that row or column. This means that you can now have a single event handler for an entire row, column or every cell, rather than doing it individually.</li>
	<li>New: The callback function for the event handler now passes in three parameters: 1. The node in question (as before), 2. the node's x coordinate and 3. the node's y coordinate.</li>
	<li>New: Added API function fnGetCurrentPosition() to get the current position of the focus (array [x,y] is returned)</li>
	<li>New: Added API function fnGetCurrentData() to get the data from the currently focused cell</li>
	<li>New: Added API function fnGetCurrentTD() to get the currently focused TD element</li>
	<li>New: Updated DataTables distribution to 1.5.6. Might integrate into the DataTables 'extra' directory in future</li>
</ul>
<ul>
	<li>Fixed: Only worked with two_button paging type previously. Now works with all paging types</li>
	<li>Fixed: Use 'jQuery' variable rather than '$' to avoid conflict with other libraries</li>
	<li>Fixed: When attempting to add events using incorrect formatting, an alert is now given</li>
</ul>    <p><a href="http://sprymedia.co.uk/software/KeyTable/KeyTable.zip">Download KeyTable 1.1.0</a></p>  ]]></description>
	<pubDate>Fri, 18 Dec 2009 18:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#36</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.5.6 released</title>
	<description><![CDATA[<p>A 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.</p><p>Release notes for DataTables 1.5.6:</p><ul>
	<li>Fixed: sDom issues in IE</li>
</ul>    <p><a href="/releases/dataTables-1.5.6.zip">Download DataTables 1.5.6</a></p>  ]]></description>
	<pubDate>Tue, 15 Dec 2009 12:15:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#35</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.5.5 released</title>
	<description><![CDATA[<p>Bit 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!</p><p>Release notes for DataTables 1.5.5:</p><ul>
	<li>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</li>
	<li>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</li>
</ul>
<ul>
	<li>Updated: jEditable demo now has IDs in the TD elements which are also submitted.</li>
</ul>
<ul>
	<li>Fixed: iCookieDuration was missing from the initialisation parameters</li>
	<li>Fixed: State saving did not restore pagination state when bFilter was false</li>
	<li>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</li>
	<li>Fixed: When sName defined for the column but sColumns not returned by the server, there would be a Javascript error</li>
</ul>    <p><a href="/releases/dataTables-1.5.5.zip">Download DataTables 1.5.5</a></p>  ]]></description>
	<pubDate>Tue, 08 Dec 2009 19:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#34</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.5.4 released</title>
	<description><![CDATA[<p>A 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.</p><p>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 - <a href="http://datatables.net/examples/api/dom_sort.html">an example is worth a thousand words</a>. 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: <a href="http://datatables.net/examples/api/counter_column.html">for example updating an index column</a>.</p><p>Release notes for DataTables 1.5.4:</p><ul>
	<li>New: New API for sorting data (specifically indented for DOM variable data such as form elements)</li>
	<li>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.</li>
	<li>New: Example - api/counter_column.html</li>
	<li>New: Example - api/dom_sorting.html</li>
</ul>
<ul>
	<li>Updated: Documentation updated for new sorting API and example data source sorting functions added to plug-ins page.</li>
</ul>
<ul>
	<li>Fixed: jQuery classes were not applied to thead elements which had sorting disabled on them</li>
</ul>    <p><a href="/releases/dataTables-1.5.4.zip">Download DataTables 1.5.4</a></p>  ]]></description>
	<pubDate>Sun, 25 Oct 2009 19:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#33</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.5.3 released</title>
	<description><![CDATA[<p>It'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.</p><p>Release notes for DataTables 1.5.3:</p><ul>
	<li>New: Default sorting direction is now controllable</li>
	<li>New: You can limit sorting to a single direction, or add complex behaviour as required</li>
	<li>New: fnRender object now also included oSettings</li>
	<li>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.</li>
</ul>
<ul>
	<li>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.</li>
</ul>
<ul>
	<li>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.</li>
	<li>Fixed: Pressing return in the search box could cause a form to be submitted</li>
	<li>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</li>
	<li>Fixed: fnOpen() will now work for elements which are not on the current page.</li>
	<li>Fixed: Child-tables could cause issues with the width calculation were to many TD elements were being selected</li>
	<li>Fixed: Selectors checked and improved for dealing with child-tables</li>
	<li>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.</li>
	<li>Fixed: When showing all records (-1 length) the 'Next' and 'Previous' buttons weren't being disabled</li>
	<li>Fixed: When showing all records (-1 length) some of the buttons could cause 'odd' behaviour when clicked, even although nothing should have happened</li>
	<li>Fixed: _fnReDraw was missing from oApi</li>
	<li>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)</li>
</ul>    <p><a href="/releases/dataTables-1.5.3.zip">Download DataTables 1.5.3</a></p>  ]]></description>
	<pubDate>Sun, 18 Oct 2009 18:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#32</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 1.0.1 released</title>
	<description><![CDATA[<p>I've done a bit of work on FixedHeaders in order to make the display of the header as smooth as possible - and it's generally been very successful. There is a massive improvement in display speed in Firefox and IE8 specifically (Webkit was already smooth), but all browsers should see a big improvement due to the reduced DOM queries and updates.

One thing to note is that IE6 and IE7 do not benefit much from this update (there are some small optimisations), due to lack of position:fixed support in IE6 and a bug in IE7. As such, these two browsers use the old method.</p><p>Release notes for FixedHeader 1.0.1:</p><ul>
<li>Updated: Much improved speed of rendering</li>
<li>Updated: The fnUpdate() function will update cached DOM information now</li>
</ul>    <p><a href="/forums/comments.php?DiscussionID=696">Download FixedHeader 1.0.1</a></p>  ]]></description>
	<pubDate>Fri, 02 Oct 2009 17:45:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#31</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>FixedHeader 1.0.0 released</title>
	<description><![CDATA[<p>Being able to "Freeze" the table's column titles at the top of the table, to have the header floating above the table when an end user scrolls a web-page is a commonly requested feature in DataTables. This is now provided through the new FixedHeader plug-in.</p><p>Release notes for FixedHeader 1.0.0:</p><ul>
<li>Initial release</li>
</ul>    <p><a href="/forums/comments.php?DiscussionID=625">Download FixedHeader 1.0.0</a></p>  ]]></description>
	<pubDate>Wed, 16 Sep 2009 23:13:02 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#30</guid>
	<link>http://www.datatables.net/</link>
</item>

<item>
	<title>DataTables 1.5.2 released</title>
	<description><![CDATA[<p>I'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.</p><p>Release notes for DataTables 1.5.2:</p><ul>
	<li>New: Full support for jQuery UI's Theme Roller (using the bJQueryUI initialisation parameter)</li>
	<li>New: Custom classes names for all elements can now be defined</li>
	<li>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.</li>
</ul>
<ul>
	<li>Fixed: When using sAjaxSource with state saving, the paginging number was not retained</li>
	<li>Fixed: Internal naming for 'first' span for full_numbers paging was incorrect</li>
	<li>Fixed: _fnGetTrNodes, _fnGetDataMaster and fnGetPosition did not consider nulls in aoData (as a result of fnDelete)</li>
	<li>Fixed: Column detection did not take account of TD elements mixed in with the THs</li>
</ul>    <p><a href="/releases/dataTables-1.5.2.zip">Download DataTables 1.5.2</a></p>  ]]></description>
	<pubDate>Sat, 05 Sep 2009 23:00:00 GMT</pubDate>
	<guid isPermaLink="true">http://www.datatables.net/#29</guid>
	<link>http://www.datatables.net/</link>
</item>


	</channel>
</rss>
