pypi datasette 1.0a37

3 hours ago

Performance improvement for SQL-backed permission checks, plus an improved permission debugging interface.

  • SQL used to resolve permission checks now aggregates permission rules before joining them to resources, improving performance on instances with large schemas. (#2832)
  • The Permission check view permission debugger now explains why a decision was allowed or denied, including the matching rules. The interactive form can also test a hypothetical actor supplied as JSON, and the permissions documentation now describes resolution rules in more detail. (#2841)
  • db.execute_write(sql, ..., transaction=True) has a new transaction= parameter, which can be set to False for statements such as VACUUM that cannot run inside a transaction. Write tasks now start their transactions using BEGIN IMMEDIATE, which also ensures that writes are rolled back if the task fails. (#2831)
  • Refreshing a database's schema in Datasette's internal catalog is now performed as a single atomic operation. (#2831)
  • Fixed schema introspection, table pages, facets and table counts for tables with names containing a ] character. Thanks, TowyTowy. (#2431, #2846)
  • /-/plugins.json once again returns a top-level JSON array of plugin objects, reverting the object envelope introduced in 1.0a36. This should fix a large number of trivial test failures in existing plugins. (#2842, #2843)

Don't miss a new datasette release

NewReleases is sending notifications on new releases.