* Because of the change to the internal cache, the tablesorter v2.16+ core, filter widget and pager (both plugin & widget) will only work with the same version or newer files.
* All of the [original document pages](http://tablesorter.com/docs/) have been included.
* Information from my blog post on [undocumented options](http://wowmotty.blogspot.com/2011/06/jquery-tablesorter-missing-docs.html) and lots of new demos have also been included.
* Change log moved from included text file into the [wiki documentation](https://github.com/Mottie/tablesorter/wiki/Change).
* Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats) & time. [Add your own easily](http://mottie.github.io/tablesorter/docs/example-parsers.html).
* Big shout-out to [Nick Craver](https://github.com/NickCraver) for getting rid of the `eval()` function that was previously needed for multi-column sorting.
* Search the [issues](https://github.com/Mottie/tablesorter/issues) to see if the question or problem has been brought up before, and hopefully resolved.
* If someone is available, ask your question in the `#tablesorter` IRC channel at freenode.net.
* Ask your question at [Stackoverflow](http://stackoverflow.com/questions/tagged/tablesorter) using a tablesorter tag.
* Please don't open a [new issue](https://github.com/Mottie/tablesorter/issues) unless it really is an issue with the plugin, or a feature request. Thanks!
* Add some missing examples & updated some version number comments for the last update
* Reflow widget: Fix demo to use preset widths & css transitions instead of forcing users to manually resize the examples.
* Output widget: add note about modifying the `.htaccess` file to enable downloading in both IE & Firefox.
* Core
* Allow use of select & buttons within header cells. Previously only inputs were allowed. Fixes [issue #625](https://github.com/Mottie/tablesorter/issues/625).
* Add `parser-false` setting to prevent extracting & parsing of content from set columns. Fixes [issue #629](https://github.com/Mottie/tablesorter/issues/629).
* Filter widget
* Add a not-exact-match (`!=`) filter type (e.g. `!"Bruce"` or `!Bruce=` will show all rows that don't exactly match `Bruce`). See [issue #628](https://github.com/Mottie/tablesorter/issues/628).
* Math widget
* Values are now obtained from data-attributes first, then the actual cell content. This will allow making calculations with higher precision values. Fixes [issue #624](https://github.com/Mottie/tablesorter/issues/624).
* Pager (addon & widget)
* The `ajaxProcessing` function now includes the jqxhr parameter. Thanks [JuarezTurrini](https://github.com/JuarezTurrini)! See [pull #626](https://github.com/Mottie/tablesorter/pull/626)
* Update the custom controls example to properly work with the pager widget. Fixes [issue #631](https://github.com/Mottie/tablesorter/issues/631).
* Fix widgets sometimes not being applied after page change.
* Parser
* input-select parser no longer binds to non-tablesorter tables. Fixes [issue #633](https://github.com/Mottie/tablesorter/issues/633).
* You can now target a column using a jQuery selector targeting the header cell (e.g. a class name, id or column index, as before).
* This works with the core options: `headers`, `textExtraction`.
* This also works with the widgets: `filter_formatter`, `filter_functions`, `filter_selectSource` and the `headers` options for `filter`&`resizable`.
* This change has *not yet been implemented* to the following options: `textSorter`, `sortList`, `sortForce`, `sortAppend` and `numberSorter` (will modify this option to target columns soon).
* What **won't work** is if you try to target the header using a filtering selector that uses an index, e.g. `"th:eq()"`, `":gt()"`, `":lt()"`, `":first"`, `":last"`, `":even"` or `":odd"`, `":first-child"`, `":last-child"`, `":nth-child()"`, `":nth-last-child()"`, etc.
* Docs
* Switch from using CDN versions of jQuery, jQuery UI, Bootstrap, Sugar and Select2 instead of using [protocol-relative URLs](http://www.paulirish.com/2010/the-protocol-relative-url/) because they are a pain to use locally.
* Change style of "Update" tags to be slightly lighter than "New" tags.
* Updated [reflow widget demo](http://mottie.github.io/tablesorter/docs/example-widget-reflow.html) with demo tables in a resizable iframe, so the browser window no longer needs to be resized.
* Miscellaneous updates including correcting some version numbers, fixing links & other issues with the demos.
* Themes
* Fix green theme to properly include a background with the css3 sticky headers widget.
* Core
* Instead of using empty or clearing rows from the table, the rows are now detached. This also applies to the pager.
* Added `resetToLoadState` method
* Using this method will clear out any settings that have changed since the table was initialized (refreshes the entire table); so any sorting or modified widget options will be cleared.
* However, it will not clear any values that were saved to storage. This method is basically like reloading the page.
* Refer to columns in the `headers` and/or `textExtraction` option by class name, ID, or column index (as before).
```js
headers : {
'.first-name' : { sorter: 'text' },
'.disabled' : { sorter: false }
},
textExtraction : {
'.styled' : function(node, table, cellIndex) {
return $(node).find('strong').text();
}
}
```
* Added new "sorton" method values: "a" (ascending), "d" (descending), "n" (next), "s" (same) & "o" (opposite).
Please refer to the [Sort table using a link outside the table](http://mottie.github.io/tablesorter/docs/example-trigger-sort.html) demo for more details.
* ColumnSelector widget
* Added a method to refresh the selected columns using `$('table').trigger('refreshColumnSelector');`.
* Fix a js error when removing the widget.
* Filter widget
* Fix child row filtering.
* Fix `filter-match` searches.
* Set filter parser or disable a filter in the `headers` option by referring to the header class name, ID, or column index (as before)
```js
headers : {
'.first-name' : { filter : false },
'.last-name' : { filter : 'parsed' }
}
```
* Refer to `filter_functions`, `filter_formatter` and `filter_selectSource` columns by class name, ID, or column index (as before)
* Now works properly with the pager. Fixes [issue #621](https://github.com/Mottie/tablesorter/issues/621).
* Output widget
* Add `output_ignoreColumns` option. Set the zero-based index of the columns to ignore in this array. Fixes [issue #607](https://github.com/Mottie/tablesorter/issues/607)
* Add `config` parameter to `output_callback` function. NOTE: this parameter is added before the data parameter, so it may break any already existing custom callback functions.
* Add `output_duplicateSpans` option. Setting this option to `false` adds blank entries instead of duplicating the colspan or rowspan content. Fixes [issue #619](https://github.com/Mottie/tablesorter/issues/619).
* Pager (addon & widget)
* Use detach instead of empty on tbody rows. This should save any data associated with the rows.
* Fix pager updating not showing correct totals.
* Print widget
* Add `print_callback` option allowing manipulation of the table & stylesheet before printing.
* Corrected the `print_columns` settings comments.
* Resizable widget
* Disable a resizable header within the `headers` option by referring to the column class name, ID, or column index (as before)
```js
headers : {
'.first-name' : { resizable: false }
}
```
* Added note about using box-sizing & jQuery versions older than 1.8.
* Scroller widget
* Filter widget works with this widget again. Fixes [issue #620](https://github.com/Mottie/tablesorter/issues/620).
* Update [sticky headers widget demo](http://mottie.github.io/tablesorter/docs/example-widget-sticky-header.html) to include the `stickyHeaders_filteredToTop` option
* ColumnSelector widget: updated css to include print media for the new print widget.
* Update [`textSorter` option demo](http://mottie.github.io/tablesorter/docs/example-option-custom-sort.html) - the sorting the Icelandic alphabet using sugar's array sort now works properly.
* Core:
* Fix `headers` option indexing of cells in multiple header rows
* Setting an index in the multiple row header will now correctly set the column parser.
* See [this demo](http://jsfiddle.net/Mottie/abkNM/2645/) - the 10th cell (zero-based index) in the header has the sorter set to "month".
* Set processing icon to only show after 500ms, it will not show at all if the sort ends before then.
* Check for jQuery's `closest` function and use it, or fall back to equivalent code (maintaining support for jQuery 1.2.6+). Fixes [issue #597](https://github.com/Mottie/tablesorter/issues/597).
* Remove widget init delay added in v2.16.1-beta.
* Filter:
* Remove old cached indexing:
* It was causing already filtered rows to return an incorrect cached row value.
* Fixes [issue #600](https://github.com/Mottie/tablesorter/issues/600) & see this [Stackoverflow question](http://stackoverflow.com/q/23384787/145346).
* Update check for "filter-parsed" class, because the `getData` function will only return the first class name starting with "filter-".
* Filter select updates:
* Add `filter-select-nosort` header class name to prevent select option sorting.
* Filter select option sort now uses the assigned column parser to parse & sort the options.
* Filter select options are now sorted using the `textSorter` function, if set, and if not set, it falls back to natural sorting.
* Input select parser: don't update columns with both sorter & filter disabled. See [issue #570](https://github.com/Mottie/tablesorter/issues/570).