tabularis
/changelog

Every release, documented. Source of truth is CHANGELOG.md on GitHub.

Major

v0.23.0

View diff
Bug Fixes
  • add missing deprecated-driver translations and drop a leftover placeholder0bdbae1
  • bugs found in manual dev-mode verification of Chunks 3-48c1745b
  • bulk migration loses history records to a stale closure4a5626d
  • checklist rows vanish mid-run and the footer goes stale01c41ae
  • correct connection-string capability check, default URI rows unchecked, add repo-URL fallback3339024
  • derive postgres/postgresql references in Connections.tsx from the hook, not hardcoded strings1c6035e
  • derive the migration checklist's default selection once data has loaded16a3c75
  • dumpescape JSON columns and backslashes per dialect05df3f9
  • editorkeep typed characters after a backward selection on WebKitf8f4d68
  • editorstop the debounced query flush from dropping keystrokesfabea7f
  • give the bulk checklist feedback during a long connection test7ae9186
  • migrateConnection/undoMigration never reject on unexpected errorsc2c8b86
  • misattribute a pre-existing connectivity failure to the plugin2c1e6c8
  • postgresmake pool size configurable38aac16
  • preserve unknown connection fields19a4f5e
  • rank tables first and tighten search in the quick navigatore67e23b
  • read the migration banner's removal date from the manifest, not a hardcoded string4cc2acf
  • reconnect after migrating/undoing a connection that was open5ea965c
  • scope the quick navigator to the selected schemas68b5e57
  • seed active_external_drivers from installed plugins before force-installaad99c7
  • show the migration outcome toast at the resolve site, not via a lastOutcome effect58fa17f
  • sync frontend state when the background force-install activates a plugin3583832
  • testbind storage globals to the jsdom environmentffb26b1
  • translate the new pre-existing-failure and checklist-progress copybf01c05
  • undoMigration reads stale connection state from the toast's closure4e849f9
Features
  • card migration button, pre-migration confirm, and Chunk 5 issue link72f4dfc
  • custom storage location for connections and app data81484b8
  • explainadd parser registryf64db40
  • explainrender XML raw plans and cover loader cancellation6159ac7
  • migration checklist modal, banner-link fix, commit-prefix correction8fef147
  • migration hook, banner, and connectivity gatee552cad
  • open, edit and save SQL files in editor tabsfba877c
  • per-connection switch action, deprecated badges, catalogue ordering7f916c4
  • pluginsenforce min_runtime_version at install and load timeac87e73
  • pluginslet development builds bypass min_runtime_version with a warning toast7cb24f3
  • pluginsload explain parser bundlesba0463d
  • pluginssupport raw explain output5f0fa21
  • Rust backend foundation for builtin-to-plugin driver migrationec30d3a
  • TS types, settings, and pure utils for driver migrationc904547
  • wire up the post-migration outcome toast (Undo / Report an issue)2651e60
