* 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!
* 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).
* Add question section to readme about where to ask questions, including the new IRC channel.
* Update jQuery UI accordion code to reapply widgets to tables within the section, when open.
* Build widget
* Now works with HTML in the data
* Add zebra widget to demos.
* Core
* Check more than the first tbody when detecting parsers. Fixes [issue #589](https://github.com/Mottie/tablesorter/issues/589).
* Apply widgets on table initialization after a short delay.
* Filter widget:
* Fix search already filtered rows
* Fix `filteredRows` count & cleanup.
* SetFilters now behaves more like a triggered search. Fixes [issue #588](https://github.com/Mottie/tablesorter/issues/588).
* Filterformatter - Fix both datepicker scripts to work properly with non-U.S. formats. Fixes [issue #587](https://github.com/Mottie/tablesorter/issues/587).
* Pager: Now stays on the same page after updating. Fixes [issue #590](https://github.com/Mottie/tablesorter/issues/590).
* Testing: Add some preliminary tests for the filter widget.
* More version numbers added - when certain variable & functions were added or last updated.
* Update to use Bootstrap 3.1.1.
* Update to the latest testing files.
* Reorganize example section & cleanup.
* Fix demos that include togglable parsed data.
* Fix miscellaneous typos.
* Core
* Make `computeColumnIndex` function public ([get details](http://mottie.github.io/tablesorter/docs/index.html#function-computecolumnindex)).
* Move cache rows into the normalized data
* This is a *big change*, as the cache rows no longer exist and did break several widgets.
* This change allows for the Filter widget to better work with cached data (pager with `removeRows` set to `true`) & makes the sort tbodies widget possible.
* Updated core tests.
* Update `textExtraction` option
* Default option is now `"basic"` and checks for a data-attribute (set by by the new `textAttribute` option).
* Set this option to any string (besides an empty string) to revert back to the original method; this may be necessary in older versions of IE due to initialization speed issues.
* New [math widget demo](http://mottie.github.io/tablesorter/docs/example-widget-math.html) Replaces the previous alpha "Column sum widget" demo.
* This widget adds basic math capabilities; by default the following functions are available: count, sum, max, min, mean, median, mode, range, variance (sample & population), standard deviation (sample & population).
* Custom math functions can be added
* Data from cells is gathered from the row, cells "above" the target cell, column, or the entire table.
* This widget will output the table data as any of the following data formats:
* Any separator: comma (csv), tabs (tsv), spaces, etc
* Javascript array
* JSON
* Output the entire table, filtered or visible rows.
* Works with the filter & pager widgets.
* See [this demo](http://mottie.github.io/tablesorter/docs/example-widget-output.html) for more details.
* Pager
* The `ajaxObject` success function will no longer be called twice on initialization. Fixes [issue #540](https://github.com/Mottie/tablesorter/issues/540).
* Update to work with the filter widget & the modified row cache. Fixes [issue #515](https://github.com/Mottie/tablesorter/issues/515).
* Destroy method now clears the table cache & pager rows copy.
* Add `pageReset` option - pager resets to set page after filtering the table. Fixes [issue #565](https://github.com/Mottie/tablesorter/issues/565).
* Reflow & Reflow2 widget
* These widgets change the layout of the table when a set browser width breakpoint is reached.
* Each tbody cell will display the header cell text when the table reflows.
* See [this demo](http://mottie.github.io/tablesorter/docs/example-widget-reflow.html).
* Update to work properly with the filter widget. Fixes issues [#584](https://github.com/Mottie/tablesorter/issues/584) & [#370](https://github.com/Mottie/tablesorter/issues/370).
* Update method to bind table headers.
* Added remove function so this widget now works properly with the "updateAll" method.
* Static Row widget
* Modified from the [Tablesorter-Static-Row-Plugin](https://github.com/ascii-soup/Tablesorter-Static-Row-Plugin) by [ascii-soup](https://github.com/ascii-soup).
* This widget works with multiple tbodies (but not information only tbodies).
* Dynamically set & update the static row.
* For more details see [the demo](http://mottie.github.io/tablesorter/docs/example-widget-static-row.html).
* Fixes issues [#120](https://github.com/Mottie/tablesorter/issues/120) & [#472](https://github.com/Mottie/tablesorter/issues/472).
* StickyHeaders widget - the cloned table (sticky part) tbody & tfoot are now removed instead of hidden.
* Added pager `ajaxProcessing` documentation about extra values available for the output. Fixes [issue #576](https://github.com/Mottie/tablesorter/issues/576).
* When including a `false` parameter with the destroy method, class names will be left intact as before. But this now includes the reapplying of the uitheme and zebra widgets.
```js
$("table").trigger("destroy", [false]);
```
* This change will maintain the table's appearance.
* See this [Stackoverflow question](http://stackoverflow.com/q/22969340/145346) for why this change was made.
* Grouping widget: group name now saves after callback. Fixes [issue #514](https://github.com/Mottie/tablesorter/issues/514).
* Pager `processAjaxOnInit` now works with jQuery objects. Fixes [issue #572](https://github.com/Mottie/tablesorter/issues/572).
* Filter widget: `getFilters` will not cause a js error when it targets a non-tablesorter table.