Datasette can now run entirely in your browser using WebAssembly. Try out Datasette Lite, take a look at the code or read more about it in Datasette Lite: a server-side Python web application running in a browser.
Datasette now has a Discord community for questions and discussions about Datasette and its ecosystem of projects.
Features
- Datasette is now compatible with Pyodide. This is the enabling technology behind Datasette Lite. (#1733)
- Database file downloads now implement conditional GET using ETags. (#1739)
- HTML for facet results and suggested results has been extracted out into new templates
_facet_results.html
and_suggested_facets.html
. Thanks, M. Nasimul Haque. (#1759) - Datasette now runs some SQL queries in parallel. This has limited impact on performance, see this research issue for details.
- New
--nolock
option for ignoring file locks when opening read-only databases. (#1744) - Spaces in the database names in URLs are now encoded as
+
rather than~20
. (#1701) <Binary: 2427344 bytes>
is now displayed as<Binary: 2,427,344 bytes>
and is accompanied by tooltip showing "2.3MB". (#1712)- The base Docker image used by
datasette publish cloudrun
,datasette package
and the official Datasette image has been upgraded to3.10.6-slim-bullseye
. (#1768) - Canned writable queries against immutable databases now show a warning message. (#1728)
datasette publish cloudrun
has a new--timeout
option which can be used to increase the time limit applied by the Google Cloud build environment. Thanks, Tim Sherratt. (#1717)datasette publish cloudrun
has new--min-instances
and--max-instances
options. (#1779)
Plugin hooks
- New plugin hook: handle_exception(), for custom handling of exceptions caught by Datasette. (#1770)
- The render_cell() plugin hook is now also passed a
row
argument, representing thesqlite3.Row
object that is being rendered. (#1300) - The configuration directory is now stored in
datasette.config_dir
, making it available to plugins. Thanks, Chris Amico. (#1766)
Bug fixes
- Don't show the facet option in the cog menu if faceting is not allowed. (#1683)
?_sort
and?_sort_desc
now work if the column that is being sorted has been excluded from the query using?_col=
or?_nocol=
. (#1773)- Fixed bug where
?_sort_desc
was duplicated in the URL every time the Apply button was clicked. (#1738)
Documentation
- Examples in the documentation now include a copy-to-clipboard button. (#1748)
- Documentation now uses the Furo Sphinx theme. (#1746)
- Code examples in the documentation are now all formatted using Black. (#1718)
Request.fake()
method is now documented, see Request object.- New documentation for plugin authors: Registering a plugin for the duration of a test. (#903)