t8y2
c9b3292a2e
fix: resolve Vue warnings, silent PubSub auto-connect, remove 30 meaningless tests
2026-06-15 02:27:07 +08:00
John Jin
1afc271c18
feat: add QuestDB support
...
Thanks @ptma!
2026-06-14 22:58:05 +08:00
t8y2
7b2156446c
fix(mongodb): use tls param for form connections
2026-06-14 16:06:37 +08:00
Vergil Lai
f385386284
feat(manticore): add Manticore Search support
...
Add Manticore Search table data editing, structure editing, metadata handling, and SQL completion support.
2026-06-14 16:01:02 +08:00
SuLea-IT
97192297eb
feat(query): add switchable query result runs and archives
...
* docs: design query result run tabs
* feat(query): add result run model helpers
* feat(query): persist result run metadata
* feat(query): record switchable result runs
* feat(query): sync active result run state
* feat(query): cache result run payloads
* feat(query): render result run tabs
* docs: design query result archives
* feat(query): add result archive codec
* feat(query): restore result archives
* feat(query): add result archive actions
* fix(query): toggle execution summary view
* fix(query): avoid archive compression backpressure
* feat(query): remove result runs
* chore: remove local spec docs from pr
2026-06-14 10:30:50 +08:00
t8y2
cbc7f9b0db
fix(gbase): support 8a and 8s profiles
2026-06-14 10:16:24 +08:00
t8y2
213162aad3
fix(mcp): support DBX_DATA_DIR env for portable mode
2026-06-13 20:45:58 +08:00
Vergil Lai
799d20a2cf
添加 Manticore Search 支持 ( #1145 )
...
* 添加 Manticore Search 支持
* 更新 Manticore Search 文档
2026-06-13 20:23:36 +08:00
github-actions[bot]
34dd18d46d
chore(packages): release 0.4.9 [skip node-packages-release]
2026-06-13 10:28:27 +00:00
t8y2
2ec8ed1523
feat(sidebar): locate query table from cursor
2026-06-13 12:45:00 +08:00
t8y2
71b61867e9
test: align aiPrompt assertions and drop low-value visual tests
2026-06-13 08:50:38 +08:00
二丫讲梵
6f804266fc
feat(sidebar): remap connection IDs in imported sidebar layouts
...
Thanks @eryajf for the contribution! Close #1121
2026-06-12 22:41:42 +08:00
t8y2
81728faec3
fix(test): update AI prompt eval patterns to match current agent prompt
2026-06-12 20:37:09 +08:00
t8y2
fa4dbb9104
feat(completion): cache foreign key metadata
2026-06-12 19:27:16 +08:00
t8y2
60632ccfe3
feat(completion): expand sql semantic completion
2026-06-12 19:15:46 +08:00
t8y2
d0a009751a
feat(completion): improve sql completion ranking
2026-06-12 18:52:34 +08:00
t8y2
6570e88e4a
feat(completion): rank table acronym matches
2026-06-12 18:38:56 +08:00
t8y2
3322209578
fix(saved-sql): dedupe concurrent folder creates
2026-06-12 17:04:36 +08:00
t8y2
edf9dd88e3
feat(agent): unify oracle driver
2026-06-12 16:34:42 +08:00
t8y2
4f71bcbff8
fix(connection): extend agent connect timeout
2026-06-12 01:12:06 +08:00
t8y2
3640541222
fix(ci): update nested layout and grid tests
2026-06-11 22:55:24 +08:00
t8y2
c9d655324d
fix(editor): preserve IME composition in comments
2026-06-11 22:55:16 +08:00
t8y2
a017e04d4c
feat(structure): auto name new indexes
2026-06-11 22:40:10 +08:00
t8y2
57d03c2f08
feat(sidebar): support nested groups
2026-06-11 22:35:00 +08:00
t8y2
c7fb855000
fix(jdbc): simplify driver selection and table edits
2026-06-11 22:13:27 +08:00
t8y2
7923f4915e
fix(elasticsearch): apply document filters in browser
2026-06-11 18:56:38 +08:00
SuLea-IT
89aa315a2d
Merge pull request #1037
...
Thanks!
2026-06-11 11:12:05 +08:00
SuLea-IT
806d7c758b
feat: add SQL library history query entry points
2026-06-11 10:53:54 +08:00
SuLea-IT
634e26e8e7
Merge PR #1024
2026-06-11 10:47:42 +08:00
haipengno1
6265571182
feat(ssh): add ssh-agent authentication support ( #1023 )
...
Thanks for adding ssh-agent support, this is a great addition!
2026-06-11 00:39:30 +08:00
t8y2
9793dc94b7
feat(driver): centralize database capabilities
2026-06-10 22:12:44 +08:00
t8y2
7a0f89d3ad
fix(jdbc): use schema tree for inferred db2
2026-06-10 18:19:53 +08:00
t8y2
d353d4673f
feat(redis): add configurable key namespace separator
2026-06-10 17:46:48 +08:00
t8y2
16e404854a
fix: add influxdb to connection type description
2026-06-10 17:01:07 +08:00
t8y2
ca1d420d91
feat(grid): add enum column select editor for MySQL
2026-06-10 16:39:24 +08:00
t8y2
8a458f1432
fix: add InfluxDB to agent catalog and bridge types
2026-06-10 14:46:08 +08:00
t8y2
c13efc65f8
fix(connect): support informix-sqli JDBC URL parsing
2026-06-10 14:26:50 +08:00
github-actions[bot]
6152b01ea8
chore(packages): release 0.4.8 [skip node-packages-release]
2026-06-10 05:57:23 +00:00
t8y2
59d2dd7c87
feat: add Homebrew formula for dbx-cli
2026-06-10 13:55:33 +08:00
t8y2
8df9484447
feat(ai): support auth methods
2026-06-10 12:14:36 +08:00
t8y2
bfec556e9b
feat(readonly): add read-only mode for all database connections
...
- Add read_only field to ConnectionConfig with backward-compatible serde defaults
- SQL classifier with first-keyword + embedded keyword defense layers
- PRAGMA white-listing for safe read-only operations
- Guard all write entry points: SQL, Mongo, Redis, etcd, MCP Bridge
- 16 unit tests covering edge cases (CTE, case insensitivity, string masking)
- 7-language i18n support
- Fast-fail at command/route level before pool creation
Closes #889
2026-06-10 11:58:18 +08:00
runstone
a440415e86
feat(readonly): add read-only mode for all database connections
...
## Background
Add a read-only toggle for database connections that blocks all write
operations (INSERT, UPDATE, DELETE, DROP, etc.) when enabled, allowing
only read queries (SELECT, SHOW, EXPLAIN, etc.). Closes #889 .
## Changes
### Data Model
- Added `read_only: bool` field to ConnectionConfig (Rust struct, TS
interfaces, and ConnectionConfigData deserialization layer)
- Used `#[serde(default, skip_serializing_if = "is_false")]` for
backward/forward compatibility with existing configs
### Frontend UI
- Added "Read Only" checkbox in connection dialog
- 7-language i18n support (en/es/it/pt-BR/zh-CN/zh-TW)
### SQL Classification (query_execution_sql.rs)
- Added `is_write_sql()` with two-layer defense:
- Layer 1: First-keyword check (must start with known read keyword)
- Layer 2: Embedded dangerous keyword detection (catches CTE-wrapped
writes like `WITH ... AS (DELETE FROM ...)`)
- `FROM` keyword supported as DuckDB SELECT-less syntax indicator
- Added `check_read_only()` returning descriptive error with connection name
- Added 16 unit tests covering: pure reads/writes, CTE, case insensitivity,
string literal masking, comment stripping, stored procedure calls, edge cases
### SQL Execution Guards (query.rs / transfer.rs)
- Added `check_read_only_for_connection()` and `_multi()` helper functions
with lazy name clone (only allocates when read_only is true)
- 6 interception points: `do_execute`, MySQL batch, SQL Server batch,
DuckDB batch, transaction execution, transfer execution
### Non-SQL Write Guards — Tauri Commands
- Added `ensure_connection_writable()` helper (connection.rs)
- Mongo: 6 write entry points (insert/update/delete, single + batch)
- Redis: 15 write entry points (SET, DEL, HSET, HDEL, LPUSH, LSET, LREM,
SADD, SREM, ZADD, ZREM, EXPIRE, FLUSHDB, delete_keys, execute_command)
- execute_command uses RedisCommandSafety classification to allow
safe read commands through raw command interface
- etcd: 2 write entry points (put, delete)
- sql_file: SQL file execution guarded
- MCP Bridge: 4 write entry points (Insert/Update/Delete/SQL query)
### Non-SQL Write Guards — Web API
- Local `ensure_writable()` helper in each route module
- Redis: 12 write endpoints including classified execute_command
- Mongo: 6 write endpoints
- etcd: 2 write endpoints
- sql_file, table_import, transfer: early rejection
### Test Updates
- Updated ConnectionConfig construction in 7 test files with
`read_only: false` initialization
## Defense-in-Depth
- Layer 1: Command/Route-level early rejection (saves resources)
- Layer 2: Core SQL classifier (`is_write_sql` — first keyword + embedded scan)
- Layer 3: Core execution-time interception (do_execute/transfer/transaction)
2026-06-10 10:58:52 +08:00
t8y2
3a52d961fc
fix(completion): avoid table fallback for aliases
2026-06-10 10:51:41 +08:00
t8y2
edba8214b5
feat: show username/password fields for Access database connections
2026-06-10 08:37:18 +08:00
t8y2
2e021d37d1
fix(ci): add etcd to MCP type description, skip turso tests when unreachable
2026-06-10 04:52:35 +08:00
t8y2
1be4c6afcc
fix: resolve clippy, typecheck, and test failures in CI ( #933 )
2026-06-10 04:40:23 +08:00
二丫讲梵
41758e6bb1
✨ feat(connection): 增加可见数据库选择功能 ( #944 )
...
感谢 @eryajf 的贡献!此功能允许用户在创建或编辑连接时选择可见的数据库,支持多种数据库类型。
2026-06-09 20:56:39 +08:00
t8y2
9278630fd2
fix(desktop): stabilize tab overflow scrolling
2026-06-09 18:58:06 +08:00
t8y2
6a14b11efc
fix(mongodb): skip SQL semantic diagnostics for MongoDB connections
...
MongoDB shell syntax like db.collection.find({}) was incorrectly
parsed as SQL, causing a "sql parser error" diagnostic in the editor.
Added MongoDB guards in shouldRunSqlSemanticDiagnostics and
refreshSemanticDiagnostics, matching existing Elasticsearch logic.
Also fix a pre-existing TiDB cloud URL param ordering test failure.
2026-06-09 16:20:50 +08:00
Holata Seminole
70dad4e00b
fix(mysql): require TLS for TiDB Cloud connections ( #911 )
...
Thanks!
2026-06-09 12:06:38 +08:00