{"rowid": 107914493, "repo": "https://github.com/simonw/datasette", "release": "https://github.com/simonw/datasette/releases/tag/0.29", "date": "2019-07-08", "body_markdown": "ASGI, new plugin hooks, facet by date and much, much more\u2026 See [the release notes](https://datasette.readthedocs.io/en/stable/changelog.html#v0-29) for full details.", "published_at": "2019-07-08T03:43:13Z", "topics": "[\"asgi\", \"automatic-api\", \"csv\", \"datasets\", \"datasette\", \"datasette-io\", \"docker\", \"json\", \"python\", \"sql\", \"sqlite\"]"} {"rowid": 107914493, "repo": "https://github.com/simonw/datasette", "release": "https://github.com/simonw/datasette/releases/tag/0.42", "date": "2020-05-08", "body_markdown": "A small release which provides improved internal methods for use in plugins, along with documentation. See #685.\r\n\r\n* Added documentation for `db.execute()`, see [await db.execute(sql, ...)](https://datasette.readthedocs.io/en/stable/internals.html#database-execute).\r\n* 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).\r\n* 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).\r\n", "published_at": "2020-05-08T17:56:36Z", "topics": "[\"asgi\", \"automatic-api\", \"csv\", \"datasets\", \"datasette\", \"datasette-io\", \"docker\", \"json\", \"python\", \"sql\", \"sqlite\"]"} {"rowid": 107914493, "repo": "https://github.com/simonw/datasette", "release": "https://github.com/simonw/datasette/releases/tag/0.51", "date": "2020-10-31", "body_markdown": "A new visual design, plugin hooks for adding navigation options, better handling of binary data, URL building utility methods and better support for running Datasette behind a proxy.\r\n\r\n### New visual design\r\n\r\nDatasette is no longer white and grey with blue and purple links! [Natalie Downe](https://twitter.com/natbat) has been working on a visual refresh, the first iteration of which is included in this release. ([#1056](https://github.com/simonw/datasette/pull/1056))\r\n\r\n![datasette-0 51](https://user-images.githubusercontent.com/9599/97791267-d9011e80-1b8d-11eb-9b1b-42908266f36f.png)\r\n\r\n### Plugins can now add links within Datasette\r\n\r\nA number of existing Datasette plugins add new pages to the Datasette interface, providig tools for things like [uploading CSVs](https://github.com/simonw/datasette-upload-csvs), [editing table schemas](https://github.com/simonw/datasette-edit-schema) or [configuring full-text search](https://github.com/simonw/datasette-configure-fts).\r\n\r\nPlugins like this can now link to themselves from other parts of Datasette interface. The [menu_links(datasette, actor)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-menu-links) hook ([#1064](https://github.com/simonw/datasette/issues/1064)) lets plugins add links to Datasette's new top-right application menu, and the [table_actions(datasette, actor, database, table)](https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-table-actions) hook ([#1066](https://github.com/simonw/datasette/issues/1066)) adds links to a new \"table actions\" menu on the table page.\r\n\r\nThe demo at [latest.datasette.io](https://latest.datasette.io/) now includes some example plugins. To see the new table actions menu first [sign into that demo as root](https://latest.datasette.io/login-as-root) and then visit the [facetable](https://latest.datasette.io/fixtures/facetable) table to see the new cog icon menu at the top of the page.\r\n\r\n### Binary data\r\n\r\nSQLite tables can contain binary data in `BLOB` columns. Datasette now provides links for users to download this data directly from Datasette, and uses those links to make binary data available from CSV exports. See [Binary data](https://docs.datasette.io/en/stable/binary_data.html#binary) for more details. ([#1036](https://github.com/simonw/datasette/issues/1036) and [#1034](https://github.com/simonw/datasette/issues/1034)).\r\n\r\n### URL building\r\n\r\nThe new [datasette.urls](https://docs.datasette.io/en/stable/internals.html#internals-datasette-urls) family of methods can be used to generate URLs to key pages within the Datasette interface, both within custom templates and Datasette plugins. See [Building URLs within plugins](https://docs.datasette.io/en/stable/writing_plugins.html#writing-plugins-building-urls) for more details. ([#904](https://github.com/simonw/datasette/issues/904))\r\n\r\n### Running Datasette behind a proxy\r\n\r\nThe [base_url](https://docs.datasette.io/en/stable/config.html#config-base-url) configuration option is designed to help run Datasette on a specific path behind a proxy - for example if you want to run an instance of Datasette at `/my-datasette/` within your existing site's URL hierarchy, proxied behind nginx or Apache.\r\n\r\nSupport for this configuration option has been greatly improved ([#1023](https://github.com/simonw/datasette/issues/1023)), and guidelines for using it are now available in a new documentation section on [Running Datasette behind a proxy](https://docs.datasette.io/en/stable/deploying.html#deploying-proxy). ([#1027](https://github.com/simonw/datasette/issues/1027))\r\n\r\n### Smaller changes\r\n\r\n- Wide tables shown within Datasette now scroll horizontally ([#998](https://github.com/simonw/datasette/issues/998)). This is achieved using a new `