- Removed hashed URL mode from Datasette. The new
datasette-hashed-urls
plugin can be used to achieve the same result, see datasette-hashed-urls for details. (#1661) - Databases can now have a custom path within the Datasette instance that is indpendent of the database name, using the
db.route
property. (#1668) - URLs within Datasette now use a different encoding scheme for tables or databases that include "special" characters outside of the range of
a-zA-Z0-9_-
. This scheme is explained here: Tilde encoding. (#1657) - Table and row HTML pages now include a
<link rel="alternate" type="application/json+datasette" href="...">
element and return aLink: URL; rel="alternate"; type="application/json+datasette"
HTTP header pointing to the JSON version of those pages. (#1533) Access-Control-Expose-Headers: Link
is now added to the CORS headers, allowing remote JavaScript to access that header.- Canned queries are now shown at the top of the database page, directly below the SQL editor. Previously they were shown at the bottom, below the list of tables. (#1612)
- Datasette now has a default favicon. (#1603)
sqlite_stat
tables are now hidden by default. (#1587)- SpatiaLite tables
data_licenses
,KNN
andKNN2
are now hidden by default. (#1601) - Python 3.6 is no longer supported. (#1577)
- Tests now run against Python 3.11-dev. (#1621)
- Fixed bug where custom pages did not work on Windows. Thanks, Robert Christie. (#1545)
- SQL query tracing mechanism now works for queries executed in
asyncio
sub-tasks, such as those created byasyncio.gather()
. (#1576) - datasette.tracer mechanism is now documented.
- Common Datasette symbols can now be imported directly from the top-level
datasette
package, see Import shortcuts. Those symbols areResponse
,Forbidden
,NotFound
,hookimpl
,actor_matches_allow
. (#957) /-/versions
page now returns additional details for libraries used by SpatiaLite. (#1607)- Documentation now links to the Datasette Tutorials.
- Datasette will now also look for SpatiaLite in
/opt/homebrew
- thanks, Dan Peterson. (#1649) - Datasette is now covered by a Code of Conduct. (#1654)