Other
    Major

    v0.22.0

    View diff
    Bug Fixes
    • add test case for useCopyFeedback.test.ts hook and error handling3ffc973
    • comments raised by klio0814a3a
    • edge case reported by Kilo bot5c244e1
    • layoutkeep pages inside main when the production banner is shownad44b6d
    • mysqlqualify SHOW CREATE routine with target schemadff8a4a
    • nitpicks raised during review5e25f98
    • notebook cell scroll into view UX2bd51eb
    • notebookaddress bugs in the frontend part of notebook featuref94f714
    • postgresuse rustls connector in test_connection to support client certs and custom CA98247e1
    • refine code a bit50a3de0
    • SQL cell in editor to be in full size by default66cdfdb
    • sqlitedisplay text blobs as UTF-8b90292c
    • themeadd final fallback for delete-active replacementd0ca886
    • thememode-correct load fallback, pure setState updaterf838204
    • themereplace active theme with OS-mode preset on delete in follow-system modec721476
    • uistable keys, useCopyFeedback hook, sanitize HTML, eliminate render-time setState730213a
    Features
    • configadd follow-system theme fields to AppConfigcdc1418
    • configure window decorations for tiling managers0495121
    • gridspreadsheet-style keyboard selection and header column selectfca23d3
    • settingsadd static/follow-system theme mode UIb9809a7
    • themeadd resolveActiveThemeId helpere629803
    • themefollow system appearance with per-mode themesfec0c97
    Major

    v0.21.0

    View diff
    Bug Fixes
    • editorcomplete database-qualified tables44b00f4
    • editorhandle qualified tables in grid editinge99be83
    • guard the SSL-mode migration against a concurrent-write race44eeb5b
    • postgresadd mTLS client certificate authentication support6bb4e9b
    • run the SSL-mode migration from the --mcp server processc7058ae
    • show production banner only in editor8dbde6f
    • skip postgres client auth when ssl_mode is disabled and use tempfile in tests07793f9
    • snapship a desktop entry so the app appears in the launcher370f4d7
    • unify safety confirmation guards42e9431
    Features
    • editoradd SQL query folding previewsa5545a9
    • per-tab page size selector in the results pagination bar1c33a0e
    • pluginssupport cancelling installations2d5974f
    Major

    v0.20.0

    View diff
    Bug Fixes
    • 4 useCallback deps missing activeCapabilities in Editor.tsxd626253
    • add missing BLOB wire-format decoding to binding cascade (regression)47bd5b2
    • add missing enum-CAST binding to CRUD (regression)efaaaec
    • address code review findings for CI reliabilityce2d25f
    • assert_golden must fail on a missing golden file0f85952
    • cache connection pools by identity instead of rebuilding per call7b277c9
    • clear command execution state explicitlye0be0bd
    • connection-form host/port grid keys off dialect, not driver id ([#614](https://github.com/TabularisDB/tabularis/issues/614))7f2e443
    • correct 7 test-authoring bugs in the 80-test parity suite40b5603
    • correct API signatures in integration tests67ba130
    • correct field name in parity_get_foreign_keys test9b0143a
    • datagridaddress paste review feedbackef57700
    • editorapply pending-change updates functionallya1e4a5e
    • editorkeep add row available for empty tables6f438ca
    • editorkeep query results when switching between connections [#292](https://github.com/TabularisDB/tabularis/issues/292)cdeff36
    • exclude execution_time_ms from execute_batch parity comparison3be48ee
    • getDriverIcon never checked for a URL/data: manifest icon ([#632](https://github.com/TabularisDB/tabularis/issues/632))ebd269c
    • handle known MV definition error in golden capture test9c60f72
    • identifier quoting keys off dialect, not driver id ([#614](https://github.com/TabularisDB/tabularis/issues/614))c9a38fb
    • implement Debug for BoundValue so unit tests compile3cfe752
    • implement missing type extractors and truncated field (regression)8dcaae9
    • inputssuppress macOS WKWebView text hints on all technical fields75d68e3
    • keep palette keyboard handling at dialog scopef2bbdda
    • limit CI test parallelism to prevent pool exhaustionbc91e50
    • lintavoid synchronous setState in effect in AlertModal32cc80c
    • make sql_dialect a true Option so absence isn't silently postgres, closes [pre-#614](https://github.com/pre-/issues/614)839eb59
    • match builtin driver's character_maximum_length extraction226cf2d
    • match URL/data: icon schemes case-insensitively via shared isUrlIcon21a30b3
    • MCP schema default keys off dialect, not driver id ([#614](https://github.com/TabularisDB/tabularis/issues/614))72ed31b
    • migrate already-persisted stale ssl_mode values ([#614](https://github.com/TabularisDB/tabularis/issues/614))29fc233
    • mysqldelete rows with binary primary keys77b9a7a
    • notebooksupport ${name} template syntax in addition to [@name](https://github.com/name)8370145
    • palettekeep the selection off whatever the cursor rests onffae683
    • palettename the object dialog and render footer keys as caps976d6b7
    • parity harness must fail loud on a bad POSTGRES_PLUGIN_BINa2a6cfe
    • pluginsunify plugin data directory under `tabularis`ef9716e
    • postgrescoerce numeric and temporal strings in row-identity predicates21237a4
    • preserve object definition error detailse2d0665
    • preserve palette grouping and selection visibilitya379297
    • preserve table context type narrowing40e762c
    • resolve all 72 integration test failures33eca80
    • resolve commands through active editor scope9e46367
    • resolve compilation errors in Sprint 5604e448
    • resolve compilation issues from Sprint 1 review655e090
    • retry transient pool errors in flaky integration testsbbd6cda
    • rewrite destructive-mutation parity tests to run per-target1f5bb58
    • run integration tests sequentially to eliminate pool flakiness702936a
    • satisfy command palette build types30d85eb
    • sidebarhandle routine metadata failuresb7a0b9f
    • SSL mode dropdown branches on capability, not driver id ([#614](https://github.com/TabularisDB/tabularis/issues/614))77fcb63
    • strip trailing blank line at EOF in mcp/tests.rs3ddc463
    • strip user LIMIT/OFFSET before appending pagination clause, closes [4/#5](https://github.com/TabularisDB/tabularis/issues/5)9e87cf7
    • thread driver capabilities through remaining call chains ([#614](https://github.com/TabularisDB/tabularis/issues/614))da0fd9f
    • thread driver capabilities through sidebar components ([#614](https://github.com/TabularisDB/tabularis/issues/614))a82eff2
    • tighten test assertions to strict TDD (no lenient passing)42e1c54
    • trivial capability-driven quoting call-site swaps ([#614](https://github.com/TabularisDB/tabularis/issues/614))0b46ece
    • Update `uriPassthroughEnabled` to be exported and accept7b22913
    Features
    • add contextual command registry provider850d026
    • add spotlight-style command palette UIc70a138
    • alertsadd copy-to-clipboard button to alert modal9b63e3a
    • blobadd inline hex preview and editing902520b
    • datagridpaste cells from clipboard (Cmd/Ctrl+V)95448c6
    • define command palette contractsd0e44ef
    • i18ntranslate command palette strings into pt-BR246f6c3
    • layoutresolve the rendered split layout for a route704d9b5
    • paletteadd connection and table commands to the action palette053e4c5
    • palettescope palette actions to the connection that owns thema57390a
    • paletteshow which palette mode is open in the headereac86b0
    • uiadd opt-in backdrop close to Modal2c2a7bf
    • update package manager and add URI passthrough support ine7fbc0e
    • updatersupport custom package manager builds0b1236f
    • wire contextual action search shortcut57d4182
    Other
    • restore AGENTS.md and .gitignore to maind6f050d
    Major

    v0.19.0

    View diff
    Bug Fixes
    • connection-catalogueclean up engine card layout and namingf9df327
    • create-pluginscaffolded .tabularium failed registry validation54874aa
    • datagridenable editing tables without a primary key9e787b1
    • datagridharden keyless editing edge cases0a8c3bf
    • expand SQLite home pathsc03fc90
    • move session-field stripping to SettingsProvider02c21da
    • persist empty connection state after disconnect069de08
    • pluginsvalidate archives before install and improve error recovery5532b72
    • registryuse official MongoDB Atlas release ([#496](https://github.com/TabularisDB/tabularis/issues/496))e1ef671
    • repair merge with main (build errors, failing tests, restore ProductionBanner)30817f4
    • support parameters in explain plande7d0c2
    • tagsaddress review feedback and lint errorsc1f466e
    • tagstolerate orphaned tag ids, merge imported tags by name, cap name lengthd5072ec
    • use existing i18n key for explain submit button1cc99b4
    Features
    • connectionsenvironment classification with production safety warninge0118e0
    • connectionsfree-form colored tags assignable to connections7848789
    • connectionsopaque plugin-specific extra fields for ConnectionParams ([#596](https://github.com/TabularisDB/tabularis/issues/596))27226c5
    • connectionsreplace native dialogs with app-styled components in connection modal6d33bf7
    • datagridmask sensitive columns in the results grid8d2362f
    • pluginsadd locale-aware plugin README details modalbd9178e
    • pluginsextend RpcDriver for BLOB, materialized views, and type mappings ([#576](https://github.com/TabularisDB/tabularis/issues/576))54d9eae
    Major

    v0.18.0

    View diff
    Bug Fixes
    • aiadd MiniMax regional endpoint metadata ([#498](https://github.com/TabularisDB/tabularis/issues/498))ed9094e
    • connectionsrestore the stored URI when reconnecting5e13eee
    • connectionsswitch to all-databases mode when pasted URI has no databaseaa9fcea
    • data-gridopen dedicated editor for array cells on double-click ([#489](https://github.com/TabularisDB/tabularis/issues/489))cae497e
    • datagridaddress review — drop duplicate CopyFormat, toggle # tooltip1f6682d
    • datagridCtrl+click column toggle on macOS; 'Select All (N)' label87f7695
    • datagridgroup context-menu copy actions; pair the two scopes6b86341
    • datagridoffer copy-all when the row total is unknownd2f7d85
    • editorrender editor panes in stable order7488159
    • editorresolve a caret above the first statement to that statement9ab4c38
    • er-diagramprevent node overlap and add node lock toggle ([#558](https://github.com/TabularisDB/tabularis/issues/558))f5f9e34
    • mcpparse preflight explain output in the approval modal1361192
    • mysqlinclude MariaDB SYSTEM VERSIONED tables in table liste707682
    • nightlyscope the prerelease counter to the version base525b938
    • notebookharden SQL generation for params and cell references ([#559](https://github.com/TabularisDB/tabularis/issues/559))946f3db
    • reviewescape NUL byte in scopeKey, complete userManagement i18n9f88079
    • reviewinclude table in privilege log scope, add 'users' to CleanedTab type77c9235
    Features
    • connectionsall-databases mode (empty selection = browse everything)4441615
    • connectionsforward raw connection URIs to plugin drivers93d59d3
    • connectionsSSH test progress log, cancel, and diagnostics modalf422942
    • connectionsSSH tunnel test, classified errors, and test diagnostics04fbbe6
    • data-gridnavigate cells with the arrow keys3f87b5a
    • datagrid'Copy All (N)' menu item; copy-all ignores tab LIMIT729a9d9
    • datagridconfirm before copying rows beyond the loaded paged1ef9ca
    • datagridDBeaver-style cell range selection via Shift+clicka0247b0
    • datagridDBeaver-style multi-column selection and copy4870441
    • datagridexpose select-all via Cmd/Ctrl+A and context menub02fc35
    • datagridtoast with row count after copying rows198afb3
    • editorallow reordering tabs via drag-and-drop53ea0fa
    • editorlabel the Run button with what it will actually run21ed928
    • er-diagramexport the schema as Mermaid or DBML ([#521](https://github.com/TabularisDB/tabularis/issues/521))9e91a7a
    • indexesrender functional/expression indexes across drivers ([#499](https://github.com/TabularisDB/tabularis/issues/499))b66c737
    • mcpcompact plan summary and read-aware title in approval modale044e1f
    • postgressupport editing hstore columns ([#427](https://github.com/TabularisDB/tabularis/issues/427))fcee3d5
    • sqliteadd sqlite database creation workflows ([#523](https://github.com/TabularisDB/tabularis/issues/523))9bba294
    • usersdatabase user & privilege management (MySQL/MariaDB)d4813a1
    Major

    v0.17.0

    View diff
    Bug Fixes
    • connectionsdo not gate Load Databases on username ([#528](https://github.com/TabularisDB/tabularis/issues/528)) ([#533](https://github.com/TabularisDB/tabularis/issues/533))1ad3b8d
    • contain scrolling and grid overflow ([#493](https://github.com/TabularisDB/tabularis/issues/493))7f0b1c8
    • editorskip string literals and comments in query param detection ([#519](https://github.com/TabularisDB/tabularis/issues/519))f702aff
    • editoruse the Tauri clipboard API for Cut and Copy ([#520](https://github.com/TabularisDB/tabularis/issues/520))e4d98fd
    • importscope import to selected database and prevent double exe… ([#513](https://github.com/TabularisDB/tabularis/issues/513))914208f
    • postgreshonor ssl_mode in build_connection_url ([#378](https://github.com/TabularisDB/tabularis/issues/378))6288eea
    • sidebarprune dropped databases from the sidebar and saved selection ([#524](https://github.com/TabularisDB/tabularis/issues/524))d6b1460
    • uimake modal borders visible and clip rounded corners ([#509](https://github.com/TabularisDB/tabularis/issues/509)) [#5b6b82](https://github.com/TabularisDB/tabularis/issues/5b6b82) [#508](https://github.com/TabularisDB/tabularis/issues/508)1fb13f1
    Features
    • 525react to DROP DATABASE executed inside the app ([#535](https://github.com/TabularisDB/tabularis/issues/535))715239b
    • add configurable SQL formatter settings ([#504](https://github.com/TabularisDB/tabularis/issues/504))8e95bbb
    • add SQL formatting to editor (Shift+Alt+F) ([#500](https://github.com/TabularisDB/tabularis/issues/500))83050c7
    • editorclause-aware SQL autocomplete ([#505](https://github.com/TabularisDB/tabularis/issues/505))38984c3
    • explainexclusive metrics, node findings, diagram and stats views ([#529](https://github.com/TabularisDB/tabularis/issues/529))292825f
    • gridcopy column values as list or SQL IN clause ([#482](https://github.com/TabularisDB/tabularis/issues/482))7a975be
    • i18nadd Brazilian Portuguese (pt-BR) translation ([#537](https://github.com/TabularisDB/tabularis/issues/537))b76d4ce
    • postgressupport pgvector columns (vector, halfvec, sparsevec) ([#450](https://github.com/TabularisDB/tabularis/issues/450))ad5ae83
    • settingssearchable select for language picker4538fd0
    • sidebaradd a manual refresh for the database list ([#530](https://github.com/TabularisDB/tabularis/issues/530))284a45b
    • updaterin-app nightly release channel ([#497](https://github.com/TabularisDB/tabularis/issues/497)), closes [tauri-apps/tauri#8038](https://github.com/tauri-apps/tauri/issues/8038) [#5286](https://github.com/TabularisDB/tabularis/issues/5286)1327328
    Major

    v0.16.0

    View diff
    Bug Fixes
    • aiload schema context through database drivers ([#479](https://github.com/TabularisDB/tabularis/issues/479))9eaec7a
    • cibuild linux release in ubuntu:22.04 container to avoid glibc mismatchaf7d0bc
    • create-pluginscaffold i18n locales with --with-uif7fa5bc
    • editornormalize smart quotes in table filter and sort clauses ([#439](https://github.com/TabularisDB/tabularis/issues/439))f1b9681
    • gate Windows-only constants behind cfg attribute4b4d14c
    • handle null plugin config during uninstall ([#501](https://github.com/TabularisDB/tabularis/issues/501))cd73846
    • k8salign advanced settings styles7c3bf0b
    • k8scancel path validation on modal close79e2d56
    • k8sclear superseded test state9217c77
    • k8senforce inline selection state63454c3
    • k8sguard actions across path preflightafa25a0
    • k8sharden saved connection edit state649c674
    • k8sinvalidate stale connection tests5744246
    • k8sisolate modal action lifecyclesb418eb9
    • k8smake tunnel cache keys collision safed16e5c8
    • k8sreset cancelled path validation state791e225
    • k8sresume port discovery after manual cleare7cc2be
    • k8sscope preflight feedback to active actions45d9c40
    • k8sserialize path preflight applicationf8be780
    • k8svalidate complete path pairs before applya137dc3
    • k8svalidate persisted path overrides972c8f7
    • lintdrop unused import + remove synchronous setState in effectfb10aec
    • mcpstop logging to stdout, it corrupts the JSON-RPC transport ([#488](https://github.com/TabularisDB/tabularis/issues/488))a50070a
    • mysqldisplay all result sets from stored procedures returning multiple result sets ([#415](https://github.com/TabularisDB/tabularis/issues/415))d98e6aa
    • pluginsaccept legacy manifest.json bundles on install and liste983551
    • pluginsadd engine/paradigms to driver test manifest962f4fa
    • pluginsdrop the picked version once it's installedd7b9dbb
    • registryaddress PR review (broken links, perf, prototype, empty version)4d4368c
    • registrydon't link legacy-only plugins to a 404 on the APIdf18056
    • registrykeep installed plugins updatable when 0.13 unlists theme1d90fc
    • registrykeep legacy registry.json + builtins-first/other-last catalogue sortb705383
    • row-editorrender decoded JSON/JSONB objects instead of [object Object] ([#475](https://github.com/TabularisDB/tabularis/issues/475))1ea7479
    • settingsshow MiniMax API key status ([#454](https://github.com/TabularisDB/tabularis/issues/454))0356ea3
    Features
    • backupautomatic encrypted connection backups with local and Webdav targets ([#470](https://github.com/TabularisDB/tabularis/issues/470))e6b79a5
    • catalogueconnection catalogue wizard for New Connection3cc1afc
    • create-plugin.tabularium manifests, migrate command, registry-ready CI2cbb015
    • deeplinkversion-aware install/update/already-installed UI44b0e3a
    • driversadd explain capability flag to hide Visual EXPLAIN when unsupported ([#491](https://github.com/TabularisDB/tabularis/issues/491))c53a418
    • frontendrun statement at cursor on Cmd+Enter ([#464](https://github.com/TabularisDB/tabularis/issues/464))05c373a
    • hooksadd latest-only async guardd2a3540
    • i18ntranslations for catalogue + deep-link install0bc176e
    • k8sadd configurable kubectl command runner4f39623
    • k8sadd kubectl override fieldsc8415cc
    • k8sadd shared advanced settings fieldse1d4e15
    • k8scentralize advanced path state4883b16
    • k8sintegrate advanced inline connection settings8c8fcd6
    • k8sintegrate advanced saved connection settingse7eea3d
    • k8spass command overrides through frontend utilities5231013
    • k8spropagate kubectl overrides through MCP4a68d3e
    • k8swire kubectl override commandsc2ca059
    • mysqlsupport AWS RDS IAM authentication ([#404](https://github.com/TabularisDB/tabularis/issues/404))247799f
    • pluginsadd Elasticsearch plugin to registry ([#476](https://github.com/TabularisDB/tabularis/issues/476))376b760
    • pluginsforward external batch query RPC ([#443](https://github.com/TabularisDB/tabularis/issues/443))8ccc203
    • pluginsoffer the update in the Installed tabe1999fe
    • registryhosted Tabularium registry with deep-link install + BC layerde4322c
    • registryplace local plugins in catalogue + single_database driver supportd113fa4
    • resultscopy and export rows as Markdown table ([#474](https://github.com/TabularisDB/tabularis/issues/474)) ([#481](https://github.com/TabularisDB/tabularis/issues/481))cc53c92
    Major

    v0.15.0

    View diff
    Bug Fixes
    • data-gridrestrict Set Empty to textual columns ([#442](https://github.com/TabularisDB/tabularis/issues/442))9117f1a
    • fixes auto pagination color, dropdown menu font and save menu ([#461](https://github.com/TabularisDB/tabularis/issues/461))6825e02
    • frontendautocorrect in table filter input ([#437](https://github.com/TabularisDB/tabularis/issues/437))52ae10b
    • frontendautocorrect in table filter input ([#437](https://github.com/TabularisDB/tabularis/issues/437))a2c5447
    • frontendquality-of-life consistency pass on modals and small UI components ([#440](https://github.com/TabularisDB/tabularis/issues/440))c038e7e
    • frontendturn off spellcheck in table toolbar ([#432](https://github.com/TabularisDB/tabularis/issues/432))69da82a
    • gridkeep result column headers pinned while scrolling ([#433](https://github.com/TabularisDB/tabularis/issues/433))db288be
    • mcpclassify EXPLAIN ANALYZE as the statement it executes ([#456](https://github.com/TabularisDB/tabularis/issues/456))6dab82f
    • mcpserialize multiple databases in list_connections and add list_databases tool ([#426](https://github.com/TabularisDB/tabularis/issues/426))d16878c
    • mysqldisplay ENUM allowed values and add dropdown editing ([#452](https://github.com/TabularisDB/tabularis/issues/452)) ([#455](https://github.com/TabularisDB/tabularis/issues/455))07f893e
    • pluginAvoid open new window for plugin process on windows ([#451](https://github.com/TabularisDB/tabularis/issues/451))9e1e760
    • postgrescast enum values to their column type and add dropdown editing ([#465](https://github.com/TabularisDB/tabularis/issues/465)) ([#471](https://github.com/TabularisDB/tabularis/issues/471))2dc67d3
    • prevent visible console window and clean up SSH tunnels on app exit ([#418](https://github.com/TabularisDB/tabularis/issues/418))b656025
    • sessionstop restoring tabs of a disconnected connection on launch ([#467](https://github.com/TabularisDB/tabularis/issues/467))5683f09
    • uiguard type before parsing enum/set valuescdfaae3
    • uikeep dropdowns and submenus inside viewportbc4621c
    Features
    • connectionsadd export modes with optional password encryption ([#447](https://github.com/TabularisDB/tabularis/issues/447))fd077ff
    • connectionsexport only the selected connections ([#469](https://github.com/TabularisDB/tabularis/issues/469))2fdd74f
    • connectionsmulti-select with bulk delete and move to group ([#468](https://github.com/TabularisDB/tabularis/issues/468))b3af9e5
    • connectionstypo-tolerant fuzzy matching for the connection search ([#444](https://github.com/TabularisDB/tabularis/issues/444))361c88e
    • datagridshow column type in header hover tooltip ([#436](https://github.com/TabularisDB/tabularis/issues/436))d1c13b0
    • groupssupport nested connection groups with cascade delete ([#405](https://github.com/TabularisDB/tabularis/issues/405)), closes [1/#3](https://github.com/TabularisDB/tabularis/issues/3)6f5a8af
    • i18nadd Tagalog language support ([#457](https://github.com/TabularisDB/tabularis/issues/457))51a78ea
    • pathssupport dev connections file in debug builds0ad4263
    • settingsmanage SSH connections from a dedicated settings tab ([#441](https://github.com/TabularisDB/tabularis/issues/441))c2366fe
    Major

    v0.14.0

    View diff
    Bug Fixes
    • mcpclassify compound routines as ddl ([#385](https://github.com/TabularisDB/tabularis/issues/385))11d4806
    • mysqlremove duplicate test import and dead text-proto lookupsc317f81
    • mysqlroute routine DDL through text protocol ([#348](https://github.com/TabularisDB/tabularis/issues/348))04b22b0
    • mysqlroute view DDL through text protocol ([#390](https://github.com/TabularisDB/tabularis/issues/390))99e3532
    • pluginskeep ui_extensions driver filter when parsing plugin manifests ([#424](https://github.com/TabularisDB/tabularis/issues/424))2d144d3
    • postgresbind temporal/uuid values via explicit wire typesdc8ec17
    • postgrescast view name through text before regclass for view definitions ([#400](https://github.com/TabularisDB/tabularis/issues/400))f98b7a8
    • preserve composite indexes in generated SQL ([#373](https://github.com/TabularisDB/tabularis/issues/373))85f7c5b
    • sidebarprevent clear button (X) from overlapping scrollbar in table filter ([#403](https://github.com/TabularisDB/tabularis/issues/403))d15d294
    Features
    • connectionsopen a connection in a dedicated window ([#409](https://github.com/TabularisDB/tabularis/issues/409))1018b91
    • editorshow and correctly count the current query's total rows ([#410](https://github.com/TabularisDB/tabularis/issues/410))ccb9652
    • mysqlsupport cleartext auth plugin for Warpgate bastions ([#336](https://github.com/TabularisDB/tabularis/issues/336)) ([#337](https://github.com/TabularisDB/tabularis/issues/337))174091e
    • navigatorfuzzy search in the Quick Navigator ([#421](https://github.com/TabularisDB/tabularis/issues/421))a1b3cfd
    • routinesstored routine management (run/create/edit/drop) with plugin support ([#416](https://github.com/TabularisDB/tabularis/issues/416))cd7e774
    • sidebaradd keyboard shortcut to focus the table filter ([#412](https://github.com/TabularisDB/tabularis/issues/412))feb3214
    • sidebartypo-tolerant fuzzy matching for the table/trigger filters ([#417](https://github.com/TabularisDB/tabularis/issues/417))471b73e
    • viewsadd PostgreSQL materialized views support ([#342](https://github.com/TabularisDB/tabularis/issues/342))69a223c
    • whats-newrender changelog items as markdown356586a

    v0.13.4

    View diff
    Bug Fixes
    • autocompleteavoid doubling quotes for quoted identifier completion2daa3ec
    • autocompleteresolve aliased PostgreSQL quoted table columns correctly970f8ce
    • editorcorrect pkColumns field name in singleResultToEntry809dc55
    • editorremove duplicate SQL autocomplete registration76d49f2
    • editorupdate/delete use full composite PK in WHERE clause ([#324](https://github.com/TabularisDB/tabularis/issues/324))d8d4935
    • improve accessibility for screen reader users ([#355](https://github.com/TabularisDB/tabularis/issues/355))3d7740a
    • mysqlavoid invalid pagination after semicolons ([#389](https://github.com/TabularisDB/tabularis/issues/389))021271b
    • postgresbind uuid-shaped PK as text for varchar columns ([#392](https://github.com/TabularisDB/tabularis/issues/392)) ([#394](https://github.com/TabularisDB/tabularis/issues/394))f2fed4d
    • postgressupport routine introspection on PostgreSQL < 11 ([#377](https://github.com/TabularisDB/tabularis/issues/377))cbc7ba6
    • updatershow available update on manual check after dismissal ([#398](https://github.com/TabularisDB/tabularis/issues/398))548f04f
    Features
    • allow passing a startup script per connection ([#352](https://github.com/TabularisDB/tabularis/issues/352)) [#2](https://github.com/TabularisDB/tabularis/issues/2)f885b31
    • autocompleteadd disposeSqlAutocomplete mock for testingd04434d
    • backendadd support for SSH password/PIN prompt475adfc
    • backendimplement SSH passphrase prompt support with forced askpass81164ee
    • editorshow success feedback for non-SELECT statements ([#391](https://github.com/TabularisDB/tabularis/issues/391))33dd58b
    • editorwindow controls and detachable results panel ([#369](https://github.com/TabularisDB/tabularis/issues/369))b4171a7
    • frontendadd SSH prompt toggle to connection modalsbd64d8e
    • i18nadd SSH prompt translations for all supported languagesc23c2e8
    • mysqlauto-skip PIPES_AS_CONCAT sql_mode for Vitess/PlanetScale ([#387](https://github.com/TabularisDB/tabularis/issues/387))53e3ab7
    • notebookcollapse query, results and chart sections individually ([#399](https://github.com/TabularisDB/tabularis/issues/399))54973a5
    • pluginsadd DM plugin to registry ([#382](https://github.com/TabularisDB/tabularis/issues/382))26d2839
    • registryadd Cloudflare D1 plugin v0.1.043d7d81
    • sql-autocompleteintegrate SQL autocomplete registration into NotebookView and Editor componentsc38bd3e
    • sshserve askpass prompts with an in-app modaldacbdb7
    • viewsadd SQL beautify button to view editor ([#372](https://github.com/TabularisDB/tabularis/issues/372))2b7e34c

    v0.13.3

    View diff
    Bug Fixes
    • address PR review warnings941629b
    • aifetch Anthropic and MiniMax models from their APIs ([#359](https://github.com/TabularisDB/tabularis/issues/359))ec72177
    • k8savoid MySQL fallback in K8s connection modalf7e50fb
    • k8scorrect inline connection port defaults36d4d1f
    • k8sreturn localized validation results1506412
    • mcpplay approval alert via OS notification sound on Linuxed9c12f
    • mcpunblock approval gate during language settle8601478
    • scope multi-database operations to the selected database ([#346](https://github.com/TabularisDB/tabularis/issues/346))cf7c1eb
    • view-editorrobustly extract the SELECT body from view definitions ([#320](https://github.com/TabularisDB/tabularis/issues/320))f073d54
    Features
    • editortint tab bar with active connection color ([#333](https://github.com/TabularisDB/tabularis/issues/333))b328a97
    • k8sadd resource port utility8dc81a1
    • k8sadd service port discovery commanda721001
    • k8simprove selection dialog defaults6c15048
    • mcpadd approval attention controls and localized notificationsae8637c
    • restore previous session connections and add start-maximized option ([#332](https://github.com/TabularisDB/tabularis/issues/332))567a33c
    • uishow project social links across update, what's new and welcome modals ([#353](https://github.com/TabularisDB/tabularis/issues/353))97576d1

    v0.13.2

    View diff
    Bug Fixes
    • autocompletesuggest clause keywords and correct columns after … ([#295](https://github.com/TabularisDB/tabularis/issues/295))35952f3
    • mysqlmultiply per-loop time by loops in EXPLAIN ANALYZE ([#303](https://github.com/TabularisDB/tabularis/issues/303))6ed133f
    Features
    • connectionshow SSL tab for plugin drivers via supports_ssl capability ([#309](https://github.com/TabularisDB/tabularis/issues/309)), closes [TabularisDB/tabularis-clickhouse-plugin#1](https://github.com/TabularisDB/tabularis-clickhouse-plugin/issues/1)5a2e929
    • explainshow Actual Rows column in Visual EXPLAIN table view ([#302](https://github.com/TabularisDB/tabularis/issues/302))c6048ce
    • notebookmanage saved notebooks per connection ([#304](https://github.com/TabularisDB/tabularis/issues/304))4b5e7f2
    • pluginsadd Redis (Go) plugin v0.4.1 ([#314](https://github.com/TabularisDB/tabularis/issues/314))31805eb
    • show sql progress in realtime ([#296](https://github.com/TabularisDB/tabularis/issues/296))80613c3
    Performance
    • gridmemoize DataGrid rows for fluid scroll with many rows/columns61794dc

    v0.13.1

    View diff
    Bug Fixes
    • airoute AI key reads through credential cache to stop repeated keychain prompts ([#269](https://github.com/TabularisDB/tabularis/issues/269))4d40c69
    • connectionsaccept postgresql:// and mariadb:// scheme aliases in connection strings ([#277](https://github.com/TabularisDB/tabularis/issues/277))a155b6a
    • editorfocus editor when opening a new console tab ([#280](https://github.com/TabularisDB/tabularis/issues/280))4bd6e1d
    • editorstop Monaco theme leaking across editor instances ([#282](https://github.com/TabularisDB/tabularis/issues/282))f7bbef7
    • gridtruncate large JSON/text cell previews to avoid UI freeze ([#285](https://github.com/TabularisDB/tabularis/issues/285))a283938
    • mcpclassify parenthesized SELECT/UNION as read-only ([#272](https://github.com/TabularisDB/tabularis/issues/272))35bc043
    • new-connection-modalstop auto-activating databases tabafcb4f6
    • postgresread EXPLAIN JSON output as json column ([#279](https://github.com/TabularisDB/tabularis/issues/279))6abe185
    • preserve user OFFSET in paginated queries ([#273](https://github.com/TabularisDB/tabularis/issues/273)) ([#275](https://github.com/TabularisDB/tabularis/issues/275))6db171b
    Features
    • upgrade MiniMax default model to M3 ([#270](https://github.com/TabularisDB/tabularis/issues/270))99c902c
    Major

    v0.13.0

    View diff
    Bug Fixes
    • ai-activityrender timestamps in local time + add display timezone setting ([#251](https://github.com/debba/tabularis/issues/251))44899f3
    • k8sadd k8s fields to SavedConnection params typef54843f
    • mcpclose approval/read-only bypass in run_query ([#261](https://github.com/debba/tabularis/issues/261))1b1bb03
    • mcpdispatch plugin drivers via the registry + harden the subprocess ([#256](https://github.com/debba/tabularis/issues/256))259f089
    • pluginscorrect plugin data folder paths358514e
    • prevent selectedIndex rerender on mouse scroll12f4586
    • query-historyrecover from corruption + atomic writes ([#253](https://github.com/debba/tabularis/issues/253))c2b5598
    • schemassurface get_schemas failure with error + retry ([#242](https://github.com/debba/tabularis/issues/242))8fc0f3a
    Features
    • discord-releaseadd tabularis-discord-release agent skillcb599ed
    • integrate Quick Navigator search overlay ([#252](https://github.com/debba/tabularis/issues/252))1802165
    • Kubernetes port-forward tunnel support ([#246](https://github.com/debba/tabularis/issues/246))66a0aec
    • quick-navigatoradd inspect, new console, count & copy actionsca3b599
    Major

    v0.12.0

    View diff
    Bug Fixes
    • Ctrl+Enter always runs query in the last opened console tab ([#240](https://github.com/debba/tabularis/issues/240))d8f9feb
    • driverspreserve i64/u64 precision past Number.MAX_SAFE_INTEGERb1a6d9d
    • driversshow pagination for SELECTs with leading SQL commentsa0a52f4
    • pgcorrect handling of TLS/SSL modes in PostgreSQL connectione836109
    • refresh table list after creating table ([#239](https://github.com/debba/tabularis/issues/239))63ebeaf
    • Save Query modal no longer overrides editor theme globally ([#248](https://github.com/debba/tabularis/issues/248))d1d93d3
    • settingscenter SettingToggle knobd9febbe
    Features
    • Delete selected rows with keyboard shortcut5190443
    • demoadd MySQL triggers demo and bump version to 0.11.002a23ef
    • demoseed bigint_demo table for issue [#210](https://github.com/debba/tabularis/issues/210) manual testing245f6b6
    • i18nadd Russian locale and count-based tab pluralization78bf343
    • per-connection icon & accent color override ([#189](https://github.com/debba/tabularis/issues/189)) ([#241](https://github.com/debba/tabularis/issues/241))287c2b6
    • sqlfirst-party splitter + per-driver dialect ([#225](https://github.com/debba/tabularis/issues/225))b4f225a
    Performance
    • eliminate per-query disk I/O and unblock result display from metadata fetch788a068
    Other
    • remove unintended CHANGELOG changes2ddfb58
    Major

    v0.11.0

    View diff
    Bug Fixes
    • commandspreserve all in-flight abort handles per connection4521335
    • demoset utf8mb4 client charset on MySQL seedse4cd824
    • diffword-wrap the original pane in side-by-side mode [#4701](https://github.com/TabularisDB/tabularis/issues/4701) [#3346](https://github.com/TabularisDB/tabularis/issues/3346)a666586
    • driversshare a single connection across multi-statement scripts8eed14b
    • editorrestore correct SQL string color across all themesc3f21c4
    • export,dumpapply same per-slot abort-handle fix to export/dump/import975d943
    • exportexpand SSH params and refactor into testable utilities888a6be
    • incorrect get_app_config_dir when running in mpc mode in windowscc57d0a
    • jsonbound the sidebar tree view so long strings stop overlapping506f0fc
    • jsoncast JsonTreeView container style spread to satisfy tsc -b715a030
    • jsoncompute missing-session-id error during render, not in effect1751421
    • postgresbind JSON/JSONB columns natively + JSON-encode scalars05def65
    • testrepair test suite after main merge01b5568
    Features
    • brandingadd logo SVG files to publicf562cd6
    • database trigger management (PostgreSQL, MySQL, SQLite)fd66558
    • demoadd Docker Compose demo with seeded databases55b4db8
    • demoseed json_demo table in postgres + mysql init38dbaca
    • demoseed text_demo table for issue [#207](https://github.com/TabularisDB/tabularis/issues/207) manual testing626cc76
    • editorforeign key click-to-navigate in result grida7a12ad
    • editormake Enter accept autocomplete suggestion configurable4e07b82
    • i18nadd export/import translations and export warning in localesa75a065
    • i18nadd Japanese (ja) translationb81bcb1
    • jsonin-cell JSON highlighting (JsonCell) + inline expansion editor7132b70
    • jsoninline diff for pending changes + fix JSON cell highlighte136112
    • jsonmulti-mode JsonInput (Code / Tree / Raw editors)2a482c2
    • jsonnative Tauri JSON viewer window with bounds memory + per-cell dedupb9809b6
    • jsonper-connection "detect JSON in text columns" setting1fbd460
    • jsonsidebar gets diff toggle + detect-JSON-in-text supportd2facd1
    • pluginsadd firestore plugin to registry24e36c8
    • sidebardrag-resizable row editor04269bf
    • tabularis-discord-releaseadd tabularis-discord-release skill andf41cfdf
    • textchevron expand + Monaco diff for long text/longtext cellsd9212c7
    • utilsadd newConsole helper, tests, and wire to sidebarf7e6b0b
    Breaking Changes
    • Pressing Enter while an autocomplete suggestion is

    v0.10.3

    View diff
    Bug Fixes
    • DataGridhandle empty column names from driversb015b35
    • notebookrender db selector dropdown via portal to avoid clippingb0f51ed
    Features
    • Add connection export and import functionalityaee7df1
    • connectionsadd import button to empty stateb1f9844
    • editoradd editor error boundary and tests3001409
    • sidebaradd Discord community callout and update links26643cf

    v0.10.2

    View diff
    Bug Fixes
    • dbomit empty password in connection URLs6164f49
    • postgresswitch deadpool TLS to rustls + honor ssl_ca8dd0d3b
    Features
    • data-gridadd SQL INSERT as a copy format option088aa90
    • data-gridcell-level selection and copy2b31e6f
    • postgrescoerce boolean strings to bool for boolean columns71aea59

    v0.10.1

    View diff
    Bug Fixes
    • resolve LIMIT keyword misidentification in SQL paginationc4d2298
    Features
    • appuse semantic version compare for whats-new and changelogdc474df
    • Make database selector dropdowns scrollable after 10 entries390a811
    • postgresadd binding module for parameterized valuesf15a268
    • query-builderadd mini result grid, schema hook, and layout util8c79525
    Major

    v0.10.0

    View diff
    Bug Fixes
    • hookspreserve session events while loading and stabilize filter86b243b
    • pluginsunregister running driver and verify installed manifestd045eea
    Features
    • aiadd AI audit log, approval gate, notebook export and UI2399370
    • gitnexusadd GitNexus skills and MCP UI pagef3e0214
    • heartbeatadd GUI heartbeat and liveness-aware approval polling93f6765
    • uiadd session search, sorting and plan expandcbd5d91

    v0.9.21

    View diff
    Bug Fixes
    • cicorrect release packaging to zip staging contents8f2849d
    Features
    • create-tabularis-pluginadd plugin scaffolder package with CLI,2cdff1b
    • plugin-apiadd @tabularis/plugin-api packagee3b228b
    • plugin-apiadd defineSlot helper and remove google sheets plugin28e9758
    • pluginsadd google-sheets plugin to registrye81a68b
    • pluginsadd google-sheets plugin to registry0ec0d7b
    • pluginsadd plugin center UI, search/filter, and cleanup on67a41ad
    • rust-driveradd optional UI build and cross-platform dev-install278b2f4
    • settingspersist and respect activeExternalDrivers in settings UIefabf6e

    v0.9.20

    View diff
    Bug Fixes
    • reactcorrect hook deps and tooltip wrapper for low confidenceeb26a63
    Features
    • add demo videos8610ead
    • clipboard-importadd clipboard data import flowf10e332
    • compareadd comparison builder, tables, and assets7afffb7
    • visual-explainadd Visual Explain page and import supportb75dc3c
    • websiteswitch logos to PNG and update compare styles6d6c2ad

    v0.9.19

    View diff
    Features
    • connectionsbackfill database on single to multi-db transitionbbaf3d9
    • explorer-sidebaradd single-click selection highlighting for4502e04
    • i18nadd fr and de locales, language helper and READMEsc5fab4a
    • query-historyinclude database in query history and re-run7144184
    • saved-queriespersist and show database for saved queries36eb69c
    • sidebaradd SQL preview highlighting and grouped favorites in90ae3aa

    v0.9.18

    View diff
    Bug Fixes
    • appseed whats-new version for users who completed welcome1ab42e6
    • custom OpenAI provider URL path duplication and hardcoded /v1 prefix, closes [#XXX](https://github.com/TabularisDB/tabularis/issues/XXX)ba0dd6e
    • resizeadd overlay during pane drag to block editor mouse events682de0c
    • uifix runQuery arg, context menu deps, and sidebar resize ref3e8a5a3
    Features
    • add table search filter for PostgreSQL schema modefa21e6b
    • driversadd explain parsers and split mysql/postgres/sqlite logic5b6052b
    • editoradd explain selection modal and explainable query util191e993
    • editorscroll active tab into view when activated3ff7f25
    • mysqladd SSL configuration options to ConnectionParams and update MySQL connection handling78af860
    • mysqladd SSL configuration options to ConnectionParams and update MySQL connection handlingd5fe36d
    • pluginsadd IBM Db2 driver plugin to registry4c507ec
    • pluginsadd MySQL plugin settings and config cachingd469333
    • query-historyadd per-connection query history storage and UI679d1d8
    • query-historyUX polish — dedup, error styling, search, animations76013aa
    • settingsadd open source libraries modal and utilities94ab987
    • settingsadd plugin settings page and integrate into settings UI7f79fa3
    • settingsadd showWelcome setting and welcome screen toggle02e9380
    • sidebarshow grouped connections flat with labels72cb694
    • sql-editorsupport paste into multiple cursors and update docs1d8db06
    • visual-explainadd Visual EXPLAIN docs and homepage feature card9072a2c

    v0.9.17

    View diff
    Bug Fixes
    • editorpass undefined for missing schema prop8c4b9f6
    • mobile layout for compare pagesab877b5
    • modalsinclude 't' in VisualExplainModal hook deps9eb814e
    • visual-explainnarrow tone literals with as const in explainb936e93
    Features
    • aiadd explain plan analysis command and table view9cb46eb
    • explainadd AI analysis view and tabular EXPLAIN fallbackd160ce5
    • explainadd AI analysis view and tabular EXPLAIN fallbackfd27727
    • explainadd visual explain plan and driver supportc60982a
    • modalsauto-load databases when editing multi-db connection3a4f96b
    • mysqladd MariaDB JSON explain parsing for filesort and wrappers5232a7f
    • mysqladd server version detection and enhanced EXPLAINd8d850e
    • mysqlenhance MariaDB explain parsing with subquery cache andfd8c83b
    • sqladd explainable query check and comment strippingfa2e46a
    • uiadd AI dropdown button and replace inline AI buttons7ccc324
    • visual-explainadd overview and node details UIdd1c1a7
    • websiteadd subscription UI, pages, and markdown slote14b5d4

    v0.9.16

    View diff
    Features
    • scriptsadd snap preview banner generator HTML toolfffb27f
    • seoadd comparison pages and preview components36acd1b
    • seoadd JSON-LD structured data and related links9292f88
    • seoadd metaTitle support and expand related links9c2dc4f
    • seoadd solution pages and update related links548cad9
    • seoadd solutions and compare pages with routing99911a0
    • uiadd drag and drop functionality for connection groups21ebf4a
    • uicorrected useDatabase destructurebbf2998
    • websiteadd solution links and workflow exploration content2a1aeb1

    v0.9.15

    View diff
    Bug Fixes
    • notebookensure unique keys for rendered cells using id and index8d6e1ea
    • notebookprevent stale runCell, add typings and guardsbe1731e
    • notebookrender cell history panel outside collapsed check for sqlcb58710
    • notebooksync cells ref and improve export with error handlingaa6ba5a
    • uirender modal into portal and adjust tooltip z-index5a60282
    • uireplace useEffect setState with initialEditing prop pattern85262f3
    Features
    • aiadd AI tab rename featurec5cfb57
    • editoradd multi-query run and selection UI63e5aa8
    • editoradd tab rename, close and multi-query run support808e0cb
    • editorprompt for params when running multi queriesc741411
    • health-checkadd periodic connection ping health checks17398dd
    • multi-result-paneladd collapsible query preview to result panelbe8e541
    • notebookadd AI buttons, outline, collapse and exportd0ccee9
    • notebookadd AI naming for outline and collapse/expand alla15b056
    • notebookadd AI-generated cell names and outline support8499bdb
    • notebookadd charts, params, sections, historyda915f2
    • notebookadd fallback markdown outline and add-cell button09887df
    • notebookadd notebook UI with SQL and markdown cells, add runf4b4983
    • notebookadd per-cell schema selection and multi-db support6047199
    • notebookauto-run unresolved cell dependencies before query1757639
    • notebooksadd file-based persistence and debounced store98ebf4c
    • query-selectionrevamp modal UI and add run-single action8f7052b
    • uiadd scrolling and inline rename to multi-result tabs871d7be
    • uiadd tab context menu to multi-result panelc291f0c
    • uiadd WhatsNew modal and stacked multi-result UI componentsf1ef252
    Breaking Changes
    • notebookclearHistory no longer accepts a cell argument

    v0.9.14

    View diff
    Bug Fixes
    • driverfallback to test_connection when ping not implemented3b99ed2
    • drivershandle ORDER BY without swallowing LIMIT/OFFSET094fca3
    • modalsimprove modal UI and fix column type parsing39671f2
    • websitecorrect video path and move asset to videos/postsc1841e8
    Features
    • blogadd notebooks post and image lightbox1b4302a
    • column-typesadd column type parsing and extension supportaeb146c
    • health-checkadd periodic connection ping and auto-disconnecta815da1
    • modalsadd keyboard navigation and i18n to query selection modalae4220f
    • modalsreplace native selects with Select componentd68ca23
    • postgressupport SMALLSERIAL auto increment and sync UI behavior7fe6c03

    v0.9.13

    View diff
    Bug Fixes
    • add check to prevent panic if buf len is less than 4f43af04
    • editorregister paste action per instance and improve scrollbar UI32020d1
    • handle `Option` returned by `split_at_value_len` to return `Null` if `None`26cc2ab
    • make `fill_nulls` fill only the remaining fieldsd45cce7
    • return empty array in zero dimensions instead of `null`60c420a
    • return None if `len < 0` which means the value is nulle45a67d
    • skip the length of each rangec2e1844
    • sql-editorpreserve cursor and improve autocomplete behavior92c0fe3
    Features
    • add support for `multirange` postgres typea56d9f2
    • add support for `range` postgres type14fe823
    • driversadd readonly capability to disable data writes2846a2c
    • hooksadd setSettings to usePluginSetting hooke0ce6a5
    • modalsadd error modal and use it for async errors4373b9f
    • plugin-modaladd plugin modal context and provider57b89fc
    • pluginsadd JSON Viewer example plugin for UI Extensions53485ec
    • pluginsadd manage_tables capability and UI gatingdf07072
    • pluginsadd plugin slots and external opener support6725a6c
    • pluginsdefault manage_tables to true and use helper6a2a0c5
    • pluginsimplement Plugin UI Extensions system (Phase 2)5e464f3
    • pluginssupport UI-only plugins and external UI bundles065307c
    • settingssplit settings UI into modular tabs and add editor prefs4d71583

    v0.9.12

    View diff
    Bug Fixes
    • add missing extracting logic6c1bcc2
    • add missing extracting logic743b655
    • handle misreported text/blob types using known_type hint805d495
    • json-inputsync text state with value using ref instead of effect4ff8b4f
    • MySQL JSON column values shown as NULL in data grid493f125
    • reactadd missing hook deps and stabilize callbacksc74a2bb
    • skip the field type bytes3d4401c
    Features
    • add JSON editor with validation for sidebar editing41ab6d1
    • add MiniMax as first-class AI providerffc0e50
    • alertadd global alert modal and replace dialog notifications27c843d
    • editorshow active database and update window title6ddc629
    • errorimprove pg errors and add toggleable details UIf83025b
    • postsinclude PR contributors between releases in contributor945823d
    • settingsadd provider icons and change key label5ffad1a
    • websiteadd ZH to language badge6037e00

    v0.9.11

    View diff
    Features
    • add Chinese (Simplified) language supportfc8c6b9
    • consoleenable inline editing for single-table query resultsa9ceb74
    • copyadd JSON copy format and selectable default594cb8c
    • exportadd configurable CSV delimiter for copy and export5e20c6a
    • postgressupport array types and JSON-to-ARRAY literals9ab2c37

    v0.9.10

    View diff
    Bug Fixes
    • blogmake tag filter dropdown inline instead of overlay96dbf96
    • database-providerreflect multi-db selection in window title85548f8
    • indexupdate gitnexus version in AGENTS.mdd3c3130
    • modalsfocus name input on validation and update placeholdereac063f
    • normalize blog post dates to ISO 8601 format (YYYY-MM-DDTHH:MM:SS)5510dba
    Features
    • blogreplace tag cloud with collapsible "Filter by tag" dropdown6926bd4
    • commandsallow selecting database for record operationse12efdd
    • Display platform detection badge7b55b58
    • docsadd changelog page and rename screenshotsfe78037
    • downloadadd download thank you page with auto-trigger andb1e78c3
    • mcpadd multi-client support and connection improvementsd9655e6
    • searchadd client-side search functionality652b3e4
    • website - add reading time to PostCardd08cc02

    v0.9.9

    View diff
    Bug Fixes
    • connectionsshow menu only when groups exist or connection grouped0e71482
    • sponsorsset dynamic to force-static for OG image862b49d
    • uiimprove connection card styling29d1bcc
    • websiteconstrain sponsor modal height and enable scrollinga8a8025
    Features
    • authadd validation for connection name and databases selection3fffa04
    • mcpadd MCP server docs, client icons, and UI integration78c22e5
    • pluginsadd connection_string and connection_string_example flags2de0297
    • sponsorsadd Open Graph image and page metadata5c5c124
    • sponsorsadd optional highlightColor for sponsor accents2139848
    • sponsorsadd sponsor sync script and generated docs9e82f9a
    • sponsorsadd sponsors page, contact form, grid, and confirm page6b592b6
    • sponsorsadd sponsors section and assets to websitecc802fd

    v0.9.8

    View diff
    Bug Fixes
    • new-connection-modalavoid returning promise from onClick14f644e
    • new-connection-modalreset tab on close and UI tweaks7a1f2fb
    • sqliteresolve SQLITE_CANTOPEN (error code 14) on Windowsc8e5734
    • visual-queryreplace HTML5 drag-and-drop with pointer events for3afee6b
    Features
    • download-buttonsadd split download button with platform dropdown542961c
    • downloadadd download modal and wire up download buttonsf2cc6ab
    • driversadd connection string parser and import UI2258ba3
    • pluginsadd hackernews plugin to registry6635124
    • use ubuntu 25.04 for building linux5f80a89

    v0.9.7

    View diff
    Bug Fixes
    • build alertsc5cf57a
    • merged codec430a5b
    • tabsprefer loaded activeTabId or null, avoid implicit fallback297138b
    • use SqliteConnectOptions for reliable WAL mode database openingb0d0a4f
    Features
    • add connections group1e91768
    • credential-cacheadd credential cache to reduce keychain calls,ca2e668
    • credentialsfetch connection credentials when editing connectionse580ccf
    • modalsadd ConfirmModal and replace inline confirm dialogs0ceddda
    • new-connection-modalpreselect databases from initial connection53d10c9
    • pluginsadd per-plugin interpreter settings with error modal64ed30c
    • pluginsadd plugin remove modal and integrate into Settingse2d38f5
    • pluginsadd plugin settings and no_connection_required flag7097190
    • selectadd Select component and replace SearchableSelect3be733a
    • settingsadd portal-based plugin version dropdown9f4f82c

    v0.9.6

    View diff
    Bug Fixes
    • add autoComplete="off" to all connection dialog inputs573380b
    • disable macOS autocorrect on connection dialog inputs481f7fe
    • websitescope badge image rule to shields.io onlyaf7dfb7
    Features
    • editoradd close tab keyboard shortcut167de6e
    • filtersadd structured filter utils and toolbar UI150e08f
    • pluginsadd clickhouse plugin to registry1a78418
    • pluginsadd install error modal and improve installer loggingdb2d0de
    • pluginsadd Redis plugin to registry with version 0.1.0 and download links848b530
    • pluginsupdate redis plugin assets and add download logging204175f
    • table-toolbaradd ORDER BY autocompleteed58068

    v0.9.5

    View diff
    Bug Fixes
    • mysqluse per-db pools and include database in pool key9abda3b
    • postgresbind UUID strings as uuid type for queries380c494
    • remove runtime monaco-editor import to bundle only SQLcc8d960
    • updateravoid stale cache and restart app after update38ec23a
    Features
    • Apply Tauri recommended compiler options63de45f
    • cookie-consentadd cookie consent component and policy page37211d5
    • cookie-consentenable cookieless Matomo and consent flowbe1bffd
    • cookiesadd manage cookies button and matomo consent handlingadeedb6
    • data-gridadd header context menu to data grid85a6efc
    • dumpadd schema-aware dump/import utilities and UI integrationf964fb7

    v0.9.4

    View diff
    Bug Fixes
    • blobtreat small UTF-8 varbinary values as plain textc6f5c75
    • datagridinclude pending changes in sidebar row dataec08534
    • reactinclude missing hook deps in Connections and Settings540e69c
    Features
    • connectionsredesign connections UI and add i18n keys3e06b75
    • databasesupport multi-database selection and driver UI metadata02efa39
    • db-panelscope database APIs per panel and display conn namec7ce603
    • dbadd multi-database sidebar and utilities5851da9
    • driversuse branded icons and colors for built-in drivers621d765
    • exploreradd database manager and get_available_databases commandd4ad168
    • keybindingsadd keyboard shortcuts system and persistence45df357
    • keybindingsshow shortcut hints and map display keyse608b5f

    v0.9.3

    View diff
    Bug Fixes
    • open graph image12696a0
    • pluginsresolve plugin executable lookup on Windowsf766141
    Features
    • settingsadd downgrade flow and translations for older versions77ebbb3
    • site-headersmooth scroll to top when clicking logo on homea83b765
    • website - create latests-post.json081c7e5
    • websiteadd blog post for plugins evolved and plugin cardd12b24f
    • websiteadd install links and update installation docsee0c597

    v0.9.2

    View diff
    Features
    • driversadd driver capability metadata and helper utilities3b0a2a3
    • driversadd is_builtin and default_username to plugin manifests60ac211
    • lightboxadd mobile slider, touch and keyboard navigationab00d29
    • pluginadd enable/disable functionality with proper shutdown6a4272a
    • pluginsadd custom registry URL support7f17e46
    • pluginsmanage disabled external plugins99968d8
    • queryuse LIMIT+1 for pagination and add count query7473e63
    • registryadd plugin releases metadata and GitNexus skills49e5480
    • task-manageradd child process details to task managera24b2cb
    • task-manageradd process monitoring and management systemc899ee5
    • task-manageroptimize child process loading4d8e8bc
    • uiadd Task Manager feature article and gallery itemc9f2fd4
    • websiteadd homepage intro and update global stylesa024a74
    • websiteinclude min_tabularis_version in plugin display17f0aab
    • websitemake plugin author link clickable and tidy layout83ed834
    Performance
    • postgresrun count query concurrently for paginated selectsf96152c
    Breaking Changes
    • task-managerremoves children field from TabularisSelfStats, now
    • queryPagination.total_rows is now Option and has_more

    v0.9.1

    View diff
    Bug Fixes
    • appremove localhost debug override7cbbacd
    • ciresolve pnpm store path from website directory6badec3
    • ciresolve pnpm store path from website directoryf0c4620
    • pluginsaccept 'universal' asset as fallback for platform45b638d
    • websitecorrect next-env import path4f04254
    Features
    • blogadd blog section with posts and stylingcc4cab7
    • blogadd post meta bar and syntax highlightingf6a3dc8
    • blogadd search modal, post navigation, and author card01c16c7
    • data-gridsupport multiline cell editing with autosized textareafa9df84
    • driversadd folder_based capability for directory plugins0919ccc
    • driversadd folder_based capability to fallback drivers3ac2a90
    • editoradd tab switcher modal and tab scrolling utilsf50627f
    • flathubadd publishing workflow and flatpak supporta7b10d5
    • homeadd edit-on-github links to home pagefe1af9e
    • layoutset metadataBase to https://tabularis.dev82ba795
    • pluginsadd csv plugin entry to registry602b3c6
    • pluginsadd plugin manifest JSON schema and guide note11d9854
    • pluginsrequire length and precision in manifestsadc5254
    • site-headeradd logo and restructure header with crumbsd9517e8
    • siteadd Matomo tracking and dynamic post list loadingbb80f04
    • uiadd DateInput component and dateInput utils with tests9b3f52b
    • uiredesign theme cards and enhance search modal87481c7
    • updaterdetect installation source and skip updates for packagesd5e4b10
    • websiteadd 404 page, sitemap and header crumbs stylesdb5fb3f
    • websiteadd blog pagination, tags, and og images4aa9352
    • websiteadd plugins registry and unified site header3c3d93c
    • websiteadd post styles and wiki open graph metadata6ef5705
    • websiteadd screenshot 9 and OG page0001546
    • websiteconvert static HTML site to Next.js with static export60201c3
    • websiteuse APP_VERSION and add platform install docs18ffc35
    • wikiadd wiki content, pages, and UI integrationcfee3fd
    Breaking Changes
    • pluginsmanifest.schema.json replaces has_length with
    Major

    v0.9.0

    View diff
    Bug Fixes
    • connectionhandle test failures, check DB file, parse port09600f2
    • database dropdown selection on click631eccc
    • duckdbimprove query type detection in execute_query function9ec6acc
    • editoruse per-tab editor ref and fallback to saved queryb3de58b
    • uihide keychain option for file-based driversf76c0ec
    Features
    • driversadd alter_primary_key and update duckdb pk logicc9b3e9c
    • duckdbadd base64 dependency and extend data types list4c1c494
    • duckdbadd duckdb plugin with manifest and CLI bridge (as5b10c38
    • duckdbinject rowid for tables without primary key in SELECT *2efa700
    • pluginsadd external JSON-RPC plugin system and managerebd23fa
    • pluginsadd plugin registry and installer195f154
    • pluginsimplement dynamic database driver plugin ecosystem609290b
    • websiteadd plugin registry section to website36ac05c

    v0.8.15

    View diff
    Bug Fixes
    • uihide set-empty button for blob fields989e5f9
    Features
    • blobadd blob parsing and payload helperse5e6e66
    • blobadd image preview and fetch blob as data URL8e0d677
    • blobenforce configurable max blob size and show errors86039cc
    • blobhandle large BLOBs with backend truncation and UI support68848d5
    • blobimprove large BLOB handling with preview wire format9de0a4e
    • pool-manageradd default MySQL connection paramsf2fc644

    v0.8.14

    View diff
    Bug Fixes
    • commandsclear connection_id for temporary information_schema pool30f870e
    • connectionsdisconnect active connection before deleting461b027
    • mysqlexclude views from get_tables query146f4af
    • sshverify host keys, use accept-new, secure loggingd8ab538
    Features
    • add split view, open editor, AI overlay; improve connection statebd98bea
    • connectionadd connection manager utils, hook, and UI componentse58456b
    • editorrelocate AI assist buttons to overlay and adjust padding0f346d8
    • layoutadd split view layout with connection grouping903286f
    • layoutadd split view visibility control and panel close buttonb35e059
    • layoutreplace connections icon and remove editor link23a7d8d
    • searchable-selectrender dropdown via portal with positioning396f384
    • sidebaradd context menu to open connection in editor72614b7

    v0.8.13

    View diff
    Features
    • connectionsadd disconnect command and provider handling622ab6c
    • databasetest connection before loading schemas001ea15
    • driversadd data type registry and extraction modulesc6e0d25
    • geometryadd geometry parsing and WKB->WKT formatting6c4aaa5
    • iconsadd Discord icon component and replace MessageSquare usagesf453e1c
    • mysql,postgressupport raw SQL function inputs for spatial datadbcb5f2
    • postgres,i18nadd pg schema selection and Spanish localed278718

    v0.8.12

    View diff
    Bug Fixes
    • drivers-mysqluse column indices for Windows/MySQL 88e30b8f
    Features
    • tauriintegrate clipboard-manager plugin and editor paste0bc7a68

    v0.8.11

    View diff
    Bug Fixes
    • dballow empty inserts for auto-generated fields in insert_record5c34144
    • postgresread is_pk as bool instead of i6490a95da
    • ui-data-gridhandle insertion row metadata and cleanup commentsd54c3cb
    • uishow database load error below database selectfe6d7eb
    Features
    • communityadd community modal and Discord linkd031009
    • data-gridadd cell display utils and styling helpers759b80c
    • data-gridadd DEFAULT sentinel handling and cell value actionsb89eed5
    • data-gridadd edit and mark-for-deletion actions in context menu7e7426c
    • dbimplement default value retrieval for MySQL and PostgreSQLac7ecd5
    • drivers-postgresadd extended PostgreSQL metadata functions and4f91dbb
    • editoradd global Ctrl+F5 shortcut to run queries895bfb6
    • editoradd pending insertions supportc4c6ad9
    • editoradd table run prompt and fallback query handling483fdd4
    • editordisplay discard option and handle auto-increment defaultsbb60012
    • prefsadd editor preferences persistence via tauri backend9b481d9
    • roadmapadd links to roadmap and make items openable77f7995
    • roadmapadd roadmap sync workflow and update scripts2a8c48d
    • ui-datagridadd tab key navigation between cellse101191

    v0.8.10

    View diff
    Bug Fixes
    • keychainlog errors to stderr in get_ai_keya4ad95a
    • mcpupdate cross-platform directory handling for project paths3ae677c
    • modalsupdate ModifyColumnModal SQL generation and submissione8c9e15
    Features
    • aiadd delete AI key command and status APIce295bd
    • cliadd debug mode logging flag to enable verbose logging5b24e74
    • connectionadd list databases feature for MySQL, PostgreSQL,64816a8
    • custom-openaiadd support for custom OpenAI-compatible API configuration3e80a07
    • er-diagramadd configurable default layout setting in schemaf45ad8f
    • er-diagramadd table focus, layout toggle, and context menu6f0b997
    • loggeradd in-memory log capture and log commands for managemente551749
    • modalupdate driver reset logic in connection form0e47969
    • pooladd stable pooling with connection_id for SSH tunnels2faf727
    • readmeadd OpenAI-compatible APIs section and sync roadmap651de87
    • routinesadd commands to fetch routines and their detailsa1ab2d2
    • sidebaradd refresh tables button21c6c6f
    • sqladd identifier escaping helpers for MySQL, Postgres, and79f1ac4
    • tauriadd debug mode flag with is_debug_mode commandc814a66
    • tauriadd devtools commands and auto-open in debug modeaf698bf
    • updateradd automatic update checking and install support0bd16ad
    • viewadd database view management commands and UI components48b558d

    v0.8.9

    View diff
    Bug Fixes
    • keychainlog errors to stderr in get_ai_keya4ad95a
    • mcpupdate cross-platform directory handling for project paths3ae677c
    Features
    • aiadd delete AI key command and status APIce295bd
    • connectionadd list databases feature for MySQL, PostgreSQL,64816a8
    • custom-openaiadd support for custom OpenAI-compatible API configuration3e80a07
    • loggeradd in-memory log capture and log commands for managemente551749
    • modalupdate driver reset logic in connection form0e47969
    • readmeadd OpenAI-compatible APIs section and sync roadmap651de87
    • sidebaradd refresh tables button21c6c6f
    • tauriadd debug mode flag with is_debug_mode commandc814a66
    • updateradd automatic update checking and install support0bd16ad

    v0.8.8

    View diff
    Features
    • componentsrefactor SSH connections modal logic732af14
    • databaseadd dump and import utilities5927e04
    • datagridadd copy row and selected cells functionality1159299
    • editoradd middle-click tab close functionality8a08abc
    • sidebaradd accordion, nav item, table item, resize hook, types173aa12
    • sidebaradd responsive actions dropdown for narrow sidebars65f166d
    • sshadd SSH connections management support9f0f8be
    • sshenhance SSH connection credential handling6c4f277
    • sshimprove SSH connection management and validationec12241
    • uienhance connection modal status feedbackfc02ce6

    v0.8.7

    View diff
    Features
    • aiadd new model entries and centralize API key retrievalc0fdeeb
    • aiadd Ollama provider with dynamic model fetching and cachingfd30ab5

    v0.8.6

    View diff
    Features
    • uiadd context menu positioning utils and SQL generator utilities9d63a37
    • utilsadd settings and theme management utilities952d651
    • utilsadd visual query SQL generator and table toolbar helpersca44962
    • utilsextract and add testable utility modules with unit tests369a9af

    v0.8.5

    View diff
    Bug Fixes
    • backendprepend app name to ER diagram window titlec3c652c
    • sidebaradd error handling for index deletion and i18n messages346adc8
    Features
    • editoradd apply-to-all toggle for batch updatese5e5aa8
    • sidebaradd Generate SQL modal for tables0c077ca

    v0.8.4

    View diff
    Features
    • i18nadd themeSelection translation key43daa61
    • settingsadd configurable font family and size7daf6ef
    • settingsadd font family selection and lazy-loaded fonts8a0e61a
    • settingsadd localization tab and gallery imagesbb00a26
    • settingsimprove AI config handling and detectionb9d0831
    • themeadd font settings and ai custom models to app config8e849e2
    • themeapply dynamic theme colors to sidebar and settings logoscc23fab
    • themeimplement theme system with CSS variables and provider55f8905
    • themeintegrate monaco-themes and add new preset themes9154510
    • uiadd modal styling rules, SqlPreview component and splashf74f063

    v0.8.2

    View diff
    Features
    • er-diagramadd window command and page for schema diagrams676b41f
    • schema-diagramadd refresh UI and encode ER diagram parameters61b8b00
    • schemaadd schema diagram UI with backend snapshot72849e8
    Breaking Changes
    • er-diagramremove `schema_diagram` tab type from editor tabs

    v0.8.1

    View diff
    Features
    • connectionsadd connection loading state36a72d2
    • editoradd convert to console action and translationsc3ad2b2
    • modaladd run mode to query params modala8af1c3
    • queryadd parameterized query support9fd2fbc
    • sqlpreserve ORDER BY clause during paginationa963c28
    • uiadd column sorting in DataGrid896658c
    • uiadd virtualized data grid and SQL editor wrapper30a9099
    • uienhance table interaction with click and double-click actionseccc881
    Major

    v0.8.0

    View diff
    Features
    • aiadd AI integration with backend, settings UI, and docs0ff1899
    • aiadd AI query generation and explanation support370f1e8
    • aiadd dynamic model loading with fallback and experimental flag702103e
    • driversadd table sorting for all database typesbeb8abc
    • editoradd DataGrip‑style SQL autocomplete and enable word wrapfb1d252
    • exportadd query result export to CSV and JSONe283aa1
    • mcpadd MCP server integration with UI and config handling8d61571
    • mcpadd name support for connection resolutionf01d685

    v0.7.1

    View diff
    Bug Fixes
    • editorclear pending state when running queryfe3354b
    Features
    • databaseimplement connection pool manager8ea4278
    • table-viewenhance filtering with dynamic placeholders and limitcfc5f53
    • uienhance table view with full-screen mode and filtersb528821
    Major

    v0.7.0

    View diff
    Features
    • data-gridimprove table extraction and cell renderingfd21915
    • driversenhance multi-database decimal and null value handling4d49f66
    • driversimprove datetime parsing and formatting74c394b
    • editorimprove query execution loading stated1decc1
    • settingsfix external links by using opener plugin11acdb5
    • uiimplement batch editing with pending changes and deletionscb6aecb
    • websiteadd landing page and sync version handling471bf68

    v0.6.1

    View diff
    Features
    • versionadd APP_VERSION export and sync script54aeaa6
    Major

    v0.6.0

    View diff
    Features
    • i18nadd internationalization support and bump version to 0.6.0e1cab12
    • securityintegrate system keychain for connection passwordsab284b5
    • windowadd Wayland window title workaround for Linuxc09ae72
    Major

    v0.5.0

    View diff
    Bug Fixes
    • restore pagination controls and fix truncated flag scope1bdf104
    Features
    • release v0.5.0 - Advanced Schema Management & UX Improvementsf2d7d1c
    • schemaadd foreign key, index structs and: column edit UIc20c550
    • sidebaradd column explorer with delete actionb25cd50
    • uiadd multi-row selection and select-all column to DataGrid66ddfaa
    Major

    v0.4.0

    View diff
    Features
    • ciadd readme downloads workflowd48ef6b
    • editoradd DataGrip-style multiple query tabs with isolation688739a
    • visual-query-builderadd delete table node UI and auto GROUP BY0f1f9be
    • visual-query-builderadd visual query builder UIf97b67a
    Major

    v0.3.0

    View diff
    Features
    • connectionadd duplicate connection command and clone button4e00382
    Major

    v0.2.0

    View diff
    Bug Fixes
    • driverssupport additional numeric types and correct row mapping0769f3b
    Features
    • add query cancellation, sanitization, and multi‑statement support403956a
    • connectionsadd error handling UI and propagate connection errors3494021
    • editoradd run dropdown and dynamic window title99b3d1c
    • paginationimplement server‑side pagination and UI controlsf50b110
    • saved-queriesadd saved queries support9839737
    • settingsimplement query limit UI and backend streaming support9fd89f3
    • sshadd SSH tunnel support with connection edit/delete UI3a9fc49
    • sshadd system SSH backend and URL encoding for DB URLs5e93ea3

    Get the latest version

    Every release above ships to Windows, macOS, and Linux. Tabularis is free and open source (Apache 2.0) — and a star on GitHub helps more developers discover it.

    GitHub4.9k

    73k downloadsHomebrew, Snap, AUR and more →View all releases on GitHub →