- the rowSelectionChanged event is now only fired once when multiple rows are selected or deselected at once
- an uncaught promise exception on the setPage function has been fixed
- an uncaught promise exception on the loadData function has been fixed
- an empty URL can now be passed to the ajaxURL property and will present a console warning instead of erroring
- if ajaxURL is not set when pagination is set to "remote" an empty table will be loaded on initialisation instead of an error
- old header elements are correctly disposed of when replaced with new elements
- the formatter onRendered function is now correctly called when row data is updated
- null values returned from formatters no longer create a console warning
- fixed regression with ajaxLoaderLoading option, it once again accepts HTML strings to be passed in for the elements contents
- row group headers now remain full width when all headers are collapsed by user in classic render mode
- data can no longer be set on columns without a field defined
- correct column is passed to the columnResized callback when the left hand resize handle is used
- the classes specified in the cssClass column definition option are now also applied to column calculation cells in the same column
- the textarea formatter now correctly handles null values