Datasette 1.0a28 alpha release fixes compatibility bugs and resource management issues discovered in the previous alpha, including fixes for execute_write_fn() callbacks, database cleanup methods, and a new pytest plugin for automatic cleanup in tests.
# Release: datasette 1.0a28
Source: https://simonwillison.net/2026/Apr/17/datasette/
[Datasette 1.0a28](https://github.com/simonw/datasette/releases/tag/1.0a28) — An open source multi-tool for exploring and publishing data
I was upgrading Datasette Cloud to [1.0a27](https://simonwillison.net/2026/Apr/15/datasette/) and discovered a nasty collection of accidental breakages caused by changes in that alpha. This new alpha addresses those directly:
> - Fixed a compatibility bug introduced in 1.0a27 where `execute_write_fn()` callbacks with a parameter name other than `conn` were seeing errors. ([#2691](https://github.com/simonw/datasette/issues/2691))
> - The [database.close()](https://docs.datasette.io/en/latest/internals.html#database-close) method now also shuts down the write connection for that database.
> - New [datasette.close()](https://docs.datasette.io/en/latest/internals.html#datasette-close) method for closing down all databases and resources associated with a Datasette instance. This is called automatically when the server shuts down. ([#2693](https://github.com/simonw/datasette/pull/2693))
> - Datasette now includes a pytest plugin which automatically calls `datasette.close()` on temporary instances created in function-scoped fixtures and during tests. See [Automatic cleanup of Datasette instances](https://docs.datasette.io/en/latest/testing_plugins.html#testing-plugins-autoclose) for details. This helps avoid running out of file descriptors in plugin test suites that were written before the `Database(is_temp_disk=True)` feature introduced in Datasette 1.0a27. ([#2692](https://github.com/simonw/datasette/issues/2692))
Most of the changes in this release were implemented using Claude Code and the newly released Claude Opus 4.7.
Datasette 1.0a27 released with major security improvements (modern CSRF headers), new RenameTableEvent for plugin compatibility, and various API enhancements including improved upsert handling and database locking fixes.
Datasette-llm 0.1a7 is a new alpha release of a plugin that provides LLM integration for Datasette, enabling plugins to configure default options for specific models.
datasette-ports 0.3 released with improvements to show working directories and full paths to database files for running Datasette instances on a machine.
A web-based preview tool for datasette.io news entries that validates YAML format, checks markdown syntax, and provides real-time rendering of news entries. Built with Claude AI to reduce friction in editing the site's news.yaml file.