Four releases shipped in three days. One of them is a utility that nearly didn't exist.
*A tool that detects credential leaks now redacts them in place — no copy-paste required.*
Finding secrets hiding in your code is only half the battle; the other half is actually removing them without mangling the escaping. @simonw's scan-for-secrets v0.2 and v0.3 (released within hours of each other on April 5–6) solved the harder problem: streaming results as they're found, then redacting matches in place while respecting escape sequences like JSON, shell, and repr. The CLI now accepts multiple directories and individual files, and exposes a Python API for both iterator and non-iterator workflows. The real win: you can now run scan-for-secrets -r, eyeball the matches it found, confirm them, and have it replace every one with REDACTED — all in one pass. No manual find-and-replace, no risk of leaving a credential half-escaped.
*A tool that lists running Datasette instances now works standalone — no Datasette installation required.*
v0.2 flips the plugin architecture: datasette-ports still works as a Datasette plugin (giving you datasette ports), but now you can also run it naked via uvx datasette-ports without any Datasette dependency at all. Useful if you're just trying to audit what's running on a box and don't want to drag in the whole framework. Tiny but elegant unbundling.
*Event-stream responses now bypass gzip — because framing and chunking don't play well together.*
Compressing a text/event-stream response is a footgun: the client expects Server-Sent Events to arrive as discrete frames, but gzip buffers data for compression efficiency, delaying or coalescing events. @simonw's v0.3 adds a content-type check to skip compression on text/event-stream entirely. datasette-gzip v0.3 follows immediately with a dependency bump to pick up the fix. It's a small exemption with outsized importance for real-time applications.
*Plugin bumped for compatibility with the latest Datasette alpha.*
v3.0a1 updates datasette-graphql to work with Datasette 1.0a20, catching up on API changes without losing ground. No user-facing feature work, but necessary housekeeping for the alpha track.
*v0.10a0 updates the Atom output plugin for Datasette 1.0 alphas.*
datasette-atom v0.10a0 is the Atom feed plugin's answer to the Datasette 1.0 alpha: it builds, it works, it ships. Straightforward compatibility bump.
*The full-text search indexer updates for Datasette 1.0 alphas.*
v0.11 brings dogsheep-beta into the Datasette 1.0 alpha fold. The faceted search tool still works as expected; it's just ready for the next major version.
| dogsheep-beta |
|
200 |
| datasette.io |
|
132 |
| datasette-graphql |
|
109 |
| scan-for-secrets |
|
86 |
| research-llm-apis |
|
24 |
| datasette-atom |
|
14 |
| asgi-gzip |
|
12 |
| datasette-gzip |
|
9 |
| datasette-ports |
|
4 |
| datasette-turnstile |
|
2 |
Your GitHub week, turned into something worth reading.
Generate your dispatch →