Repository navigation
✨ Added
- One AI permission model — built-in chat, Data Studio, and external MCP clients now share per-connection allow/deny decisions for read, create, update, delete, and structure/administration, with system defaults for whatever a connection inherits
- Recover from a blocked action without losing the conversation — blocked, rejected, and interrupted tool calls now say what stopped them, with Review permissions and Retry request actions
- Cheaper Inference is available as an AI provider (#532)
🔧 Changed
- Ask/Auto modes only control confirmation — neither mode grants a permission that the system default, the connection, or the conversation denies
- Per-connection AI permissions are an Ultimate feature, presented as access-level cards with explicit Use default options; the restriction is enforced in the backend, not just the UI
- Elasticsearch write checks now match what a request can touch — indexing with a generated ID needs create, indexing with an explicit ID also needs update, and scripted or bulk operations require every permission involved
🐛 Fixed
- Sign-in and plan state survive restarts — concurrent token rotations no longer replay a consumed token, which could sign the device out or drop Ultimate access after reopening the app
- Data Studio sources stay attached — sources saved without their connection binding were treated as detached after a reload and blocked AI tool calls with "Connection is no longer attached"
- AI permissions and source bindings persist across restarts instead of falling back to defaults
- Third-party provider presets are opt-in — a fresh install no longer pre-adds nine unusable provider cards or contacts vendor domains for keys that were never configured (#533)
- DynamoDB PartiQL errors stay at the top of the result pane, keep their formatting, wrap long diagnostics, scroll, and leave Close reachable (#531)
🔒 Security
- Upgrade DOMPurify to address a critical advisory reported by the dependency audit
Documentation
- MCP Toplist badge added to the READMEs (#530)
👥 Contributors
- aiapienthusiast (1 commit)
- blankll (15 commits)
- seven (3 commits)
📋 Full commit history
Changes from v2.0.0 to v2.0.1
- 8782620 release: v2.0.1 (blankll, 4 minutes ago)
- bb980a4 fix(auth): preserve sessions across app restarts (blankll, 2 hours ago)
- 926f33d fix: harden AI permission persistence and recovery (blankll, 2 hours ago)
- cba8e8c fix: persist Data Studio source connection bindings (blankll, 6 hours ago)
- 9fcced6 fix: unify AI permission controls and separate AI section from SSH tunnel (blankll, 16 hours ago)
- ef578b5 fix: preserve blocked agent outcomes and permission recovery (blankll, 19 hours ago)
- 40b3465 fix: restore consistent AI permission controls and gate per-connection editing (blankll, 2 days ago)
- b206d6d fix: upgrade DOMPurify to resolve critical audit failure (blankll, 2 days ago)
- 2b8aff0 chore: use data-studio-agent v0.2.0 release (blankll, 2 days ago)
- 6babcf1 fix: enforce AI confirmation rules and Elasticsearch permissions (blankll, 4 days ago)
- 196a8f9 chore: pin runtime with bounded confirmation renewals (blankll, 6 days ago)
- c9538b4 fix: enforce live AI permissions at application dispatch (blankll, 6 days ago)
- 9b18c0a refactor: own AI permission policy and enforcement in the application (blankll, 6 days ago)
- 5dd4e2c feat: unify AI permissions across connections and Data Studio (blankll, 6 days ago)
- f3c1998 docs: update WeChat official account QR code (blankll, 4 days ago)
- e703344 fix(llm): make third-party provider presets opt-in (#533) (seven, 6 days ago)
- d167d3c fix(dynamo): improve query error rendering and layout (#531) (seven, 6 days ago)
- de4213f feat: add Cheaper Inference as an AI provider (#532) (aiapienthusiast, 7 days ago)
- cf73dae docs: add MCP Toplist badge to READMEs (#530) (seven, 8 days ago)
📦 Downloads
See the assets below to download this version and install for your platform:
- macOS: Apple Silicon & Intel
- Windows: x64 installer
- Linux: AppImage / deb