Simon Willison
9cdf95ac2c
Show correct query timings, closes #2446
2026-09-16 21:23:54 -07:00
Simon Willison
ffd3b8cada
Refactor internal docs to add Background tasks section
...
Previously information about background tasks was mixed in with
method descriptions for the Datasette class.
2026-09-16 17:47:23 -07:00
Simon Willison
b661889b62
Adjust headings so Request object has three sub-headings
2026-09-16 17:46:16 -07:00
Simon Willison
1dbbacedda
Add intro sentence to 1.0a40 release notes
2026-09-16 16:55:01 -07:00
Simon Willison
2eb2571fee
Release 1.0a40
...
1.0a40
Refs #1681 , #1695 , #1861 , #2005 , #2129 , #2639 , #2876 , #2902 , #2903 , #2914 , #2924 , #2925 , GHSA-h547-rmjf-5m2m
2026-09-16 16:46:51 -07:00
Simon Willison
caf238aac8
Fix for GHSA-h547-rmjf-5m2m
2026-09-16 16:43:34 -07:00
Simon Willison
c7e9c52e5b
pytest skip tests in ignored/ folder
...
This is where Codex has a bunch of worktrees.
2026-09-16 16:22:48 -07:00
Simon Willison
d2098e9f84
Fix facet selection for explicit exact filters
...
`colname__exact=value` is now treated the same as `colname=value` when determining which facets are selected.
Closes #1695
2026-09-16 14:56:09 -07:00
Simon Willison
266eaddb73
Fix remaining pytest warnings ( #2928 )
...
- Close in-memory database connections, including reads opened on threads
- Close completed and partial file upload file handles
- Close SQLite connections and file handles owned by tests
2026-09-16 14:50:06 -07:00
Simon Willison
926c6ed2cb
Allow write wrappers to roll back alter-table operations
...
Merge pull request #2925
2026-09-16 14:43:18 -07:00
Simon Willison
0d0bb5dd8c
Merge branch 'main' into codex/test-write-wrapper-alter-rollback
2026-09-16 14:42:20 -07:00
Simon Willison
61fd3461c9
Docs showing how to use db.atomic(), refs #2871
2026-09-16 14:41:29 -07:00
Simon Willison
6c119323d0
Keep alter-table changes rollbackable by write wrappers
2026-09-16 14:40:50 -07:00
Simon Willison
6dd5297b34
Allow extra_template_vars to resolve to None
...
Closes #2005
2026-09-16 10:30:11 -07:00
Simon Willison
df4c0fde0f
Make request header lookups case-insensitive
...
Closes #1861
2026-09-16 10:27:35 -07:00
Simon Willison
faff4c8820
Return CSV errors as plain text, closes #2129
2026-09-15 15:53:10 -07:00
Alex Garcia
4bf30aaf8e
Use $DATASETTE_INTERNAL in absence of --internal ( #2174 )
2026-09-15 15:39:39 -07:00
Simon Willison
27b7240f30
Fix for render_cell() pks for SQL views, refs #2639
2026-09-15 15:30:51 -07:00
Simon Willison
7c8ed1015e
Changelog for #1681 , #2876
2026-09-15 13:35:51 -07:00
Rami Abdelrazzaq
82ed8d47f9
Fix float coercion for numeric filter parameters ( #2876 )
...
Closes #1681
2026-09-15 13:14:29 -07:00
Simon Willison
f40d838429
Changelog entry for #2902 and #2903
2026-09-15 12:58:41 -07:00
AnkitaAdvitot
920adc6880
Fix infinite loop when streaming CSV on SQL views, fixes #2902 ( #2903 )
...
When streaming a view as CSV with ?_stream=on, _next was being
re-read from request.args, overwriting the kwarg passed by the
streaming loop with None. This caused the pagination offset to stay
stuck on page 1 forever.
2026-09-15 12:57:09 -07:00
Simon Willison
ea3edcc1b9
How to use crumbs for plugin authors, closes #1902
2026-09-15 12:53:02 -07:00
nightcityblade
4fe985945d
Document customizing breadcrumbs ( #2885 )
...
Refs #1902
2026-09-15 12:45:01 -07:00
Melbin J Paulose
a1b73f830b
README: minimum Python is 3.10, not 3.8 ( #2878 )
2026-09-15 12:38:41 -07:00
Simon Willison
ee5b5728bc
Fix some broken links in docs
...
Refs #2912
2026-09-15 12:31:55 -07:00
Simon Willison
b09976b924
Tests for table count endpoint, refs #2914
...
Forgot to include these tests in commit 1538832830
2026-09-15 12:21:36 -07:00
Simon Willison
5827feff74
Fix old broken link in Changelog
...
Refs #2912
2026-09-15 12:20:47 -07:00
Simon Willison
32845d88d5
Deploy canned queries to latest.datasette.io again with workaround for #2916
...
Should fix some broken links reported in #2912
2026-09-15 12:12:22 -07:00
Aurora
d60d88488f
docs: fix dead Starlette, Uvicorn and Docker Hub links ( #2912 )
...
www.starlette.io and www.uvicorn.org no longer resolve (NXDOMAIN); both
projects now publish their documentation at starlette.dev and uvicorn.dev
respectively. The Docker Hub link was missing the /r/ path segment, which
returns a 404.
- docs/plugin_hooks.rst: www.starlette.io/middleware/ -> starlette.dev/middleware/
- docs/changelog.rst (x3): www.uvicorn.org/ -> uvicorn.dev/
- docs/changelog.rst: hub.docker.com/datasetteproject/... -> hub.docker.com/r/datasetteproject/...
All four replacement URLs verified to return HTTP 200.
2026-09-15 11:57:39 -07:00
Alex Garcia
374b194ff5
Add /-/tasks introspection endpoint for supervised background tasks ( #2892 )
...
Co-authored-by: Simon Willison <swillison@gmail.com>
2026-09-15 11:56:53 -07:00
Alex Garcia
784695aea6
Ensure startup() runs before any plugin ASGI middleware ( #2891 )
2026-09-15 11:22:45 -07:00
Alex Garcia
cca08d2886
Add shutdown() plugin hook with ordered graceful teardown ( #2890 )
2026-09-15 11:09:57 -07:00
Alex Garcia
0c31778580
Add datasette.add_background_task() with supervised launch after startup ( #2889 )
2026-09-15 10:55:54 -07:00
Simon Willison
b0407867cc
Tweak display of count all button, refs #2914
2026-09-15 10:16:16 -07:00
Simon Willison
1538832830
/db/table/-/count? endpoint, fixed 'count all' button
...
Closes #2914
2026-09-15 10:03:17 -07:00
Alex Garcia
063eeae83d
Slim down CI runs per commit ( #2911 )
...
- Only run push-triggered workflows on main; PRs are covered by
pull_request, so branch commits no longer run everything twice
- Test SQLite versions: single job, Python 3.13 + SQLite 3.25
- Fold coverage into the Python 3.14 test job (including serial
tests) and remove test-coverage.yml; bump codecov-action to v5
- Cancel superseded in-progress runs on pull requests
- Prettier now also runs on pull requests
Claude-Session: https://claude.ai/code/session_012G7fa8HqJy9AkSjkocetAz
2026-09-15 08:51:24 -07:00
Simon Willison
b338c6f5f6
Migrate from httpx to httpx2, closes #2879
...
https://claude.ai/code/session_01Xdqoneq8ddvruVZETo6rFf
2026-09-10 19:44:49 -07:00
Simon Willison
61400fba1a
Fix Docker release builds on main with Bookworm base image
...
Apply the Dockerfile fix from 0.65.x to avoid expired Bullseye security repository metadata.
Original fix: 91fa786de9
2026-09-10 18:52:19 -07:00
Simon Willison
186be52863
Publish stable and latest documentation databases to S3
2026-09-10 18:29:54 -07:00
Simon Willison
36acd1ea92
Publish packages when releases are published
1.0a39
2026-09-10 16:53:13 -07:00
Simon Willison
5e7cdaabbd
Release 1.0a39
2026-09-10 16:52:52 -07:00
Simon Willison
92c7d4b608
Limit derived-table permissions to one source hop
...
Simplify the solution to 5de0c1724e - avoid contextvar.
2026-09-10 16:52:52 -07:00
Simon Willison
f70edbfa60
Filter incoming foreign-key relationships by view permission
2026-09-10 16:52:52 -07:00
Simon Willison
b97bb5f016
Reconcile write-timeout regression with the per-call limit
2026-09-10 16:52:26 -07:00
Simon Willison
e036907fc3
Reject structured row writes to virtual and shadow tables
2026-09-10 16:52:25 -07:00
Simon Willison
3f8d8417f6
Inherit source permissions for FTS vocabulary tables
2026-09-10 16:52:25 -07:00
Simon Willison
d334539a1e
Deny SQLite statistics table access through a default hook
2026-09-10 16:52:25 -07:00
Simon Willison
628cec8f0c
Block framing of stored-query mutation forms
2026-09-09 08:39:03 -07:00
Simon Willison
506c4bb522
Match table permission identities using SQLite case semantics
2026-09-09 08:39:03 -07:00