AI Quick Take
- Repairs a parameter-name compatibility bug in execute_write_fn callbacks introduced in 1.0a27.
- Adds datasette.close, tightens database.
Datasette 1.0a28 is out with targeted fixes for breakages introduced in the previous alpha. The release patches a compatibility bug in execute_write_fn() callbacks, changes database shutdown behavior, and adds automated cleanup for temporary Datasette instances used in tests.
The update repairs a regression where callbacks that named their connection parameter something other than conn were failing under 1.0a27. To make teardown safer, database.close() now also shuts down the database's write connection and a new datasette.close() method will close all databases and resources tied to a Datasette instance; that method is invoked automatically when the server shuts down. The release also bundles a pytest plugin that calls datasette.close() for temporary instances in function-scoped fixtures, addressing file-descriptor exhaustion seen in older plugin test suites.
Many of the edits in 1.0a28 were implemented using Claude Code and Claude Opus 4.7. Practically, projects running Datasette-especially Datasette Cloud and test suites that create temporary databases-should upgrade to avoid the documented callback errors and to gain more reliable cleanup behavior. Monitor plugin compatibility and any downstream fixes that adopt the new close() semantics.