html_url,id,node_id,tag_name,target_commitish,name,draft,author,prerelease,created_at,published_at,body,repo,reactions https://github.com/simonw/datasette/releases/tag/0.60,57068381,RE_kwDOBm6k_c4DZstd,0.60,main,0.60,0,9599,0,2022-01-14T01:36:51Z,2022-01-14T01:41:28Z,"### Plugins and internals - New plugin hook: [filters_from_request(request, database, table, datasette)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-filters-from-request), which runs on the table page and can be used to support new custom query string parameters that modify the SQL query. ([#473](https://github.com/simonw/datasette/issues/473)) - Added two additional methods for writing to the database: [await db.execute_write_script(sql, block=True)](https://docs.datasette.io/en/stable/internals.html#database-execute-write-script) and [await db.execute_write_many(sql, params_seq, block=True)](https://docs.datasette.io/en/stable/internals.html#database-execute-write-many). ([#1570](https://github.com/simonw/datasette/issues/1570)) - The [db.execute_write()](https://docs.datasette.io/en/stable/internals.html#database-execute-write) internal method now defaults to blocking until the write operation has completed. Previously it defaulted to queuing the write and then continuing to run code while the write was in the queue. ([#1579](https://github.com/simonw/datasette/issues/1579)) - Database write connections now execute the [prepare_connection(conn, database, datasette)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-prepare-connection) plugin hook. ([#1564](https://github.com/simonw/datasette/issues/1564)) - The `Datasette()` constructor no longer requires the `files=` argument, and is now documented at [Datasette class](https://docs.datasette.io/en/stable/internals.html#internals-datasette). ([#1563](https://github.com/simonw/datasette/issues/1563)) - The tracing feature now traces write queries, not just read queries. ([#1568](https://github.com/simonw/datasette/issues/1568)) - The query string variables exposed by `request.args` will now include blank strings for arguments such as `foo` in `?foo=&bar=1` rather than ignoring those parameters entirely. ([#1551](https://github.com/simonw/datasette/issues/1551)) ### Faceting - The number of unique values in a facet is now always displayed. Previously it was only displayed if the user specified `?_facet_size=max`. ([#1556](https://github.com/simonw/datasette/issues/1556)) - Facets of type `date` or `array` can now be configured in `metadata.json`, see [Facets in metadata.json](https://docs.datasette.io/en/stable/facets.html#facets-metadata). Thanks, David Larlet. ([#1552](https://github.com/simonw/datasette/issues/1552)) - New `?_nosuggest=1` parameter for table views, which disables facet suggestion. ([#1557](https://github.com/simonw/datasette/issues/1557)) - Fixed bug where `?_facet_array=tags&_facet=tags` would only display one of the two selected facets. ([#625](https://github.com/simonw/datasette/issues/625)) ### Other small fixes - Made several performance improvements to the database schema introspection code that runs when Datasette first starts up. ([#1555](https://github.com/simonw/datasette/issues/1555)) - Label columns detected for foreign keys are now case-insensitive, so `Name` or `TITLE` will be detected in the same way as `name` or `title`. ([#1544](https://github.com/simonw/datasette/issues/1544)) - Upgraded Pluggy dependency to 1.0. ([#1575](https://github.com/simonw/datasette/issues/1575)) - Now using [Plausible analytics](https://plausible.io/) for the Datasette documentation. - `explain query plan` is now allowed with varying amounts of whitespace in the query. ([#1588](https://github.com/simonw/datasette/issues/1588)) - New [CLI reference](https://docs.datasette.io/en/stable/cli-reference.html#cli-reference) page showing the output of `--help` for each of the `datasette` sub-commands. This lead to several small improvements to the help copy. ([#1594](https://github.com/simonw/datasette/issues/1594)) - Fixed bug where writable canned queries could not be used with custom templates. ([#1547](https://github.com/simonw/datasette/issues/1547)) - Improved fix for a bug where columns with a underscore prefix could result in unnecessary hidden form fields. ([#1527](https://github.com/simonw/datasette/issues/1527))",107914493,