Skip to content

datasette>=1.0a20#103

Merged
simonw merged 2 commits intomainfrom
datasette-alpha-20-plus
Apr 8, 2026
Merged

datasette>=1.0a20#103
simonw merged 2 commits intomainfrom
datasette-alpha-20-plus

Conversation

@simonw
Copy link
Copy Markdown
Owner

@simonw simonw commented Apr 8, 2026

@simonw
Copy link
Copy Markdown
Owner Author

simonw commented Apr 8, 2026

Release notes suggested by Claude Code:


datasette-graphql - Datasette 1.x compatibility

This release upgrades datasette-graphql to work with Datasette 1.x (requires >=1.0a20). It is no longer compatible with Datasette 0.x.

Changes

  • Switched from the deprecated datasette.permission_allowed() API to datasette.allowed() with DatabaseResource for permission checks.
  • Switched from datasette.table_metadata() to datasette.table_config() for reading table configuration (e.g. fts_table).
  • Internal API calls now request _extra=columns,count to get row counts and column information from the Datasette 1.x JSON API.
  • Rows returned by the Datasette JSON API are now handled as dictionaries (the new default format), with a fallback for the legacy array format.
  • Fixed a bug where totalCount returned null instead of 0 for empty result sets. The previous code used parent.get("count") or parent.get("filtered_table_rows_count") which treated 0 as falsy.

Breaking changes

  • Requires Datasette 1.0a20 or higher. Datasette 0.x is no longer supported.
  • Tables with names starting with _ are no longer exposed in the GraphQL schema. Datasette 1.x treats these as hidden tables.

@simonw simonw merged commit 90d11fc into main Apr 8, 2026
5 checks passed
@simonw
Copy link
Copy Markdown
Owner Author

simonw commented Apr 8, 2026

Just realized that there's a 3.0a0 release I made from a branch, I've merged my new changes to main now, here's Claude's draft of release notes compared to 3.0a0:


3.0a1

Continuation of the Datasette 1.x upgrade started in 3.0a0. Now requires datasette>=1.0a20.

  • Permission checks now use the datasette.allowed() API with DatabaseResource, replacing the removed datasette.permission_allowed() method.
  • Table configuration lookups now use datasette.table_config(), replacing the removed datasette.table_metadata() method.
  • Removed backwards-compatibility code for Datasette 0.x JSON API: rows are always dicts in 1.x (no more dict(zip(columns, row))), and totalCount reads from the count key (not filtered_table_rows_count).
  • Internal API requests now pass _extra=columns,count to get column and count data from the Datasette 1.x JSON API.

@simonw
Copy link
Copy Markdown
Owner Author

simonw commented Apr 8, 2026

Those are good enough, I'm going to ship those.

simonw added a commit that referenced this pull request Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant