datasette 1.0a28

Simon Willison's Blog Tools

Summary

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.

No content available
Original Article Export to Word Export to PDF
View Cached Full Text

Cached at: 04/20/26, 08:27 AM

# 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.

Similar Articles

datasette 1.0a27

Simon Willison's Blog

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-export-database 0.3a1

Simon Willison's Blog

datasette-export-database version 0.3a1 released, providing database export functionality as part of the Datasette ecosystem.

datasette-llm 0.1a7

Simon Willison's Blog

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

Simon Willison's Blog

datasette-ports 0.3 released with improvements to show working directories and full paths to database files for running Datasette instances on a machine.

datasette.io news preview

Simon Willison's Blog

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.