This release adds the following new features:
+ The `generate_insert_sql` function (used by `load`) validates the table and column names used. As these are user-provided they were a potential route for SQL injection attacks. An `ETLHelperBadIdentifierError` is raised on bad input.
+ The `abort_etlhelper_threads()` function has been added. When called, this raises an `ETLHelperAbort` exception at the end of the current chunk. It can be used to cancel jobs that are running in threads, such as in GUI applications. See [README.md](https://github.com/BritishGeologicalSurvey/etlhelper#aborting-running-jobs).
+ `list_row_factory` and `tuple_row_factory` have been added. Data can now be exported as all of the main Python container types e.g. namedtuple, dictionary, list and tuple. Lists are mutable so are convenient to use with transform functions. Tuples are fast to create and access. See [README.md](https://github.com/BritishGeologicalSurvey/etlhelper#row-factories)
Pull requests merged
* Validate table identifiers by volcan01010 in https://github.com/BritishGeologicalSurvey/etlhelper/pull/134
* Repo tweaks by volcan01010 in https://github.com/BritishGeologicalSurvey/etlhelper/pull/135
* Add list and tuple row factories by volcan01010 in https://github.com/BritishGeologicalSurvey/etlhelper/pull/136
* Abort function by volcan01010 in https://github.com/BritishGeologicalSurvey/etlhelper/pull/137
**Full Changelog**: https://github.com/BritishGeologicalSurvey/etlhelper/compare/V0.13.0...v0.14.0