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.
New visual design
Plugins can now add links within Datasette
Plugins like this can now link to themselves from other parts of Datasette interface. The menu_links(datasette, actor) hook (#1064) lets plugins add links to Datasette's new top-right application menu, and the table_actions(datasette, actor, database, table) hook (#1066) adds links to a new "table actions" menu on the table page.
The demo at latest.datasette.io now includes some example plugins. To see the new table actions menu first sign into that demo as root and then visit the facetable table to see the new cog icon menu at the top of the page.
SQLite 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 for more details. (#1036 and #1034).
The new 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 for more details. (#904)
Running Datasette behind a proxy
The 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.
- Wide tables shown within Datasette now scroll horizontally (#998). This is achieved using a new
<div class="table-wrapper">element which may impact the implementation of some plugins (for example this change to datasette-cluster-map).
- New debug-menu permission. (#1068)
--debugoption, which didn't do anything. (#814)
Link:HTTP header pagination. (#1014)
xbutton for clearing filters. (#1016)
- Edit SQL button on canned queries, (#1019)
- scale-in animation for column action menu. (#1039)
- Option to pass a list of templates to
.render_template()is now documented. (#1045)
datasette -ooption now opens the most relevant page. (#976)
datasette --corsoption now enables access to
- Database file downloads now implement cascading permissions, so you can download a database if you have
view-database-downloadpermission even if you do not have permission to access the Datasette instance. (#1058)
- New documentation on Designing URLs for your plugin. (#1053)