{"push_id":840630952,"size":2,"distinct_size":2,"ref":"refs/heads/cornerstones","head":"6de8b2510542e1dca8c9b3018966ddb847bcc22a","before":"71858a40abd5a3a1cdaaff7b59affb41e85afa82","commits":[{"sha":"9c05cf55ba83098bf0d5d253a39f781515b41c8e","author":{"email":"a162caffcb6897220f4d1cf28164d73cb91993a8@dmsqd.com","name":"Edward Townend"},"message":"Merge 1.10.9\n\ncommit b1bca78111d679b20cdee118292a1e4220f46b2a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Sep 1 09:51:29 2015 +0100\n\n    DataTables 1.10.9 release\n\ncommit 648726b19e3e846f5b4779ea25f883cf180ed779\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Sep 1 08:38:38 2015 +0100\n\n    Fix: When using a cell selector, if the element doesn't have a parent node (caused by it being hidden and a jQuery selector being used) an error would be thrown.\n\n    - The fix is to loop over the data array to find the cell. Slower, but\n      for an edge case I think this is an approriate fix.\n    - This fixes DataTables/DataTables #653\n\ncommit 119a3559708a52f56ac74476e186f5814b33cba1\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Sep 1 08:38:09 2015 +0100\n\n    Fix: It was possible to select an item multiple times using redundant selectors.\n\n    - Example: table.rows( ['', '', '', ''] ) would have selected all rows 4\n      times!\n\ncommit 8a4dc8a9d7b46ec16d15598333820ed37b5ddb22\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 31 14:26:04 2015 +0100\n\n    Fix: Using `Array.prototype.push.apply` can fail on larger tables / queries due to limits on the number of arguments that can be passed to a function, imposed by the various Javascript engines.\n\n    - The fix is to replace with more approriate options. The jquery\n     `$.merge` function in particular is useful and array concat when we\n     don't need to maintain a refernce.\n    - This fixes DataTables/DataTables #651\n\ncommit e48efdf31650136ba18343ee69b5f49cdef0efb7\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 31 14:25:09 2015 +0100\n\n    Fix: Setting non-array data when DataTables has been told to expect an array results in a Javascript error. Although this is somewhat unexpected input, it is reasonable to expect DataTables to handle null values here, even although an empty array is much prefered.\n\n    - THis fixes DataTables/DataTablesSrc #55\n\ncommit 4f27154fe459a415eb1d0df4e904fe91b9dc372e\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Aug 28 12:20:41 2015 +0100\n\n    Fix: Clear cache of row ids when the table is cleared. This is particularly important when server-side processing since the rows should no longer exist on the client-side when paging between records.\n\ncommit 726bfe5ebbc3172598abcd4c9a635003c1e677a1\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Aug 28 12:20:11 2015 +0100\n\n    Fix: Rows could still be selected by id after they had been removed from the table. This could result in a memory leak as well as rows being selectable when they shouldn't be.\n\ncommit 3a43de42247ef826bf867f69cad50d0aa9bdfa2e\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 27 10:54:28 2015 +0100\n\n    Fix: Column data setter function would be called twice for the first row in the table\n\n    - This was caused by using `_fnGetRowElements` to get the cells. While\n      it was good for performance with large number or rows to do so, it\n      isn't needed for a single row and a single line of jQuery is simpliler\n      and doesn't trigger the set function\n    - Fixes DataTables/DataTables #638\n\ncommit 4e611f31ff84deae5ae4666c7ba60ad8cb1012c3\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 26 14:35:18 2015 +0100\n\n    Fix - styling: Bootstrap and Foundation would apply padding to a header cell, making space for a sort icon, even when the column is not sortable.\n\n    - This fixes DataTables/DataTables #639\n\ncommit 03dc5a31accee0f3ae1eb558c2b5af73107f0a8c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Aug 25 15:10:06 2015 +0100\n\n    Fix: When using a DOM data source, the cell's `data` function, as a setter, would be called twice\n\n    - The issue was effectively duplicate code - for 1.9- compatiblity when\n      I introduced 1.10 I had the set function run specifically if a DOM\n      node was given. But later in the 1.10 series when it became possible\n      to have the data written to an object rather than an array, that code\n      would itself call the setter, thus leading to two calls when there is\n      a DOM node present for the row.\n    - The first is simply to remove the code that was running the setter for\n      the DOM specific case.\n    - This fixes DataTables/DataTables #638 and thread 25846. Thanks to\n      @Jamaur and @strang91 for following up on this.\n\ncommit 17d0ce4cce18e510eb666a363631fe3c15b8fccc\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Aug 25 14:18:58 2015 +0100\n\n    Fix: Columns could be set to 0 width in IE6/7 when there are hidden columns in the table\n\n    - This fix also comes out of DataTables/DataTables #633. Thanks again to\n      @nddery and @epitaphmike.\n\ncommit 7d3c5cc276abccf654baadaa71bf55e17aa14b9e\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Aug 25 14:18:30 2015 +0100\n\n    Fix: Browsers on Macs with zero width scrollbars would be incorrected treated the same way as IE6/7 causing column width calculations to be incorrect.\n\n    - The issue was caused by the check for the `bScrollOversize` option\n      which looks for the container being the same width as its inner\n      content area. Obviously that happens to be true if there is no\n      scrollbar. Adding a check for the clientWidth not being 100 as well\n      resolves this.\n    - I've also combined the scrollbar width detection with the other\n      browser detect functions. The two functions were performing very\n      similar operations and so easily combined\n    - The browser detect DOM creation will only run once, rather than for\n      every table initialisation, optimising multi-table loading\n    - Fixes DataTables/DataTables #633 - Thanks to @nddery and @epitaphmike\n      for the input\n\ncommit 6352732eacc5bac1825682016ca3ed1d81d87623\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue Aug 25 14:17:32 2015 +0100\n\n    Fix - example: Column filtering would reset the paging on change event, which could give the impression that pading didn't happen since it is immediately over written.\n\n    Thread 29670\n\ncommit e7e439dd0a8a3cda23e88bd33935ac09764e683c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 14:40:22 2015 +0100\n\n    Fix: Cell invalidation would fail due to incorrect logic\n\n    - If d or objectRead were truthful then the row's data object would be\n      replaced with an empty object. This was one shortcut in code too many!\n\n    - Relates to thread 29530 with thanks to idleog.\n\ncommit 9ef7f1ad20f4b450ec3bb12a6919a13ac85fa0e4\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 12:25:28 2015 +0100\n\n    Fix: Compatibility with jQuery 2's `isPlainObject`. API instances were returning as plain objects\n\n    - This appears to be caused by setting the prototype chain as an object\n      directly. For example:\n\n      var test = function () {};\n      test.prototype = {};\n      $.isPlainObject( new test() );\n\n      will return `true` with jQuery 2.1.4 (and `false` for 1.11.3).\n\n      If an item is added to the prototype object then it will return\n      `false`, although for some reason that wasn't the case with\n      DataTables' API prototype.\n\n      More investigation required, but for full compatiblity with exisiting\n      jQuery releases, the correct thing to do here is to build on the\n      exisiting prototype, which we can do with `$.extend`.\n\ncommit a7a9ac19105ed97b0d12f66c2d45c8993760fbbc\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 12:24:58 2015 +0100\n\n    Dev: Fix case issue with file names for the example builder\n\n    - This is the problem with developing on a case insensitive file system\n      which the Mac default is!\n\ncommit 50cac9640a9504f5ae26add26e4738fe8870625a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:56:33 2015 +0100\n\n    Dev: Nowrap in syntax highlighter\n\ncommit 0482633dfff29be151643fc0cc1f286dab8a31a7\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:55:39 2015 +0100\n\n    Fix - CSS: Bootstrap and Foundation were missing the empty row class to align text to the center\n\ncommit 3950e119e241ba698874011cbe82ce4954a76440\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:54:48 2015 +0100\n\n    Fix - docs: Add note to `dt-api draw()` that the string options require 1.10.8 or newer\n\ncommit a6e75123eb5c9dd66f1d39cb1e0835c0ca390239\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:54:19 2015 +0100\n\n    Update rows().ids().xml\n\n    Spell mistake\n\ncommit 7898f4e585b8a44b79b1658ba5bc0f439e40d141\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:53:47 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTablesSrc\n\ncommit 52531db870f82ea960df94c7d95c35a0a2527434\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 19 09:52:44 2015 +0100\n\n    Update selector-modifier.xml\n\n    Just a small spell mistake\n\ncommit 085d7f31372c57af23b3790565405ff035061455\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 17 09:34:39 2015 +0100\n\n    Fix: Row invalidation would throw an error when reading from a DOM row\n\n    - Fixes DataTables/DataTables #623\n\ncommit 44b1402fa6292cc829ab41ae05040cdd7cf2fb37\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 17 09:34:10 2015 +0100\n\n    DataTables 1.10.9 development starts\n\ncommit 1c22b79471f80c684a2f979031a6d786da1073ae\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 17 09:32:50 2015 +0100\n\n    Dev: Update make file to minified the integration files\n\ncommit 953d1fc6ca0f7ebc294fe7bdfda0392dd9e903dc\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 20:17:46 2015 +0100\n\n    Add minified integration files\n\ncommit 3977c5de720f9a4f90a3e3fb157f727f56bc8bd3\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:50:30 2015 +0100\n\n    Sync with latest DataTablesSrc\n\ncommit f91373337b56dc4e1f3be6f08f348ce9122e5598\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:49:47 2015 +0100\n\n    DataTables 1.10.8 release\n\ncommit 60273a0a75218ffb2ac67e2b787664d264bdd766\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:49:29 2015 +0100\n\n    Dev: Update the new `rowId` option to be able to read the id from the DOM\n\ncommit 13c3a5400e9cfbf64666c598821fa03b9381fc80\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:48:50 2015 +0100\n\n    Dev: Don't just jQuery code if jQuery hasn't been loaded (example index pages)\n\ncommit 7811a69f304aa62a5a7238a830c86e02e28a5af1\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:48:33 2015 +0100\n\n    Update - examples: Improve descriptions of examples and refer to the new extensions where appropriate\n\ncommit 588e78f92be3275c07b71e98c198ac65c39eafd2\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Aug 12 19:48:15 2015 +0100\n\n    Update - example: Use Bootstrap rather than jQuery UI for the scrolling and tabs example.\n\n    Bootstrap tabs seem to be more popular these days\n\ncommit 9cc3be030f949034a66a19ed9ade390024d44ae2\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 17:47:34 2015 +0100\n\n    Fix: Calculation for horizontal scroll bar adjustment when the `dt-init scrollCollapse` parameter is set could be incorrect when the standard height exceeds the window height.\n\n    - This is an interesting one, and I suspect a bit of an edge case in the\n      browsers - what is happening is that the window is going from having a\n      scrollbar to not having a scrollbar when the scrolling viewport is\n      collapsed. This causes the browser to show the scrollbars in the\n      viewport for an instant, even although they aren't actually required.\n      If the height of the viewport is 53px and you up it to 80 so there are\n      no scrollbars and reduce it back to 53 the scrollbars are gone! The\n      browser must be stopping a race condition once the scrollbars are\n      shown.\n\n    - The fix is to use `max-height` for the scrolling container if the\n      scroll collapse is set and `height` otherwise. The browser native\n      methods makes the code _much_ easier to work with, more performant and\n      easier to understand.\n\ncommit 07c04c69f8000441498107763c28a6ded3bd286a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 17:47:12 2015 +0100\n\n    Dev fix: Commit f2df0716 removed a check for IE6/7 to disable the smart\n    column width for these tables. However, that was in error - it is in\n    fact required still as the smart width calculations cause the browser to\n    crash (APPCRASH). There is no indication as to why this is, not is it as\n    simple as just disabling one or two pieces of code to stop the crash.\n    This leads me to suspect that it is the number of operations being\n    performed - particularly to do with the cloning of the elements. If this\n    is the case, then its just never going to work. Also IE6/7 are such a\n    small market now (thank goodness) this is just a feature that won't be\n    available in those browsers.\n\n    If anyone is interested in working on fixing it, or paying me to do so,\n    I'm happy to hear from you :-)\n\ncommit e111fae862f402b68b24b38d54aece983322de61\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 14:59:41 2015 +0100\n\n    Dev: Update example templates to refer to extensions rather than extras\n\ncommit d0e9e78db4f5c9f4aef2b770d2f4c0089addd461\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 14:59:04 2015 +0100\n\n    Fix: Horizontal scrolling could incorrectly be triggered in Firefox when there is lots of room available and scrolling is not required. This was due to sub-pixel rendering of the columns, but the widths being rounded up to integer values. Using `getBoundingClientRect` addresses this. IE8- have to continue using the old method.\n\n    Fix: The auto width calculation table, when scrolling is enabled, being inserted into the scrolling container could cause the viewport to scroll, even when the main table doesn't actually need scrolling. This causes the column width calculations to be incorrect by the scrollbar's width. The fix is to have the calculation table `position:absolute` in the scrolling container and height:1px so it has no effect on the vewport's scrolling.\n\n    - These two fixes address DataTables/DataTables #612. Kudos to @Delgan\n      for reporting these issues and supplying test cases - thanks!\n\ncommit bb33384e62b2357dcccc05943f9c06d0f6971c50\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 14:58:05 2015 +0100\n\n    Update - styling: Altering the paging buttons to have a styling that is consistent with the Buttons extension. This is just a darkening of the active border and a small border radius.\n\ncommit 781f7fcaef40e99b2b994e9983a969410484e1ce\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Aug 10 14:57:47 2015 +0100\n\n    Update - examples: All examples now use `$().DataTable()` to construct the table.\n\n    - The API examples already used the new form, but many were still\n      `$().dataTable()`, which still works, but the new API form method is\n      prefered.\n\ncommit ecf94192aeb316d8ebb31cb53bee73b171f0efaa\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:42:36 2015 +0100\n\n    Dev: Update Foundation CDN\n    Dev: Built fixes for Editor\n\ncommit 201cc7fb69c9866e7225156c01f31c9af9eb7af2\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:42:01 2015 +0100\n\n    Fix: If `dt-init deferRender` was enabled, the `dt-event init` event wouldn't trigger until after the table's second draw.\n\n    - This could be seen specifically when using Responsive with a defer\n      rendered table - Responsive wouldn't kick in until after the second\n      draw.\n\ncommit 21705f049a40b6476848bb24b9ffcf99c464ee3b\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:41:26 2015 +0100\n\n    Dev: Example build update to allow the new components frameworks to build from the CDN\n\ncommit 065e3d2b1d0cb5b03493b4e351b66b97f9a0c9df\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:41:08 2015 +0100\n\n    Update - examples: Remove jQuery UI themed scrolling example\n\n    - Bootstrap is proving to be a far more popular theme for DataTables -\n      this example comes from back in the day when jQuery UI theming was\n      first added, so it is no longer required.\n\ncommit eff925f16824536dc19027ff11324b086aaf0b55\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:40:12 2015 +0100\n\n    Fix - examples: Pipelining description had a typo\n\ncommit a67cb611de8723be952436e457f294cd0b13ffc2\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Aug 6 20:39:33 2015 +0100\n\n    Fix - docs: `dt-api columns()` incorrect argument type for column selector\n    Fix - docs: `dt-api column().index()` incorrect return type was documented\n\ncommit c6cea5662196c90968e1d6fdac23ada2aeb45ec8\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 15:39:18 2015 +0100\n\n    New - example: Scrolling example with dynamic height using the `vh` CSS unit\n\ncommit a2948e4c1e8f77ad321c6530874e6a145411ea46\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 15:38:59 2015 +0100\n\n    Fix: Simplification and improvement of table widths when scrolling\n    Fix: Table could overscroll if `dt-init data` is used to populate the table\n\n    This is a fairly significant change to how DataTables operates for the\n    scrolling width calculations and primarily is due to a simplification\n    with the use of `clientWidth` to get the scrolling container width.\n    Rather than getting the offsetWidth and then removing the scrollbar\n    width if required the `clientWidth` will give us the value directly.\n\n    With the scrollbar width already accounted for the scrolling draw code\n    can be updated to not need to account for it itself.\n\n    Finally, when using the `data` property to add data to the table we need\n    to recalculate the column widths after the first draw, just like with\n    Ajax loaded data, otherwise the data added won't be taken into account\n    and we can get an error in the scrolling.\n\ncommit fa9fa2e2968b19b87b38a1d1d2e80865e5a9e6d3\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:45:26 2015 +0100\n\n    Dev: Syntax highlighter - link urls with a comma in them\n    Dev: Syntax highlighter - show the type label above the code so it doesn't over lap the code\n    Dev: Syntax highlighter - don't show the `:after` option in highlighted code\n\ncommit 11dbd3ca52b9bbaa5db06f3f036c042066d5d54a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:45:08 2015 +0100\n\n    Fix: Mixed tabs and spaces\n\ncommit 534e281b39d4b3fc86a449ec39d89883ce035a20\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:44:34 2015 +0100\n\n    New: `dt-api draw()` now accepts a string parameter which can be used to perform a simple redraw without the need to reorder / research the table. This is useful for paging where, otherwise, it would be a performance hit.\n\ncommit d1352ac89813c5a0949d64911a4ecee27293d2d7\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:43:09 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTablesSrc\n\ncommit fcd96cc5e3c78e2eea9f7562a63eb8a3c58ab956\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:42:49 2015 +0100\n\n    Fix - docs: `dt-api rows().every()` example was missing a parameter\n\n    - This fixes DataTables/DataTables #608\n\ncommit b61ac2a9db50e3e27bf736075353d445e7c2c20c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:42:12 2015 +0100\n\n    Resolve issue with focusing when there are multiple graphs updating on the same page\n\ncommit 7b57d5f10b17efbe15fba215653dccca075c1428\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Fri Jul 24 11:41:02 2015 +0100\n\n    Fix - docs: Add examples for `dt-init columns.defaultContent` showing how it can be used with null or undefined content\n\n    Thanks to `jonahjonah` for pointing this out\n\ncommit 8ed28b6f00e6d3867a873ec6feda480334448de6\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:29:13 2015 +0100\n\n    Dev: Remove SQL error message on error\n\n    This fixes DataTables/DataTables #604\n\ncommit 3d3f72aec678e2f5663794861258277f54bd93cf\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:11:15 2015 +0100\n\n    Fix - PHP: Validate the JSONP callback as a valid Javascript function\n\ncommit 994121d0244d1f9faadd31c3ce5061a4100fda5c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:10:59 2015 +0100\n\n    Dev: Updating Markdown extension for linking to documentation and also the styles to make more visible\n\n    - Have used :after for the information about what type of link it is -\n      this stops it from being included in a copy / paste which was annoying\n    - The postfix is a bit more informative than a letter about what\n      software it relates to\n    - With the move to the 1.10 API for all of the extensions, showing the\n      extension letter was redundent anyway\n    - Adding -button link type\n    - Improved the colours\n\ncommit 4222dec97dc9a1f968efe6edcda4a06a7135ffbf\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:10:41 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTablesSrc\n\ncommit 4b378ff78738fc8dd31ac5d9ab9ade37a15f834b\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:10:24 2015 +0100\n\n    Dev: Updating the XML for the external styling examples to use the new example build framework\n\ncommit 821e866ac07b18ec4f175bb04ee1b5ce212722d9\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jul 15 17:09:48 2015 +0100\n\n    fix for incorrect calculation in _fnBrowserDetect\n\n    when body's position is changed (left: 375px) _fnBrowserDetect incorrecly calculates offsets. thus header is a bit misaligned. commit changes test object's position to fixed. in this case it's position will\n    be relative to the viewport not to the body.\n\ncommit 99fa7cccff281201fb2e77ee44c877621fa14a46\nMerge: 1447c26 cd9a9ab\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Jul 9 10:23:23 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTables\n\ncommit 1447c26a78c5af9809e225d01298c4f7c2b49bf7\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Jul 9 10:21:10 2015 +0100\n\n    Fix: Potential memory leak when using static events on table elements and destroying tables\n\n    When the table was being destroyed and the remove parameter was passed\n    in as `true` to remove the table from the DOM there was potential for\n    bound events to not be unbound from the table elements. This was caused\n    by the use of the `detach` jQuery method which will not remove events.\n    Furthermore, rows would not be added to the table before this method (or\n    `remove()`) was called. As such we need to reorder the code slightly -\n    attach the rows back into the DOM and then remove them (or detach if the\n    table is left in the DOM) - otherwise rows which were hidden by paging\n    would not have their events unbound.\n\n    Many thanks for KnowledgeNet ( http://kn-it.com/ ) for their support in\n    finding and allowing this bug to be addressed!\n\ncommit 549bd198547b5c1a5f24a594f775083606377490\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:05:27 2015 +0100\n\n    New: Optimised ID selectors - Also works when rows have not yet been rendered.\n\n    Being able to get and keep a reference to each row is quite important.\n    You can't use the DataTables row index for this as it can potentially\n    change, but we can use IDs, based on a unique value for each row in the\n    data - `dt-init rowId`.\n\n    I've made the decision to not require escaping of data in the ID. This\n    means that selectors can be ID selectors with a cobontation of other\n    things (#div.class for example) as that really doesn't make much sense\n    in this contact - you only have rows that you can select from. Not\n    requiring escaping makes both the client and library code much easier.\n    This is documented.\n\n    The implemention is to store a reference to each row's data object based\n    on its id allowing for a trivial lookup. The object has its own index\n    in the `aoData` array, so there is no `indexOf` required. The only\n    downside is that the index must be updated when a row is deleted. This\n    is done with a trivial for loop.\n\ncommit abc683d3932cd38b1747f4b75efea351394df65a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:05:08 2015 +0100\n\n    Dev: `dt-api rows().ids()` and `dt-api row().id()` methods should return undefined if a row's id is undefined\n\ncommit 5ab2e30e66f72f3fef20f56c12264a97a25d6b7d\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:04:51 2015 +0100\n\n    Dev: Latest extension built commands. This is not yet complete!\n\ncommit ca703a9d6b4a565f1ff22777aff17a00aeaa25c3\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:04:14 2015 +0100\n\n    Dev: Update Bootstrap example to use the styling framework build code\n\ncommit 7e2c6b4d0fd3faaacbdd80868a80f14f0b0a4bdd\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:03:56 2015 +0100\n\n    New: `dt-api page.info()` includes a new parameter to indicate if server-side processing is being used or not for the table\n\ncommit dda351a54edd206e842ef0fb2baa3b21e4865fbd\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:03:39 2015 +0100\n\n    Fix: Row details could potentially throw an error if used on an row that doesn't exist (might have been removed)\n\ncommit 1379e9725bac548d42afa79c6d8c530fbc70b789\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:02:06 2015 +0100\n\n    Fix - example: Comment about `dt-init columns.orderData` incorrectly stated that the sort direction could be specified.\n\ncommit 29fd57569a414d51ac01cb7090911724acf2b05d\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jul 6 21:01:47 2015 +0100\n\n    New - `dt-api $.fn.dataTable.tables()` can now return an API instance which makes for easy chaining to call methods on the selected tables.  This is done by now being able to provide an object (providing two booleans is confusing unless you have the manual right next to you!)\n\ncommit cd9a9ab458b3a2733c9769bef648b694a331ebc5\nMerge: 36929ea 638f738\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jun 22 16:50:37 2015 +0100\n\n    Merge pull request #583 from masteradhoc/patch-1\n\n    Fix: Update license.txt to reflect the current year\n\ncommit 638f7386b55ffec11d33f45248f60009f2d8927c\nAuthor: Brian <brian@brianhaas.li>\nDate:   Mon Jun 22 17:24:11 2015 +0200\n\n    Update license.txt\n\ncommit 36929eade30924adfb0acdc9cfa85161d24de6ed\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:48:45 2015 +0100\n\n    Fix: Initialisation on an element other than `table` would result in a Javascript error\n\n    * Issue was that an `error` event was being triggered before the\n      settings object had been configured. There is no option to trigger an\n      error event in this case.\n    * Fixes DataTables/DataTables #572\n\ncommit 5a47fe5a9b2ab17ddd56496e5fb6965c558b6e1b\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:48:26 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTablesSrc\n\ncommit dd6612f24a572d9fd3a9b77850e77be3ea4238ce\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:48:06 2015 +0100\n\n    New: `dt-event preInit` event - emitted while a table is being initialised, allowing developers to modify the data being requested by DataTables for the first draw of the table. Used by Scroller 1.3.0 and likely will be by other extensions soon.\n\ncommit 4cd213260748373c84254e3cc24952ada1e2e527\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:47:44 2015 +0100\n\n    Dev: Remove comments from SCSS file that are redundant\n\ncommit a5613441dc04c57557d00c2439224190a8b90008\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:47:23 2015 +0100\n\n    Dev: Add Scroller as a framework library\n\ncommit 1effb64cfa9d14c96830e48781679871e3f8e09d\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 10 09:45:55 2015 +0100\n\n    Fixed event handlers in table headers in IE8\n\n    On line 605, column.sTitle is set to the TH's innerHTML.\n    On line 1816, column.sTitle is compared with cell.html().\n\n    If you have child elements with event handlers on them inside the TH, these are not the same in IE8 (see https://gist.github.com/simonbrent/933e552739477f4be3ab#file-test-html)\n\n    As a result, the check on 1816 fails, the contents of the cell is replaced, and the event handlers are removed.\n\n    Comparing instead with cell[0].innerHTML fixes this issue.\n\ncommit cf1e9d1fabc509ae72691288e52dc676b9c4b8a5\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Mon Jun 8 11:13:56 2015 +0100\n\n    Fix: `dt-api ajax.reload()` should cancel an exisiting request if that request has not yet completed\n    - Thread 28197. Thank you _womplify_!\n\ncommit f9cdaead17d30451366db4a08181bf223c44313f\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Jun 4 15:35:06 2015 +0100\n\n    Dev: Fix trailing comma\n\ncommit 801e4bedf1ad650d4525955f86c3e225604a696e\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Thu Jun 4 15:26:45 2015 +0100\n\n    New: `dt-init rowId` option to specify what property should be used from the row's data source object to read the row's id and then set it as the DOM id (previously this was static as the `DT_RowId` option)\n    New: `dt-api row().id()` and `dt-api rows().ids()` to get the id from one or multiple rows, based on the new `dt-init rowId` option\n\ncommit 759ea3d7336132f1f5dd7820639dc9ba4a40b4b9\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 3 17:07:55 2015 +0100\n\n    Update: The `dt-api rows().every()`, `dt-api columns().every()` and `dt-api cells().every()` methods are now passed index and loop counter parameters\n\ncommit d95820dd2a5d0338508dd79544e82ab13fe16cc3\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 3 17:07:17 2015 +0100\n\n    New: `dt-api count()` method. This provides a short cut method to determine how many items have been selected by the API. This can be useful to count the number of selected rows, etc.\n\ncommit 4f3525786da92d5d9afdf4905a3b319fd068def5\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed Jun 3 17:06:58 2015 +0100\n\n    Update: Add `postfix` option to the `number` renderer option\n\ncommit f817194a09a0927620b7681a867d9fa788866cfc\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:10:31 2015 +0100\n\n    Fix: If the paging language options were set to be an empty string, the button wouldn't render. This is not correct as it doesn't allow CSS icons to be used rather than the strings.\n\ncommit 3de8e7c3fe1a507a2eb6fcefa5c91e1f459b5253\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:10:12 2015 +0100\n\n    Merge branch 'master' of github.com:DataTables/DataTablesSrc\n\ncommit 04598f91ffdb342982d53b6726f1f75add8928af\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:09:54 2015 +0100\n\n    Fix - docs: `dt-api row.add()` and `dt-api rows.add()` will accept `tr` elements\n\ncommit 63c215b0447e07c5dbe86af689a3900ad3b1d465\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:09:37 2015 +0100\n\n    Merge pull request #43 from cdaringe/bugfix/jq-2.1.4-sppt\n\n    Fix: Compatibility with jQuery 2.1.4 when using `$.map` and passing in only arrays\n\ncommit feccbc5968cb04b7b284827a5f2cafa33d530183\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:09:19 2015 +0100\n\n    jq 2.1.4 sppt\n\ncommit 59457b63e632ef5cdd783d1b9a9a49a17e2b734c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Sat May 30 14:09:03 2015 +0100\n\n    Fix example: Server-side processing data source example column titles were incorrect\n\ncommit 09ff48a48621532977f7feeaadac7987f2bb3c6f\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 13 13:51:23 2015 +0100\n\n    New: Add `numbers` paging option for `dt-init pagingType` to round off the full set of basic options\n\n    Thank you `rubenduiveman` for suggesting this enhancement\n\ncommit be7a63761b2197651117664bc03090217db4b885\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue May 12 09:52:16 2015 +0100\n\n    Dev: Updating Editor build for new framework structure\n\ncommit 05d796d0a2590d956a2cc5ad43b5c11fe6fce5df\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Tue May 12 09:52:00 2015 +0100\n\n    Fix - example: Typo in description of `dom` example\n\n    Thanks _repjackson_ for noting the error\n\ncommit c61947f5f3a3fcc2930f5b85301abb3d0d7d234e\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 16:18:28 2015 +0100\n\n    Fix: `dt-init scrollX` could not be given as `false` - it still enabled x-scrolling\n\ncommit 7081a1a7c60c99ee98afe71f6f0aebe261fb834c\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:31:46 2015 +0100\n\n    1.10.8-dev version flag\n\ncommit 768f7cdc46ce656b385d6731024c2a47224a471d\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:30:27 2015 +0100\n\n    Fix: Disabling smart column width for IE67 as it can cause the browser to crash\n\ncommit 17130d2fd54aac95bd39c88d830d71a73ad06487\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:30:10 2015 +0100\n\n    Fix: When scrolling is enabled and column visiblity is toggled a Javascript error would occur due to the column width calculation method cloning the wrong header element.\n\n    This fixes thread 27612 and DataTables/DataTables issue #553\n\ncommit 8236be574d690743bdc130f005c2c089297fef84\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:29:51 2015 +0100\n\n    Update - example: Scrolling example updated to use the `nowrap` class to prevent wrapping of content and thus force scrolling\n\ncommit 9a7cf935eac040a62a06125e33fbb5a40a84cc6a\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:28:52 2015 +0100\n\n    Fix examples: Example pages styling updated to work better when operating with Bootstrap and Foundation styled table examples\n\ncommit ded5ee322ca889ca9e4aec3ce76a35891d299437\nAuthor: Allan Jardine <allan.jardine@sprymedia.co.uk>\nDate:   Wed May 6 11:27:47 2015 +0100\n\n    Dev: Bringing the integration files for the various frameworks that DataTables supports into the repo\n\n    This is so each repo defines its own integration files, ensuring that\n    they are both easy to update and that they are up-to-date. I will be\n    blogging about this change next week.","distinct":true,"url":"https://api.github.com/repos/edtownend/DataTables/commits/9c05cf55ba83098bf0d5d253a39f781515b41c8e"},{"sha":"6de8b2510542e1dca8c9b3018966ddb847bcc22a","author":{"email":"a162caffcb6897220f4d1cf28164d73cb91993a8@dmsqd.com","name":"Edward Townend"},"message":"reapply don't save state on colvis event","distinct":true,"url":"https://api.github.com/repos/edtownend/DataTables/commits/6de8b2510542e1dca8c9b3018966ddb847bcc22a"}]}