html_url,id,node_id,tag_name,target_commitish,name,draft,author,author_label,prerelease,created_at,published_at,body,repo,repo_label,reactions https://github.com/simonw/datasette/releases/tag/0.55,38264801,MDc6UmVsZWFzZTM4MjY0ODAx,0.55,main,0.55,0,9599,simonw,0,2021-02-19T02:01:06Z,2021-02-19T02:02:29Z,"Support for cross-database SQL queries and built-in support for serving via HTTPS. - The new `--crossdb` command-line option causes Datasette to attach up to ten database files to the same `/_memory` database connection. This enables cross-database SQL queries, including the ability to use joins and unions to combine data from tables that exist in different database files. See [Cross-database queries](https://docs.datasette.io/en/stable/sql_queries.html#cross-database-queries) for details. ([#283](https://github.com/simonw/datasette/issues/283)) - `--ssl-keyfile` and `--ssl-certfile` options can be used to specify a TLS certificate, allowing Datasette to serve traffic over `https://` without needing to run it behind a separate proxy. ([#1221](https://github.com/simonw/datasette/issues/1221)) - The `/:memory:` page has been renamed (and redirected) to `/_memory` for consistency with the new `/_internal` database introduced in Datasette 0.54. ([#1205](https://github.com/simonw/datasette/issues/1205)) - Added plugin testing documentation on [Using pdb for errors thrown inside Datasette](https://docs.datasette.io/en/stable//testing_plugins.html#testing-plugins-pdb). ([#1207](https://github.com/simonw/datasette/issues/1207)) - The [official Datasette Docker image](https://hub.docker.com/r/datasetteproject/datasette) now uses Python 3.7.10, applying [the latest security fix](https://www.python.org/downloads/release/python-3710/) for that Python version. ([#1235](https://github.com/simonw/datasette/issues/1235))",107914493,datasette, https://github.com/simonw/sqlite-utils/releases/tag/3.5,38037267,MDc6UmVsZWFzZTM4MDM3MjY3,3.5,main,3.5,0,9599,simonw,0,2021-02-14T22:43:06Z,2021-02-14T22:44:21Z,"- `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))",140912432,sqlite-utils, https://github.com/dogsheep/evernote-to-sqlite/releases/tag/0.3.1,37947725,MDc6UmVsZWFzZTM3OTQ3NzI1,0.3.1,main,0.3.1,0,9599,simonw,0,2021-02-11T22:38:21Z,2021-02-11T22:40:40Z,"- Explicitly open file using utf-8 encoding - thanks, RiverZhou. [#10](https://github.com/dogsheep/evernote-to-sqlite/pull/10) - Fix import error if note has no ""updated"" element - thanks, Matej Korosec. [#8](https://github.com/dogsheep/evernote-to-sqlite/pull/8) ",303218369,evernote-to-sqlite, https://github.com/dogsheep/evernote-to-sqlite/releases/tag/0.3,37946829,MDc6UmVsZWFzZTM3OTQ2ODI5,0.3,main,0.3,0,9599,simonw,0,2021-02-11T22:14:01Z,2021-02-11T22:16:20Z,"- Correctly handle entities in XHTML notes. [#9](https://github.com/dogsheep/evernote-to-sqlite/issues/9) - Fixed a bug importing ENEX files on Windows. Thanks, [dskrad](https://github.com/dskrad). [#11](https://github.com/dogsheep/evernote-to-sqlite/issues/11) ",303218369,evernote-to-sqlite, https://github.com/simonw/sqlite-utils/releases/tag/3.4.1,37438817,MDc6UmVsZWFzZTM3NDM4ODE3,3.4.1,main,3.4.1,0,9599,simonw,0,2021-02-06T02:10:04Z,2021-02-06T02:11:15Z,- Fixed a code import bug that slipped in to 3.4. ([#226](https://github.com/simonw/sqlite-utils/issues/226)),140912432,sqlite-utils, https://github.com/simonw/sqlite-utils/releases/tag/3.4,37437744,MDc6UmVsZWFzZTM3NDM3NzQ0,3.4,main,3.4,0,9599,simonw,0,2021-02-06T01:37:27Z,2021-02-06T01:38:26Z,- `sqlite-utils insert --csv` now accepts optional `--delimiter` and `--quotechar` options. See [Alternative delimiters and quote characters](https://sqlite-utils.datasette.io/en/stable/cli.html#cli-insert-csv-tsv-delimiter). ([#223](https://github.com/simonw/sqlite-utils/issues/223)),140912432,sqlite-utils, https://github.com/simonw/datasette/releases/tag/0.54.1,37262719,MDc6UmVsZWFzZTM3MjYyNzE5,0.54.1,0.54.x,0.54.1,0,9599,simonw,0,2021-02-02T21:23:39Z,2021-02-02T21:30:12Z,- Fixed a bug where `?_search=` and `?_sort=` parameters were incorrectly duplicated when the filter form on the table page was re-submitted. ([#1214](https://github.com/simonw/datasette/issues/1214)),107914493,datasette, https://github.com/simonw/datasette/releases/tag/0.54,36871901,MDc6UmVsZWFzZTM2ODcxOTAx,0.54,main,0.54,0,9599,simonw,0,2021-01-25T17:35:06Z,2021-01-25T17:36:30Z,"The two big new features in this release are the `_internal` SQLite in-memory database storing details of all connected databases and tables, and support for JavaScript modules in plugins and additional scripts. For additional commentary on this release, see [Datasette 0.54, the annotated release notes](https://simonwillison.net/2021/Jan/25/datasette/). ### The _internal database As part of ongoing work to help Datasette handle much larger numbers of connected databases and tables (see [Datasette Library](https://github.com/simonw/datasette/issues/417)) Datasette now maintains an in-memory SQLite database with details of all of the attached databases, tables, columns, indexes and foreign keys. ([#1150](https://github.com/simonw/datasette/issues/1150)) This will support future improvements such as a searchable, paginated homepage of all available tables. You can explore an example of this database by [signing in as root](https://latest.datasette.io/login-as-root) to the `latest.datasette.io` demo instance and then navigating to [latest.datasette.io/_internal](https://latest.datasette.io/_internal). Plugins can use these tables to introspect attached data in an efficient way. Plugin authors should note that this is not yet considered a stable interface, so any plugins that use this may need to make changes prior to Datasette 1.0 if the `_internal` table schemas change. ### Named in-memory database support As part of the work building the `_internal` database, Datasette now supports named in-memory databases that can be shared across multiple connections. This allows plugins to create in-memory databases which will persist data for the lifetime of the Datasette server process. ([#1151](https://github.com/simonw/datasette/issues/1151)) The new `memory_name=` parameter to the [Database class](https://docs.datasette.io/en/stable/internals.html#internals-database) can be used to create named, shared in-memory databases. ### JavaScript modules [JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) were introduced in ECMAScript 2015 and provide native browser support for the `import` and `export` keywords. To use modules, JavaScript needs to be included in `