github
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.25 | 12986637 | MDc6UmVsZWFzZTEyOTg2NjM3 | 0.25 | master | Datasette 0.25 | 0 | 9599 | 0 | 2018-09-19T17:48:12Z | 2018-09-19T18:27:21Z | New plugin hooks, improved database view support and an easier way to use more recent versions of SQLite. See full release notes here: https://datasette.readthedocs.io/en/latest/changelog.html#v0-25 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.25.1 | 14560294 | MDc6UmVsZWFzZTE0NTYwMjk0 | 0.25.1 | master | Datasette 0.25.1 | 0 | 9599 | 0 | 2018-11-05T06:31:41Z | 2018-12-16T21:44:27Z | Documentation improvements plus a fix for publishing to Zeit Now. * `datasette publish now` now uses Zeit’s v1 platform, to work around the new 100MB image limit. Thanks, @slygent - closes #366. | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.25.2 | 14560304 | MDc6UmVsZWFzZTE0NTYwMzA0 | 0.25.2 | master | Datasette 0.25.2 | 0 | 9599 | 0 | 2018-12-16T21:26:37Z | 2018-12-16T21:45:39Z | * `datasette publish heroku` now uses the `python-3.6.7` runtime * Added documentation on [how to build the documentation](https://datasette.readthedocs.io/en/stable/contributing.html#editing-and-building-the-documentation) * Added documentation covering [our release process](https://datasette.readthedocs.io/en/stable/contributing.html#release-process) * Upgraded to pytest 4.0.2 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.26 | 14914779 | MDc6UmVsZWFzZTE0OTE0Nzc5 | 0.26 | master | Datasette 0.26 | 0 | 9599 | 0 | 2019-01-03T02:53:59Z | 2019-01-10T21:41:00Z | [Datasette 0.26 release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-26) | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.26.1 | 15206659 | MDc6UmVsZWFzZTE1MjA2NjU5 | 0.26.1 | master | Datasette 0.26.1 | 0 | 9599 | 0 | 2019-01-11T00:51:38Z | 2019-01-28T01:50:45Z | Release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-26-1 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.27 | 15389392 | MDc6UmVsZWFzZTE1Mzg5Mzky | 0.27 | master | Datasette 0.27 | 0 | 9599 | 0 | 2019-02-01T03:47:05Z | 2019-02-06T05:10:20Z | https://datasette.readthedocs.io/en/stable/changelog.html#v0-27 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.28 | 17450414 | MDc6UmVsZWFzZTE3NDUwNDE0 | 0.28 | master | Datasette 0.28 | 0 | 9599 | 0 | 2019-05-19T21:37:49Z | 2019-05-19T21:42:28Z | [Datasette 0.28](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) - a salmagundi of new features! * No longer immutable! Datasette now supports [databases that change](https://datasette.readthedocs.io/en/stable/changelog.html#supporting-databases-that-change). * [Faceting improvements](https://datasette.readthedocs.io/en/stable/changelog.html#faceting-improvements-and-faceting-plugins) including facet-by-JSON-array and the ability to define custom faceting using plugins. * [datasette publish cloudrun](https://datasette.readthedocs.io/en/stable/changelog.html#datasette-publish-cloudrun) lets you publish databasese to Google's new Cloud Run hosting service. * New [register_output_renderer](https://datasette.readthedocs.io/en/stable/changelog.html#register-output-renderer-plugins) plugin hook for adding custom output extensions to Datasette in addition to the default `.json` and `.csv`. * Dozens of other smaller features and tweaks - see [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-28) for full details. | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.29 | 18461320 | MDc6UmVsZWFzZTE4NDYxMzIw | 0.29 | master | Datasette 0.29 | 0 | 9599 | 0 | 2019-07-08T03:14:27Z | 2019-07-08T03:43:13Z | ASGI, new plugin hooks, facet by date and much, much more… See [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-29) for full details. | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.29.1 | 18598489 | MDc6UmVsZWFzZTE4NTk4NDg5 | 0.29.1 | master | 0.29.1 | 0 | 9599 | 0 | 2019-07-11T16:17:55Z | 2019-07-14T01:43:44Z | - Fixed bug with static mounts using relative paths which could lead to traversal exploits (#555) - thanks Abdussamet Kocak! https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-1 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.29.2 | 19704661 | MDc6UmVsZWFzZTE5NzA0NjYx | 0.29.2 | master | 0.29.2 | 0 | 9599 | 0 | 2019-07-14T03:04:05Z | 2019-09-03T00:33:35Z | * Bumped Uvicorn to 0.8.4, fixing a bug where the querystring was not included in the server logs. (#559) * Fixed bug where the navigation breadcrumbs were not displayed correctly on the page for a custom query. (#558) * Fixed bug where custom query names containing unicode characters caused errors. https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-2 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.29.3 | 20795250 | MDc6UmVsZWFzZTIwNzk1MjUw | 0.29.3 | master | 0.29.3 | 0 | 9599 | 0 | 2019-09-03T00:40:53Z | 2019-10-18T05:24:54Z | https://datasette.readthedocs.io/en/stable/changelog.html#v0-29-3 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.30 | 21098052 | MDc6UmVsZWFzZTIxMDk4MDUy | 0.30 | master | 0.30 | 0 | 9599 | 0 | 2019-10-19T01:08:04Z | 2019-10-30T18:51:30Z | https://datasette.readthedocs.io/en/stable/changelog.html#v0-30 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.30.1 | 21162064 | MDc6UmVsZWFzZTIxMTYyMDY0 | 0.30.1 | master | 0.30.1 | 0 | 9599 | 0 | 2019-10-30T19:00:21Z | 2019-11-02T00:06:02Z | https://datasette.readthedocs.io/en/stable/changelog.html#v0-30-1 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.30.2 | 21169835 | MDc6UmVsZWFzZTIxMTY5ODM1 | 0.30.2 | master | 0.30.2 | 0 | 9599 | 0 | 2019-11-02T23:12:46Z | 2019-11-02T23:33:13Z | https://datasette.readthedocs.io/en/latest/changelog.html#v0-30-2 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.31 | 21426008 | MDc6UmVsZWFzZTIxNDI2MDA4 | 0.31 | master | Datasette 0.31 | 0 | 9599 | 0 | 2019-11-12T05:33:51Z | 2019-11-13T02:16:15Z | This version adds compatibility with Python 3.8 and breaks compatibility with Python 3.5. Full release notes: https://datasette.readthedocs.io/en/stable/changelog.html#v0-31 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.31.1 | 21426299 | MDc6UmVsZWFzZTIxNDI2Mjk5 | 0.31.1 | master | 0.31.1 | 0 | 9599 | 0 | 2019-11-13T02:18:39Z | 2019-11-13T02:40:53Z | - Deployments created using `datasette publish` now use `python:3.8` base Docker image (#629) https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-1 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.31.2 | 21449006 | MDc6UmVsZWFzZTIxNDQ5MDA2 | 0.31.2 | master | 0.31.2 | 0 | 9599 | 0 | 2019-11-13T16:48:36Z | 2019-11-13T17:38:59Z | - Fixed a bug where datasette publish heroku applications failed to start (#633) - Fix for datasette publish with just --source_url - thanks, Stanley Zheng (#572) - Deployments to Heroku now use Python 3.8.0 (#632) https://datasette.readthedocs.io/en/latest/changelog.html#v0-31-2 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.32 | 21492068 | MDc6UmVsZWFzZTIxNDkyMDY4 | 0.32 | master | Datasette 0.32 | 0 | 9599 | 0 | 2019-11-14T23:20:21Z | 2019-11-14T23:42:14Z | Datasette now renders templates using [Jinja async mode](https://jinja.palletsprojects.com/en/2.10.x/api/#async-support). This makes it easy for plugins to provide custom template functions that perform asynchronous actions, for example the new [datasette-template-sql](https://github.com/simonw/datasette-template-sql) plugin which allows custom templates to directly execute SQL queries and render their results. (#628) https://datasette.readthedocs.io/en/latest/changelog.html#v0-32 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.33 | 22415542 | MDc6UmVsZWFzZTIyNDE1NTQy | 0.33 | master | Datasette 0.33 | 0 | 9599 | 0 | 2019-12-22T16:27:04Z | 2019-12-22T16:43:31Z | * `rowid` is now included in dropdown menus for filtering tables (#636) * Columns are now only suggested for faceting if they have at least one value with more than one record (#638) * Queries with no results now display “0 results” (#637) * Improved documentation for the `--static` option (#641) * asyncio task information is now included on the `/-/threads` debug page * Bumped Uvicorn dependency 0.11 * You can now use `--port 0` to listen on an available port * New `template_debug` setting for debugging templates, e.g. https://latest.datasette.io/fixtures/roadside_attractions?_context=1 (#654) https://datasette.readthedocs.io/en/latest/changelog.html#v0-33 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.34 | 23239304 | MDc6UmVsZWFzZTIzMjM5MzA0 | 0.34 | master | Datasette 0.34 | 0 | 9599 | 0 | 2020-01-30T00:09:01Z | 2020-01-30T00:29:21Z | - `_search=` queries are now correctly escaped using a new `escape_fts()` custom SQL function. This means you can now run searches for strings like `park.` without seeing errors. (#651) - Google Cloud Run is no longer in beta, so `datasette publish cloudrun` has been updated to work even if the user has not installed the `gcloud` beta components package. Thanks, Katie McLaughlin (#660) - `datasette package` now accepts a `--port` option for specifying which port the resulting Docker container should listen on. (#661) https://datasette.readthedocs.io/en/stable/changelog.html#v0-34 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.35 | 23395622 | MDc6UmVsZWFzZTIzMzk1NjIy | 0.35 | master | Datasette 0.35 | 0 | 9599 | 0 | 2020-02-05T02:17:47Z | 2020-02-05T02:32:34Z | * Added five new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem). * The `Datasette` class has a new `render_template()` method which can be used by plugins to render templates using Datasette’s pre-configured [Jinja](https://jinja.palletsprojects.com/) templating library. * You can now execute SQL queries that start with a `-- comment` - thanks, Jay Graves (#653) https://datasette.readthedocs.io/en/latest/changelog.html#v0-35 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.36 | 23896184 | MDc6UmVsZWFzZTIzODk2MTg0 | 0.36 | master | Datasette 0.36 | 0 | 9599 | 0 | 2020-02-22T03:04:46Z | 2020-02-22T03:24:50Z | * The `datasette` object passed to plugins now has API documentation: [Datasette class](https://datasette.readthedocs.io/en/latest/datasette.html#datasette). (#576) * New methods on `datasette`: `.add_database()` and `.remove_database()` - [documentation](https://datasette.readthedocs.io/en/latest/datasette.html#datasette-add-database). (#671) * `prepare_connection()` plugin hook now takes optional `datasette` and `database` arguments - [prepare_connection(conn, database, datasette)](https://datasette.readthedocs.io/en/latest/plugins.html#plugin-hook-prepare-connection). (#678) * Added three new plugins and one new conversion tool to the [The Datasette Ecosystem](https://datasette.readthedocs.io/en/latest/ecosystem.html#ecosystem). https://datasette.readthedocs.io/en/latest/changelog.html#v0-36 | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.37 | 23986460 | MDc6UmVsZWFzZTIzOTg2NDYw | 0.37 | master | Datasette 0.37 | 0 | 9599 | 0 | 2020-02-26T01:22:02Z | 2020-02-26T03:44:07Z | * Plugins now have a supported mechanism for writing to a database, using the new `.execute_write()` and `.execute_write_fn()` methods. [Documentation](https://datasette.readthedocs.io/en/stable/internals.html#database-execute-write). (#682) * Immutable databases that have had their rows counted using the `inspect` command now use the calculated count more effectively - thanks, Kevin Keogh. (#666) * `--reload` no longer restarts the server if a database file is modified, unless that database was opened immutable mode with `-i`. (#494) * New `?_searchmode=raw` option turns off escaping for FTS queries in `?_search=` allowing full use of SQLite’s [FTS5 query syntax](https://www.sqlite.org/fts5.html#full_text_query_syntax). (#676) | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.37.1 | 24154697 | MDc6UmVsZWFzZTI0MTU0Njk3 | 0.37.1 | master | Datasette 0.37.1 | 0 | 9599 | 0 | 2020-03-03T03:43:08Z | 2020-03-03T03:46:17Z | * Don’t attempt to count table rows to display on the index page for databases > 100MB. (#688) * Print exceptions if they occur in the write thread rather than silently swallowing them. * Handle the possibility of `scope["path"]` being a string rather than bytes * Better documentation for the [extra_template_vars(template, database, table, view_name, request, datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-hook-extra-template-vars) plugin hook. | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.38 | 24330942 | MDc6UmVsZWFzZTI0MzMwOTQy | 0.38 | master | 0.38 | 0 | 9599 | 0 | 2020-03-08T23:26:50Z | 2020-03-08T23:42:36Z | * The [Docker build](https://hub.docker.com/r/datasetteproject/datasette) of Datasette now uses SQLite 3.31.1, upgraded from 3.26. (#695) * `datasette publish cloudrun` now accepts an optional `--memory=2Gi` flag for setting the Cloud Run allocated memory to a value other than the default (256Mi). (#694) * Fixed bug where templates that shipped with plugins were sometimes not being correctly loaded. (#697) | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.39 | 24836140 | MDc6UmVsZWFzZTI0ODM2MTQw | 0.39 | master | 0.39 | 0 | 9599 | 0 | 2020-03-25T04:02:37Z | 2020-03-25T04:11:35Z | * New [base_url](https://datasette.readthedocs.io/en/latest/config.html#config-base-url) configuration setting for serving up the correct links while running Datasette under a different URL prefix. (#394) * New metadata settings `"sort"` and `"sort_desc"` for setting the default sort order for a table. See [Setting a default sort order](https://datasette.readthedocs.io/en/latest/metadata.html#metadata-default-sort). (#702) * Sort direction arrow now displays by default on the primary key. This means you only have to click once (not twice) to sort in reverse order. (#677) * New `await Request(scope, receive).post_vars()` method for accessing POST form variables. (#700) * Plugin hooks documentation now links to example uses of each plugin. (#709) | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.40 | 25748264 | MDc6UmVsZWFzZTI1NzQ4MjY0 | 0.40 | master | 0.40 | 0 | 9599 | 0 | 2020-04-22T04:06:39Z | 2020-04-22T04:06:51Z | * Datasette [Metadata](https://datasette.readthedocs.io/en/latest/metadata.html) can now be provided as a YAML file as an optional alternative to JSON. See [Using YAML for metadata](https://datasette.readthedocs.io/en/latest/metadata.html#metadata-yaml). (#713) * Removed support for `datasette publish now`, which used the the now-retired Zeit Now v1 hosting platform. A new plugin, [datasette-publish-now](https://github.com/simonw/datasette-publish-now), can be installed to publish data to Zeit ([now Vercel](https://vercel.com/blog/zeit-is-now-vercel)) Now v2. (#710) * Fixed a bug where the `extra_template_vars(request, view_name)` plugin hook was not receiving the correct `view_name`. (#716) * Variables added to the template context by the `extra_template_vars()` plugin hook are now shown in the `?_context=1` debugging mode (see [template_debug](https://datasette.readthedocs.io/en/latest/config.html#config-template-debug)). (#693) * Fixed a bug where the “templates considered” HTML comment was no longer being displayed. (#689) * Fixed a `datasette publish` bug where `--plugin-secret` would over-ride plugin configuration in the provided `metadata.json` file. (#724) * Added a new CSS class for customizing the canned query page. (#727) | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.41 | 26240662 | MDc6UmVsZWFzZTI2MjQwNjYy | 0.41 | master | 0.41 | 0 | 9599 | 0 | 2020-05-06T18:20:58Z | 2020-05-06T18:30:03Z | You can now create [custom pages](https://datasette.readthedocs.io/en/0.41/custom_templates.html#custom-pages) within your Datasette instance using a custom template file. For example, adding a template file called `templates/pages/about.html` will result in a new page being served at `/about` on your instance. See the [custom pages documentation](https://datasette.readthedocs.io/en/0.41/custom_templates.html#custom-pages) for full details, including how to return custom HTTP headers, redirects and status codes. (#648) [Configuration directory mode](https://datasette.readthedocs.io/en/0.41/config.html#config-dir) (#731) allows you to define a custom Datasette instance as a directory. So instead of running the following: $ datasette one.db two.db \ --metadata.json \ --template-dir=templates/ \ --plugins-dir=plugins \ --static css:css You can instead arrange your files in a single directory called `my-project` and run this: $ datasette my-project/ Also in this release: - New `NOT LIKE` table filter: `?colname__notlike=expression`. (#750) - Datasette now has a *pattern portfolio* at `/-/patterns` - e.g. <https://latest.datasette.io/-/patterns>. This is a page that shows every Datasette user interface component in one place, to aid core development and people building custom CSS themes. (#151) - SQLite [PRAGMA functions](https://www.sqlite.org/pragma.html#pragfunc) such as `pragma_table_info(tablename)` are now allowed in Datasette SQL queries. (#761) - Datasette pages now consistently return a `content-type` of `text/html; charset=utf-8"`. (#752) - Datasette now handles an ASGI `raw_path` value of `None`, which should allow compatibilty with the [Mangum](https://github.com/erm/mangum) adapter for running ASGI apps on AWS Lambda. Thanks, Colin Dellow. (#719) - Installation documentation now covers how to [Install using pipx](https://datasette.readthedocs.io/en/0.41/installation.html#installation-pipx). (#756) - Improved the documentation for [F… | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.42 | 26320774 | MDc6UmVsZWFzZTI2MzIwNzc0 | 0.42 | master | 0.42 | 0 | 9599 | 0 | 2020-05-08T17:38:27Z | 2020-05-08T17:56:36Z | A small release which provides improved internal methods for use in plugins, along with documentation. See #685. * Added documentation for `db.execute()`, see [await db.execute(sql, ...)](https://datasette.readthedocs.io/en/stable/internals.html#database-execute). * Renamed `db.execute_against_connection_in_thread()` to `db.execute_fn()` and made it a documented method, see [await db.execute_fn(fn)](https://datasette.readthedocs.io/en/stable/internals.html#database-execute-fn). * New `results.first()` and `results.single_value()` methods, plus documentation for the `Results` class - see [Results](https://datasette.readthedocs.io/en/stable/internals.html#database-results). | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.43 | 26994005 | MDc6UmVsZWFzZTI2OTk0MDA1 | 0.43 | master | 0.43 | 0 | 9599 | 0 | 2020-05-28T14:11:06Z | 2020-05-28T14:39:18Z | The main focus of this release is a major upgrade to the [register_output_renderer(datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-register-output-renderer) plugin hook, which allows plugins to provide new output formats for Datasette such as [datasette-atom](https://github.com/simonw/datasette-atom) and [datasette-ics](https://github.com/simonw/datasette-ics). - Redesign of [register_output_renderer(datasette)](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-register-output-renderer) to provide more context to the render callback and support an optional `"can_render"` callback that controls if a suggested link to the output format is provided. ([#581](https://github.com/simonw/datasette/issues/581), [#770](https://github.com/simonw/datasette/issues/770)) - Visually distinguish float and integer columns - useful for figuring out why order-by-column might be returning unexpected results. ([#729](https://github.com/simonw/datasette/issues/729)) - The [Request object](https://datasette.readthedocs.io/en/stable/internals.html#internals-request), which is passed to several plugin hooks, is now documented. ([#706](https://github.com/simonw/datasette/issues/706)) - New `metadata.json` option for setting a custom default page size for specific tables and views, see [Setting a custom page size](https://datasette.readthedocs.io/en/stable/metadata.html#metadata-page-size). ([#751](https://github.com/simonw/datasette/issues/751)) - Canned queries can now be configured with a default URL fragment hash, useful when working with plugins such as [datasette-vega](https://github.com/simonw/datasette-vega), see [Setting a default fragment](https://datasette.readthedocs.io/en/stable/sql_queries.html#canned-queries-default-fragment). ([#706](https://github.com/simonw/datasette/issues/706)) - Fixed a bug in `datasette publish` when running on operating systems where the `/tmp` directory lives in a different volume, using a backport of the Python 3.8 `shutil.copytree()` func… | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.44 | 27483276 | MDc6UmVsZWFzZTI3NDgzMjc2 | 0.44 | master | 0.44 | 0 | 9599 | 0 | 2020-06-12T01:19:30Z | 2020-06-12T07:10:38Z | Authentication and permissions, writable canned queries, flash messages, new plugin hooks and more. [Full release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-44). See also [Datasette 0.44: the annotated release notes](https://simonwillison.net/2020/Jun/12/annotated-release-notes/). | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.45 | 28134124 | MDc6UmVsZWFzZTI4MTM0MTI0 | 0.45 | master | 0.45 | 0 | 9599 | 0 | 2020-07-01T21:43:07Z | 2020-07-01T21:46:07Z | Magic parameters for canned queries, a log out feature, improved plugin documentation and four new plugin hooks. ### Magic parameters for canned queries Canned queries now support [Magic parameters](https://docs.datasette.io/en/stable/sql_queries.html#canned-queries-magic-parameters), which can be used to insert or select automatically generated values. For example: ```sql insert into logs (user_id, timestamp) values (:_actor_id, :_now_datetime_utc) ``` This inserts the currently authenticated actor ID and the current datetime. ([#842](https://github.com/simonw/datasette/issues/842)) ### Log out The [ds_actor cookie](https://docs.datasette.io/en/stable/authentication.html#authentication-ds-actor) can be used by plugins (or by Datasette's [--root mechanism](https://docs.datasette.io/en/stable/authentication.html#authentication-root)) to authenticate users. The new `/-/logout` page provides a way to clear that cookie. A "Log out" button now shows in the global navigation provided the user is authenticated using the `ds_actor` cookie. ([#840](https://github.com/simonw/datasette/issues/840)) ### Better plugin documentation The plugin documentation has been re-arranged into four sections, including a brand new section on testing plugins. ([#687](https://github.com/simonw/datasette/issues/687)) - [Plugins](https://docs.datasette.io/en/stable/plugins.html#plugins) introduces Datasette's plugin system and describes how to install and configure plugins. - [Writing plugins](https://docs.datasette.io/en/stable/writing_plugins.html#writing-plugins) describes how to author plugins, from simple one-off plugins to packaged plugins that can be published to PyPI. It also describes how to start a plugin using the new [datasette-plugin](https://github.com/simonw/datasette-plugin) cookiecutter template. - [Plugin hooks](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hooks) is a full list of detailed documentation for every Datasette plugin hook. - [Testing plugins](https://… | 107914493 | |
https://github.com/simonw/datasette/releases/tag/0.45a0 | 27703093 | MDc6UmVsZWFzZTI3NzAzMDkz | 0.45a0 | master | 0.45a0 | 0 | 9599 | 1 | 2020-06-18T20:58:09Z | 2020-06-18T21:14:00Z | 107914493 | ||
https://github.com/simonw/datasette/releases/tag/0.45a1 | 27707079 | MDc6UmVsZWFzZTI3NzA3MDc5 | 0.45a1 | master | 0.45a1 | 0 | 9599 | 1 | 2020-06-18T23:52:16Z | 2020-06-19T00:02:29Z | 107914493 | ||
https://github.com/simonw/datasette/releases/tag/0.45a2 | 27856779 | MDc6UmVsZWFzZTI3ODU2Nzc5 | 0.45a2 | master | 0.45a2 | 0 | 9599 | 1 | 2020-06-24T04:17:30Z | 2020-06-24T04:32:12Z | 107914493 | ||
https://github.com/simonw/datasette/releases/tag/0.45a3 | 27994774 | MDc6UmVsZWFzZTI3OTk0Nzc0 | 0.45a3 | master | 0.45a3 | 0 | 9599 | 1 | 2020-06-28T03:22:49Z | 2020-06-28T03:27:12Z | 107914493 | ||
https://github.com/simonw/datasette/releases/tag/0.45a4 | 28008549 | MDc6UmVsZWFzZTI4MDA4NTQ5 | 0.45a4 | master | 0.45a4 | 0 | 9599 | 1 | 2020-06-29T02:31:16Z | 2020-06-29T02:33:02Z | 107914493 | ||
https://github.com/simonw/datasette/releases/tag/0.45a5 | 28097766 | MDc6UmVsZWFzZTI4MDk3NzY2 | 0.45a5 | master | 0.45a5 | 0 | 9599 | 1 | 2020-07-01T04:25:35Z | 2020-07-01T04:27:08Z | 107914493 |