sqlite-utils 4.2.1 fixes a crashing bug caused by an unlisted typing-extensions dependency, and adds a smoke test to verify CLI works without dev dependencies.
# Release: sqlite-utils 4.2.1
Source: [https://simonwillison.net/2026/Aug/13/sqlite-utils-2/](https://simonwillison.net/2026/Aug/13/sqlite-utils-2/)
Fixes a crashing bug in[sqlite\-utils 4\.2](https://simonwillison.net/2026/Aug/13/sqlite-utils/)\. I'd introduced code that looks like this:
```
from typing_extensions import Self
```
It turned out the[typing\-extensions](https://pypi.org/project/typing-extensions/)package was not listed as a dependency for`sqlite\-utils`\- it was installed by one of the other dependencies in the[dev dependency group](https://github.com/simonw/sqlite-utils/blob/56dd09702fdb9e899f577ffd51693c1f2176cb08/pyproject.toml#L34-L55), but when you`uvx sqlite\-utils`directly you don't get those dependencies\.
As part of fixing this I figured out how to run a smoke test to ensure the CLI tool still works even without those dev dependencies, which can be run from the project checkout:
```
uv run --isolated --no-default-groups sqlite-utils --help
```
The`\-\-no\-default\-groups`argument prevents it from installing that default`dev`group, and`\-\-isolated`means that even if there is a`\.venv/`folder containing extra dependencies they will be ignored for the duration of that`uv run`command\.
sqlite-utils 4.1.1 fixes a TransactionError edge case when transforming tables with foreign keys and improves documentation cross-references between CLI and Python API.
sqlite-utils 4.1 introduces minor features including --code for Python code blocks, --type for column type overrides, and strict mode support, continuing its evolution as a SQLite CLI utility.
sqlite-utils 4.2 improves the transform() feature with support for complex schema definitions, new introspection properties, and other smaller changes, with contributions from multiple developers.