{"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a0", "id": 27703093, "node_id": "MDc6UmVsZWFzZTI3NzAzMDkz", "tag_name": "0.45a0", "target_commitish": "master", "name": "0.45a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-06-18T20:58:09Z", "published_at": "2020-06-18T21:14:00Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a1", "id": 27707079, "node_id": "MDc6UmVsZWFzZTI3NzA3MDc5", "tag_name": "0.45a1", "target_commitish": "master", "name": "0.45a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-06-18T23:52:16Z", "published_at": "2020-06-19T00:02:29Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a2", "id": 27856779, "node_id": "MDc6UmVsZWFzZTI3ODU2Nzc5", "tag_name": "0.45a2", "target_commitish": "master", "name": "0.45a2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-06-24T04:17:30Z", "published_at": "2020-06-24T04:32:12Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a3", "id": 27994774, "node_id": "MDc6UmVsZWFzZTI3OTk0Nzc0", "tag_name": "0.45a3", "target_commitish": "master", "name": "0.45a3", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-06-28T03:22:49Z", "published_at": "2020-06-28T03:27:12Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a4", "id": 28008549, "node_id": "MDc6UmVsZWFzZTI4MDA4NTQ5", "tag_name": "0.45a4", "target_commitish": "master", "name": "0.45a4", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-06-29T02:31:16Z", "published_at": "2020-06-29T02:33:02Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.45a5", "id": 28097766, "node_id": "MDc6UmVsZWFzZTI4MDk3NzY2", "tag_name": "0.45a5", "target_commitish": "master", "name": "0.45a5", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-07-01T04:25:35Z", "published_at": "2020-07-01T04:27:08Z", "body": "", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.49a0", "id": 30353073, "node_id": "MDc6UmVsZWFzZTMwMzUzMDcz", "tag_name": "0.49a0", "target_commitish": "main", "name": "0.49a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-08-28T23:12:47Z", "published_at": "2020-08-28T23:18:09Z", "body": "- `register_output_renderer()` render functions can now return a `Response`. ([#953](https://github.com/simonw/datasette/issues/953))\r\n- New `--upgrade` option for `datasette install`. ([#945](https://github.com/simonw/datasette/issues/945))\r\n- `datasette publish heroku` now deploys using Python 3.8.5", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.1a", "id": 30477968, "node_id": "MDc6UmVsZWFzZTMwNDc3OTY4", "tag_name": "0.1a", "target_commitish": "main", "name": "0.1a", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-01T04:16:59Z", "published_at": "2020-09-01T04:19:00Z", "body": "- First working version", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.1a2", "id": 30478994, "node_id": "MDc6UmVsZWFzZTMwNDc4OTk0", "tag_name": "0.1a2", "target_commitish": "main", "name": "0.1a2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-01T04:49:41Z", "published_at": "2020-09-01T04:50:01Z", "body": "- Now creates an index on the `timestamp` column. #1", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.4a0", "id": 30632372, "node_id": "MDc6UmVsZWFzZTMwNjMyMzcy", "tag_name": "0.4a0", "target_commitish": "main", "name": "0.4a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-03T03:53:29Z", "published_at": "2020-09-03T03:54:23Z", "body": "- Incomplete preview of the `/-/beta` search interface. #3 #9\r\n\r\n", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.4a1", "id": 30678449, "node_id": "MDc6UmVsZWFzZTMwNjc4NDQ5", "tag_name": "0.4a1", "target_commitish": "main", "name": "0.4a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-03T18:03:15Z", "published_at": "2020-09-03T18:03:50Z", "body": "- Added `received` category. #10\r\n- New `is_public` column. #11", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.7a0", "id": 30944731, "node_id": "MDc6UmVsZWFzZTMwOTQ0NzMx", "tag_name": "0.7a0", "target_commitish": "main", "name": "0.7a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-09T00:45:07Z", "published_at": "2020-09-09T00:46:06Z", "body": "- Renamed `table` column to `type`. #17\r\n- New `-d` option for passing one or more databases to index. Without this all databases in the config file will be indexed.", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.49a1", "id": 31227999, "node_id": "MDc6UmVsZWFzZTMxMjI3OTk5", "tag_name": "0.49a1", "target_commitish": "main", "name": "0.49a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-14T02:47:21Z", "published_at": "2020-09-14T02:48:19Z", "body": "- Upgraded [CodeMirror](https://codemirror.net/) to 5.57.0. ([#948](https://github.com/simonw/datasette/issues/948))\r\n- Upgraded code style to Black 20.8b1. ([#958](https://github.com/simonw/datasette/issues/958))\r\n- New `datasette --pdb` option. ([#962](https://github.com/simonw/datasette/issues/962))\r\n- `datasette --get` exit code now reflects the internal HTTP status code. ([#947](https://github.com/simonw/datasette/issues/947))\r\n- Fixed bug where selected facets were not correctly persisted in hidden form fields on the table page. ([#963](https://github.com/simonw/datasette/issues/963))\r\n- New mechanism for defining page templates with custom path parameters. ([#944](https://github.com/simonw/datasette/issues/944))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/dogsheep/dogsheep-beta/releases/tag/0.9a0", "id": 31582397, "node_id": "MDc6UmVsZWFzZTMxNTgyMzk3", "tag_name": "0.9a0", "target_commitish": "main", "name": "0.9a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-09-20T23:37:09Z", "published_at": "2020-09-20T23:37:48Z", "body": "- Added by date, as part of developing a timeline view. #16", "repo": {"value": 197431109, "label": "dogsheep-beta"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.50a0", "id": 32072114, "node_id": "MDc6UmVsZWFzZTMyMDcyMTE0", "tag_name": "0.50a0", "target_commitish": "main", "name": "0.50a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-10-01T23:35:04Z", "published_at": "2020-10-01T23:35:54Z", "body": "- New column action menu - table columns now show a cog icon which provides a contextual menu for that column. ([#981](https://github.com/simonw/datasette/issues/981))\r\n- New `datasette -o` option which opens your browser as soon as Datasette starts up. ([#970](https://github.com/simonw/datasette/issues/970)\r\n- `sqlite3.enable_callback_tracebacks(True)` so errors in custom SQL functions will now display tracebacks. ([#891](https://github.com/simonw/datasette/issues/891))\r\n- Fixed two rendering bugs with column headers in portrait mobile view. ([#978](https://github.com/simonw/datasette/issues/978), [#980](https://github.com/simonw/datasette/issues/980))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.50a1", "id": 32238807, "node_id": "MDc6UmVsZWFzZTMyMjM4ODA3", "tag_name": "0.50a1", "target_commitish": "main", "name": "0.50a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-10-06T20:50:54Z", "published_at": "2020-10-06T20:52:49Z", "body": "- Column action menu now shows the column type. ([#993](https://github.com/simonw/datasette/issues/993))\r\n- Column action sort links now correctly link to the first page of sorted results. ([#989](https://github.com/simonw/datasette/issues/989))\r\n- [Publishing to Google Cloud Run](https://docs.datasette.io/en/latest/publish.html#publish-cloud-run) documentation now covers Google Cloud SDK options. Thanks, Geoffrey Hing. ([#995](https://github.com/simonw/datasette/pull/995))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.51a0", "id": 32791115, "node_id": "MDc6UmVsZWFzZTMyNzkxMTE1", "tag_name": "0.51a0", "target_commitish": "main", "name": "0.51a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-10-20T05:31:14Z", "published_at": "2020-10-20T05:33:01Z", "body": "- Fixed a bunch of issues relating to the [base_url](https://docs.datasette.io/en/latest/config.html#config-base-url) setting. ([#1023](https://github.com/simonw/datasette/issues/1023))\r\n- New `datasette.urls` URL builder for plugins, see [Building URLs within plugins](https://docs.datasette.io/en/latest/writing_plugins.html#writing-plugins-building-urls). ([#904](https://github.com/simonw/datasette/issues/904))\r\n- Removed `--debug` option, which didn't do anything. ([#814](https://github.com/simonw/datasette/issues/814))\r\n- `Link:` HTTP header pagination. ([#1014](https://github.com/simonw/datasette/issues/1014))\r\n- `x` button for clearing filters. ([#1016](https://github.com/simonw/datasette/issues/1016))\r\n- Edit SQL button on canned queries, ([#1019](https://github.com/simonw/datasette/issues/1019))\r\n- `--load-extension=spatialite` shortcut. ([#1028](https://github.com/simonw/datasette/issues/1028))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.51a1", "id": 33253780, "node_id": "MDc6UmVsZWFzZTMzMjUzNzgw", "tag_name": "0.51a1", "target_commitish": "main", "name": "0.51a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-10-30T05:35:23Z", "published_at": "2020-10-30T05:37:34Z", "body": "- New colour scheme and improved visual design, courtesy of Natalie Downe. ([#1056](https://github.com/simonw/datasette/pull/1056))\r\n- scale-in animation for column action menu. ([#1039](https://github.com/simonw/datasette/issues/1039))\r\n- Wide tables now scroll horizontally. ([#998](https://github.com/simonw/datasette/issues/998))\r\n- Option to pass a list of templates to `.render_template()` is now documented. ([#1045](https://github.com/simonw/datasette/issues/1045))\r\n- New `datasette.urls.static_plugins()` method. ([#1033](https://github.com/simonw/datasette/issues/1033))\r\n- `BLOB` column values can now be downloaded directly from the Datasette UI. ([#1036](https://github.com/simonw/datasette/issues/1036))\r\n- `.csv` exports now link to direct `BLOB` downloads. ([#1034](https://github.com/simonw/datasette/issues/1034))\r\n- `datasette -o` option now opens the most relevant page. ([#976](https://github.com/simonw/datasette/issues/976))\r\n- `datasette --cors` option now enables access to `/database.db` downloads. ([#1057](https://github.com/simonw/datasette/issues/1057))\r\n- Database file downloads now implement cascading permissions, so you can download a database if you have `view-database-download` permission even if you do not have permission to access the Datasette instance. ([#1058](https://github.com/simonw/datasette/issues/1058))\r\n- New documentation on [Designing URLs for your plugin](https://docs.datasette.io/en/latest/writing_plugins.html#writing-plugins-designing-urls). ([#1053](https://github.com/simonw/datasette/issues/1053))\r\n- New navigation menu plus a [menu_links(datasette, actor)](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-menu-links) plugin hook to customize it. ([#1064](https://github.com/simonw/datasette/issues/1064))\r\n- [table_actions(datasette, actor, database, table)](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-table-actions) plugin hook for the new table actions menu. ([#1066](https://github.com/simonw/datasette/issues/1066))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.51a2", "id": 33284522, "node_id": "MDc6UmVsZWFzZTMzMjg0NTIy", "tag_name": "0.51a2", "target_commitish": "main", "name": "0.51a2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-10-30T17:56:02Z", "published_at": "2020-10-30T17:57:53Z", "body": "- New [load_template(template, request, datasette)](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-load-template) plugin hook. ([#1042](https://github.com/simonw/datasette/issues/1042))\r\n- New [debug-menu](https://docs.datasette.io/en/latest/authentication.html#permissions-debug-menu) permission. ([#1068](https://github.com/simonw/datasette/issues/1068))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/sqlite-utils/releases/tag/3.0a0", "id": 33591216, "node_id": "MDc6UmVsZWFzZTMzNTkxMjE2", "tag_name": "3.0a0", "target_commitish": "main", "name": "3.0a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2020-11-07T01:22:24Z", "published_at": "2020-11-07T01:24:43Z", "body": "This release introduces a new `sqlite-utils search` command for searching tables, see [Executing searches](https://sqlite-utils.readthedocs.io/en/latest/cli.html#cli-search). ([#192](https://github.com/simonw/sqlite-utils/issues/192))\r\n\r\nThe `table.search()` method has been redesigned, see [Searching with table.search()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search). ([#197](https://github.com/simonw/sqlite-utils/issues/197))\r\n\r\nThe release includes minor backwards-incompatible changes, hence the version bump to 3.0. Those changes, which should not affect most users, are:\r\n\r\n- The `-c` shortcut option for outputting CSV is no longer available. The full `--csv` option is required instead.\r\n- The `-f` shortcut for `--fmt` has also been removed - use `--fmt`.\r\n- The `table.search()` method now defaults to sorting by relevance, not sorting by `rowid`. ([#198](https://github.com/simonw/sqlite-utils/issues/198))\r\n- The `table.search()` method now returns a generator over a list of Python dictionaries. It previously returned a list of tuples.\r\n\r\nAlso in this release:\r\n\r\n- The `query`, `tables`, `rows` and `search` CLI commands now accept a new `--tsv` option which outputs the results in TSV. ([#193](https://github.com/simonw/sqlite-utils/issues/193))\r\n- A new `table.virtual_table_using` property reveals if a table is a virtual table, and returns the upper case type of virtual table (e.g. `FTS4` or `FTS5`) if it is. It returns `None` if the table is not a virtual table. ([#196](https://github.com/simonw/sqlite-utils/issues/196))\r\n- The new `table.search_sql()` method returns the SQL for searching a table, see [Building SQL queries with table.search_sql()](https://sqlite-utils.readthedocs.io/en/latest/python-api.html#python-api-fts-search-sql).\r\n- `sqlite-utils rows` now accepts multiple optional `-c` parameters specifying the columns to return. ([#200](https://github.com/simonw/sqlite-utils/issues/200))", "repo": {"value": 140912432, "label": "sqlite-utils"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.54a0", "id": 36623336, "node_id": "MDc6UmVsZWFzZTM2NjIzMzM2", "tag_name": "0.54a0", "target_commitish": "main", "name": "0.54a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-01-19T20:50:12Z", "published_at": "2021-01-19T20:51:13Z", "body": "**Alpha release**. Release notes in progress.\r\n\r\n- Improved support for named in-memory databases. ([#1151](https://github.com/simonw/datasette/issues/1151))\r\n- New `_internal` in-memory database tracking attached databases, tables and columns. ([#1150](https://github.com/simonw/datasette/issues/1150))\r\n- Support for JavaScript modules. ([#1186](https://github.com/simonw/datasette/issues/1186), [#1187](https://github.com/simonw/datasette/issues/1187))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.57a0", "id": 43419091, "node_id": "MDc6UmVsZWFzZTQzNDE5MDkx", "tag_name": "0.57a0", "target_commitish": "main", "name": "0.57a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-05-23T00:45:54Z", "published_at": "2021-05-23T00:46:44Z", "body": "Mainly dependency bumps, plus a new `?_facet_size=` argument.\r\n\r\n- Updated dependencies: pytest-asyncio, Black, jinja2, aiofiles, itsdangerous\r\n- Fixed bug where columns called \"Link\" were incorrectly displayed in bold. ([#1308](https://github.com/simonw/datasette/issues/1308))\r\n- New `?_facet_size=` argument for customizing the number of facet results returned on a page. ([#1332](https://github.com/simonw/datasette/issues/1332))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.57a1", "id": 43713686, "node_id": "MDc6UmVsZWFzZTQzNzEzNjg2", "tag_name": "0.57a1", "target_commitish": "main", "name": "0.57a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-05-27T16:54:21Z", "published_at": "2021-05-27T16:58:41Z", "body": "- Docker image now allows `apt-get install`. [#1320](https://github.com/simonw/datasette/issues/1320)\r\n- `?_col=` and `?_nocol=` options to show and hide columns in a table, plus UI for doing this in the column cog menu. [#615](https://github.com/simonw/datasette/issues/615)\r\n- New `?_facet_size=max` option, linked to from the \u2026 on truncated facets. [#1337](https://github.com/simonw/datasette/issues/1337)\r\n- Heroku runtime used by `datasette publish heroku` is now `python-3.8.10`.\r\n- Multi-arch support for built Docker images using Buildx - thanks, [Blair Drummand](https://github.com/blairdrummond). [#1319](https://github.com/simonw/datasette/pull/1319)", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.58a0", "id": 44388485, "node_id": "MDc6UmVsZWFzZTQ0Mzg4NDg1", "tag_name": "0.58a0", "target_commitish": "main", "name": "0.58a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-06-10T04:51:14Z", "published_at": "2021-06-10T04:52:45Z", "body": "- The [menu_links()](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-menu-links), [table_actions()](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-table-actions) and [database_actions()](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-database-actions) plugin hooks all gained a new optional `request` argument providing access to the current request. ([#1371](https://github.com/simonw/datasette/issues/1371))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.58a1", "id": 45182156, "node_id": "MDc6UmVsZWFzZTQ1MTgyMTU2", "tag_name": "0.58a1", "target_commitish": "main", "name": "0.58a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-06-24T16:24:59Z", "published_at": "2021-06-24T16:29:09Z", "body": "- New plugin hook: [skip_csrf(datasette, scope)](https://docs.datasette.io/en/latest//plugin_hooks.html#plugin-hook-skip-csrf), for opting out of CSRF protection based on the incoming request. ([#1377](https://github.com/simonw/datasette/issues/1377))\r\n- `POST` requests to endpoints that do not support that HTTP verb now return a 405 error.\r\n- `db.path` can now be provided as a `pathlib.Path` object, useful when writing unit tests for plugins. Thanks, Chris Amico. ([#1365](https://github.com/simonw/datasette/issues/1365))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/releases/45182156/reactions\", \"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}"} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.59a0", "id": 47461737, "node_id": "MDc6UmVsZWFzZTQ3NDYxNzM3", "tag_name": "0.59a0", "target_commitish": "main", "name": "0.59a0", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-08-07T05:40:07Z", "published_at": "2021-08-07T05:42:25Z", "body": "- [register_routes(datasette)](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-register-routes) plugin hook now accepts an optional `datasette` argument. ([#1404](https://github.com/simonw/datasette/issues/1404))\r\n- New `hide_sql` canned query option for defaulting to hiding the SQL quey used by a canned query, see [Additional canned query options](https://docs.datasette.io/en/latest/sql_queries.html#canned-queries-options). ([#1422](https://github.com/simonw/datasette/issues/1422))\r\n- New `--cpu` option for [datasette publish cloudrun](https://docs.datasette.io/en/latest/publish.html#publish-cloud-run). ([#1420](https://github.com/simonw/datasette/issues/1420))\r\n- If [Rich](https://github.com/willmcgugan/rich) is installed in the same virtual environment as Datasette, it will be used to provide enhanced display of error tracebacks on the console. ([#1416](https://github.com/simonw/datasette/issues/1416))\r\n- `datasette.utils` [parse_metadata(content)](https://docs.datasette.io/en/latest/internals.html#internals-utils-parse-metadata) function, used by the new [datasette-remote-metadata plugin](https://datasette.io/plugins/datasette-remote-metadata), is now a documented API. ([#1405](https://github.com/simonw/datasette/issues/1405))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": null} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.59a1", "id": 47507174, "node_id": "MDc6UmVsZWFzZTQ3NTA3MTc0", "tag_name": "0.59a1", "target_commitish": "main", "name": "0.59a1", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-08-09T01:13:03Z", "published_at": "2021-08-09T01:14:06Z", "body": "- The [render_cell()](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-render-cell) plugin hook can now return an awaitable function. This means the hook can execute SQL queries. ([#1425](https://github.com/simonw/datasette/issues/1425))", "repo": {"value": 107914493, "label": "datasette"}, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/releases/47507174/reactions\", \"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 1, \"rocket\": 0, \"eyes\": 0}"} {"html_url": "https://github.com/simonw/datasette/releases/tag/0.59a2", "id": 48604143, "node_id": "MDc6UmVsZWFzZTQ4NjA0MTQz", "tag_name": "0.59a2", "target_commitish": "main", "name": " 0.59a2", "draft": 0, "author": {"value": 9599, "label": "simonw"}, "prerelease": 1, "created_at": "2021-08-28T01:55:54Z", "published_at": "2021-08-28T01:57:38Z", "body": "- Columns can now have associated metadata descriptions in `metadata.json`, see [Column descriptions](https://docs.datasette.io/en/latest/metadata.html#metadata-column-descriptions). ([#942](https://github.com/simonw/datasette/issues/942))\r\n- New [register_commands()](https://docs.datasette.io/en/latest/plugin_hooks.html#plugin-hook-register-commands) plugin hook allows plugins to register additional Datasette CLI commands, e.g. `datasette mycommand file.db`. ([#1449](https://github.com/simonw/datasette/issues/1449))\r\n- Adding `?_facet_size=max` to a table page now shows the number of unique values in each facet. ([#1423](https://github.com/simonw/datasette/issues/1423))\r\n- Code that figures out which named parameters a SQL query takes in order to display form fields for them is no longer confused by strings that contain colon characters. ([#1421](https://github.com/simonw/datasette/issues/1421))\r\n- Renamed `--help-config` option to `--help-settings`. ([#1431](https://github.com/simonw/datasette/issues/1431))\r\n- `datasette.databases` property is now a documented API. ([#1443](https://github.com/simonw/datasette/issues/1443))\r\n- Datasette base template now wraps everything other than the `