- `sqlite-utils insert --sniff` option for detecting the delimiter and quote character used by a CSV file, see [Alternative delimiters and quote characters](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-insert-csv-tsv-delimiter). ([230](https://github.com/simonw/sqlite-utils/issues/230))
- The `table.rows_where()`, `table.search()` and `table.search_sql()` methods all now take optional `offset=` and `limit=` arguments. ([231](https://github.com/simonw/sqlite-utils/issues/231))
- New `--no-headers` option for `sqlite-utils insert --csv` to handle CSV files that are missing the header row, see [CSV files without a header row](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-insert-csv-tsv-no-header). ([228](https://github.com/simonw/sqlite-utils/issues/228))
- Fixed bug where inserting data with extra columns in subsequent chunks would throw an error. Thanks [nieuwenhoven](https://github.com/nieuwenhoven) for the fix. ([#234](https://github.com/simonw/sqlite-utils/issues/234))
- Fixed bug importing CSV files with columns containing more than 128KB of data. ([229](https://github.com/simonw/sqlite-utils/issues/229))
- Test suite now runs in CI against Ubuntu, macOS and Windows. Thanks [nieuwenhoven](https://github.com/nieuwenhoven) for the Windows test fixes. ([#232](https://github.com/simonw/sqlite-utils/issues/232))