Allow saving connections without a name by generating one in the format
`{DbType}_{random4chars}` (e.g. Neo4j_a3f2). Update placeholder text
to inform users about auto-generation.
Add full support for Highgo database, a PostgreSQL-compatible Chinese
domestic database. Includes database type definition, connection dialog,
agent driver mapping, and database icon.
Add list_objects support for agent-driven databases (Dameng, Oracle, etc.)
and ExternalDriver plugin connections. SQL Server dbo schema now uses
listObjects to display grouped object nodes including routines.
- Add list_objects RPC to JDBC agent plugin
- Add extract_agent and ExternalDriver branches in list_objects_core
- Add get_object_source support for agent connections
- Click function/procedure nodes to view source via object browser
- Fix duplicate tree node IDs when same name exists as view and function
On Windows, when both `bin/dbx-jdbc-plugin` (Unix shell script) and
`bin/dbx-jdbc-plugin.bat` exist, always prefer the .bat file instead of
only falling back when the original path doesn't exist.
GITHUB_TOKEN events don't trigger other workflows, so the release
promotion in promote-release never fired qq-notify.yml. Move the
notification inline as a dependent job.
MySQL 5.7 servers with older TLS versions (1.0/1.1) cause HandshakeFailure
when ssl-mode=preferred because the underlying TLS library requires 1.2+.
Now automatically retries with ssl-mode=disabled when handshake fails.
Closes#273
Oracle JDBC driver's Out-of-Band Break mechanism hangs on JDK 17+
due to stricter TCP Urgent Data handling. Disabling OOB resolves
connection timeouts with Oracle 19c.
Single-database types (DM8, Oracle) now use list_schemas instead of
list_databases when expanding a connection, matching Navicat/DataGrip
behavior and returning the complete schema list.
When a connection fails because the agent driver or JRE is not
installed, automatically open the Driver Manager page so users
can install it without navigating manually.
Add readonly flag to TableDataCapability and check it in
isTableDataEditable and canEditExistingTableRows to prevent
cell editing for databases like ClickHouse that don't support
row-level UPDATE/DELETE.
- test_connection now uses SELECT 1 instead of /ping which doesn't
require authentication, so wrong passwords are caught early
- Disable transaction support for ClickHouse (no BEGIN/COMMIT)
- Mark ClickHouse tables as non-insertable (no row-level operations)
- Track selectedTreeNodeId in connection store
- Highlight any clicked tree node with focused (blue) / unfocused (gray) styles
- Use CSS :focus-within for automatic focus state switching
When a user searches in the column filter dialog, non-visible options
retained their selected state, making it impossible to filter to just
the searched values. Now when a search query is active, only visible
checked items are included in the applied filter.
orderPinnedFirst preserves relative order but doesn't account for
saved-sql-root needing to stay first. After reordering pinned children,
move saved-sql-root back to index 0 if it was displaced.
Use popper positioning for connection Select to prevent item-aligned
mode from hiding the dropdown when few options exist. Align
DialogScrollContent padding with DialogContent (p-4) so DialogFooter
negative margins reach dialog edges correctly.
- Remove automatic release event trigger, keep workflow_dispatch only
- Run R2 upload and homebrew/scoop publish in parallel
- Add promote-release job to convert prerelease to release after all uploads complete