v2.9.0
Features
- OAuth 2.1 for MCP — Authorization Code with PKCE, stateless Bearer auth, token revocation (RFC 7009), long-lived MCP tokens (30d access / 90d refresh), daily expired token cleanup (#396, #397, #399, #401)
- MCP tools expansion —
search_rowsfull-text search across all tables (#392, #393, #395), branch/revision/project management tools,count_rows,get_row_foreign_keys_by(#391), improved prompts and docs (#388, #389, #390) - Keyset pagination — cursor-based pagination for rows with JSON-field sorting support (#407)
- CTE JSON filter — CTE-based query path for JSON filters to avoid sequential scans (#409)
- Pinned column — support for pinned columns in views (#403)
Fixes
- Auth checks for MCP
create_projectandget_draft_revision(#408) getRowsequality and IN filters (#406)- Pagination tiebreaker with
versionId(#405) - Draft revision preserves draft-only tables (#404)
- View validation for system fields (#410)
- Test stability and MCP version reporting (#398)
Chores
What's Changed
- feat: mcp updates by @anton62k in #388
- fix: mcp prompts by @anton62k in #389
- fix: row tools by @anton62k in #390
- feat: mcp-tools p0-p1 by @anton62k in #391
- feat: mcp search-rows by @anton62k in #392
- feat: mcp search-rows by @anton62k in #393
- refactor: tests by @anton62k in #394
- feat: mcp search-rows by @anton62k in #395
- feat: oauth mcp stateless by @anton62k in #396
- feat: oauth token revocation by @anton62k in #397
- fix: test stability and mcp version by @anton62k in #398
- feat: mcp long lived tokens by @anton62k in #399
- chore: squash oauth migrations by @anton62k in #400
- feat: oauth token cleanup by @anton62k in #401
- chore: comment by @anton62k in #402
- feat: pinned column by @anton62k in #403
- fix: draft revision preserve draft only tables by @anton62k in #404
- fix: pagination tiebreaker by @anton62k in #405
- fix: get rows by @anton62k in #406
- feat: keyset pagination by @anton62k in #407
- fix: add missing auth checks for MCP create_project and get_draft_revision by @anton62k in #408
- feat: cte json filter by @anton62k in #409
- fix: view validation by @anton62k in #410
- chore: v2.9.0 by @anton62k in #411
Full Changelog: v2.8.0...v2.9.0