Skip to content

Releases: HeidiSQL/HeidiSQL

HeidiSQL Linux v12.14.1.1

11 Dec 18:03
1a2f1f3

Choose a tag to compare

12.14.1.1 - 2025-12-11

⛰️ Features

  • Shell script for creating macOS app bundle - (af24108)
  • Support XML formatting in grid popup text editor - (913fc9d)
  • Switch to grayscale icons on inactive query tabs - (917e046)
  • Support SSH tunnel configuration per commandline - (35a5225)
  • Display some known file type icons in file open/save dialog - (b4c0566)
  • Finalize keyboard shortcut customization in preferences - (637d2d6)
  • Add new keyboard shortcut editors on preferences dialog - (cc4e6f1)
  • Keep time fractions intact for CSV exports - (06322de)
  • Use custom folder icons in tree on file dialogs, in non-Windows mode - (3094d79)
  • Show NULL values in system variables listing - (06b44eb)
  • Highlight same text in grids based on all selected rows - (afc9d8c)
  • Support fractional UNIX timestamps in grids - (65c1472)
  • Add "source table: xyz" hint to query result column headers - (2863a80)
  • Support click on path parts on top label of file dialog - (98b796b)
  • Convert all save/open dialogs to the new custom one - (4a8c53c)
  • Create file-save dialog with linebreaks selector - (d5d34ad)
  • Recreate basic TExtFileOpenDialog without OS owned dialog and room for customization - (bac0d7a)
  • Full support for different icon packs, Silk and Icons8 - (dbca69d)
  • Add 206 Silk icons into new TImageList - (769afa5)
  • Require libsybdb5 in DEB package - (e1781f9)
  • Mark MS SQL protocols like named pipe as unsupported, advise the user to change to TCP/IP - (b20f121)
  • Dirty and basic support for MS SQL - (3df3673)
  • Show more detailed backtrace in crash dialog - (bc0a7de)
  • Support SSH passwords via sshpass - (f2b2dc3)

🚀 Enhancements

  • Position session manager centered over main form, ignore position set by user - (571c671)
  • Align bottom buttons on session manager - (ca7aad6)
  • Set font style and color of size column in tree - (f987c81)
  • Move RightEdge on SQL editors out of sight - (2a23e26)
  • Light text color instead of ghosted/ugly icon for unseen tree nodes - (76aefb3)
  • Disable tree option asDoubleClickInsertsNodeText by default - (1c9321c)

🐛 Bug Fixes

  • Connect MS SQL query to session transaction, run .ExecSQL - (59191da)
  • Prevent SQL delimiter being set to PostgreSQL quotes - (a3acc04)
  • Crash when grid-exporting without required key - (ff6050f)
  • Delete CLI-created session settings from registry after disconnect - (8778d40)
  • Another broken thousand separator - (24f3e36)
  • New attempt to hide SynEdit caret when unfocused - (03f4a5f)
  • A TSpeedButton connected to a TAction, and a TMenuItem were not auto-checking - (42abf46)
  • Database icon in Icons8 list too small - (dda44be)
  • Cannot save new table when added column was removed - (1fe709a)
  • Compile without MS SQL support on macOS - (9a4d841)
  • Query batch stops at second last query if it has errors but StopOnErrors is off - (6e40c62)
  • Drag'n drop on Linux requires VT.DragType = dtVCL - (4fd646c)
  • Enable drag'n drop in table editor and session manager - (9afc60f)
  • Detected empty text DEFAULT value for table columns - (4c0617d)
  • Append quick filter without linebreak - (8ea3b94)
  • Wrong icon sizes, disable right-click select for column list so selection is kept - (a145fc5)
  • Remove dead code, fix some compiler hints - (79bcd1d)
  • Bad position of TEdit on TInplaceEditorLink - (8d119a0)
  • Quick filter > "more values" submenu not created/shown - (8696e61)
  • Empty KeyStrokes list on text editor - (db00c83)
  • Broken caption on inline text edit button - (1730956)
  • User queries not showing up in log panel - (222a386)
  • Do not edit grid cell on right-click, and set HotCursor on DBtree - (0257867)
  • Flashing main form in background after cancel session manager - (0563b4d)
  • Work around empty space artifact in ShellListView - (cf9ed85)
  • Move all Application event assignments to .lpr file - (64919d6)
  • Confusion with (selected) folder icons - (b488ca2)
  • Tree with keyboard actions shows wrong captions - (5e20c53)
  • Binary result values displayed as 000... - (4322372)
  • TMySQLQuery.TableName() returns wrong string, and introduce apphelpers.GetAppDir - (bb517d7)
  • Crash in AnyGridPaintText with no query result - (59659f0)
  • Error: (4004) Variable identifier expected - (13a0127)
  • Crash in printer dialog with 0 printers available - (6eecdd8)
  • Missing file for previous commit - ([...
Read more

HeidiSQL Windows 12.14.0.7165

11 Dec 18:30
6c07672

Choose a tag to compare

Note: You can already get a preview of v13 for Windows, built on the same codebase as the Linux version. See the
download page for a zip package.

3rd party updates:

  • update SQLite library to v3.51.0

Bugfixes and enhancements:

  • fix: crash when grid-exporting without required key (issue #2311)
  • fix: cannot save new table when added column was removed (issue #2326)
  • fix: delete CLI-created session settings from registry after disconnect (issue #2162)
  • fix: query batch stops at second last query if it has errors but StopOnErrors is off (issue #2317)
  • feat: support SSH tunnel configuration per commandline (issue #2322)
  • disable tree option asDoubleClickInsertsNodeText by default (issue #2307)
  • fix: require elevation per build button only if app directory is not writable by user (issue #2305)
  • feat: keep time fractions intact for CSV exports (issue #2098)
  • fix: crash in AnyGridPaintText with no query result
  • feat: show NULL values in system variables listing (issue #1281)
  • feat: highlight same text in grids based on all selected rows
  • fix: crash in printer dialog with 0 printers available (issue #2283)
  • feat: support fractional UNIX timestamps in grids (issue #884)
  • feat: add "source table: xyz" hint to query result column headers https://www.heidisql.com/forum.php?t=44554

HeidiSQL Linux v12.13.1.1

03 Nov 12:18
bf23332

Choose a tag to compare

[12.13.1.1] - 2025-11-03

⛰️ Features

  • Sort session folders at top per setting - (93dc936)
  • Filter box in user manager - (b57b764)
  • Add checkbox "Open file after creation" to grid export dialog - (613f4d8)
  • Allow sorting columns in table designer - (8541eb4)

🚀 Enhancements

  • Make file exit action OS friendly - (1f19d00)

🐛 Bug Fixes

  • List procedures in PostgreSQL - (db902f7)
  • Missing DELETE HISTORY privilege on MariaDB - (f7b80db)
  • Prevent crash in auto-refresh action - (2c25e04)
  • Bad message with no library selected - (f9a486b)
  • Generate missing values for geometry columns - (eb1b5ea)
  • Allow modify length of index with binary column - (173efeb)
  • End global "edit function" mode for grid editing early - (5cac850)
  • Take care for escaped ENUM definitions - (328fb72)
  • Support return data type of stored function containing white spaces - (d7b1faa)
  • Safety replacement for folder separator when renaming a session or folder - (18a21ef)
  • Leave away schema when double-click table for inserting into query editor - (b72f259)
  • Sticky empty-password warning after setting a non-empty one - (f2028e1)
  • Support double dollar quotes on PostgreSQL - (caeae88)

📚 Documentation

  • (CHANGELOG) Proper changelog - (79bb279)

⚙️ Miscellaneous Tasks

  • Bumping version to 12.13.1.1 - (bf23332)
  • Using correct target of build-* - (16a54a5)
  • Fixing some blantant mistakes - (76dfa98)
  • New category: Enhancements - (dd1ad34)
  • Removing unnecessary tx-push recipe - (d293d64)
  • Forgot to copy .ini files on run-* - (c513e53)
  • Completing run-gtk2, run-qt5 - (04650d9)
  • Adding empty tx-push to Makefile - (3ceed39)
  • Adjusting workflow to skip secrets detection - (14dd9ce)
  • Adding usage of secrets.mk - (123a2e7)
  • Forgot to change the output folder - (78f1415)
  • First batch of changes - (2bee126)

Note

For a list of all the changes up to date, please read CHANGELOG.md.

Tip

This version has problems loading libmariadb library. The issue will be fixed in the next release. To work around in this release you may switch to libmysqlclient instead. If the library drop-down does not show libmysqlclient, install it via sudo apt install libmysqlclient-dev.

HeidiSQL Windows 12.13.0.7147

03 Nov 16:13
5bf9baa

Choose a tag to compare

New stuff:

  • feat: sort sessions and folders according to user locale (#1828)
  • feat: sort session folders at top per setting (#1828)
  • feat: filter box in user manager (#2275)
  • add checkbox "Open file after creation" to grid export dialog (#912)

Bugfixes and enhancements:

  • fix: sort empty session folders like non-empty ones (#1828)
  • fix: set modified flag after move per button (#2220)
  • fix: column reordering per drag and drop (#2220)
  • fix: list procedures in PostgreSQL(#2278)
  • fix: missing DELETE HISTORY privilege on MariaDB (#1026)
  • fix: prevent crash in auto-refresh action (#1060)
  • fix: bad message with no library selected (#1020)
  • Table data generator: generate missing values for geometry columns
  • allow modify length of index with binary column (#900)
  • fix no longer working move up/down of selected columns, see https://www.heidisql.com/forum.php?t=44467 (#2220)
  • end global "edit function" mode for grid editing early (#875)
  • take care for escaped ENUM definitions (#799)
  • work around non-greedy expression when extracting the return data type of a stored function with a space in it. (#768)
  • safety replacement for folder separator when renaming a session or folder (#682)
  • leave away schema when double-click table for inserting into query editor (#551)
  • fix sticky empty-password warning after setting a non-empty one (#441)
  • allow sorting columns in table designer by click on their header (#2220)
  • ignore semicolon between double-dollar quoted strings when separating SQL queries by semicolon, e.g. $$ foo; bar $$ (#1326)

12.12 Linux

08 Oct 19:06

Choose a tag to compare

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • Most of the updates done on the Windows version, plus:
  • Fix a bunch of compiler warnings and hints
  • Update check: do not confuse users with a changelog link of the Windows version, and hide (Windows) nightly build text
  • Issue #2201: allow GetSessionNames() to create the given ParentPath if it does not exist, in this case the empty "Sessions" root key
  • Let PortOpen() return true when netstat command could not be run, to prevent loops with broken commands
  • Remove dead comments from THttpDownload
  • Issue #2225: fix crash in grid editing, when canceling through Esc key
  • Issue #2225: fix crash in grid value change, apply patch from hennerdrewes with Application.QueueAsyncCall in DoEndEdit
  • Prefer UTF-8 encoding for loading files, instead of auto-detection, which breaks in many cases. See https://www.heidisql.com/forum.php?t=44351
  • Issue #2229: prefer const over constref for FPC>=3.2.4, fix unsupported TabOrder on TSpeedbutton, pass a float value to FloatToStr
  • remove unused units from uses clause in lpr project file
  • Issue #2221: fix wrong detection of table alias and following dot, with text after the current cursor position
  • Issue #2221: enhance SQL completion proposal in a way SynEdit/Lazarus propagates it, with a focus on column names
  • Issue #2227: enable formatter for JSON code in text editor
  • Issue #2203: auto-convert Windows home path to Linux home path when importing a setting file
  • Issue #2222: fix missing last character in CREATE TABLE code on table editor and copy-table dialog
  • Issue #2202: show a more helpful hint when no library was selected (and none is available) for connecting
  • Issue #2216: remove predefined SynMemo keystrokes ecLineBreak, ecInsertLine, ecDeleteWord. The latter one inactivates Ctrl+T shortcut for new query tab
  • Issue #2202: prefer libmariadb over libmysql when none of them is installed. Also, prefer the -dev packages.
  • Issue #2202: depend on libgtk2.0-0t64, openssl and openssh-client. Also, require all of the database driver libraries so users are not potentially left with an empty library drop-down.

12.12 Windows

06 Oct 09:06

Choose a tag to compare

Get it from the download page

The v12.12 release now abandons the 32 bit portable releases and nightly builds.

Back in Jan 2019, for v10.0, I created the first 64 bit release with the support of the Delphi 10.3 at that time. Since that release I provided both 32 and 64 bit releases for more than 6 years now. Due to the decreasing availability of 32 bit drivers and libraries, and with a user base of ~0.5% it makes sense to safe the effort for these. Note the previous releases with 32 bit variants are still available on the download page.

Also notable: heidisql.com has been moved to Manitu, an excellent hosting provider in Germany. Update checks, SQL formatting and statistic calls should benefit from the enhanced speed.

New stuff:

  • Issue #2254: Support for trigger editing on SQLite

3rd party updates:

  • Upgrade compiler to Delphi 12.3.
  • Update MariaDB Connector/C to v3.4.7
  • Add MySQL Connector libmysql v9.0.4
  • Update SQLite libraries to v3.50.4
  • Update SQLite multiple cipher libraries to v2.2.4.
  • Update PostgreSQL libpq/17 to v17.0.6
  • Update PostgreSQL libpq/15 to v15.0.14
  • Remove PostgreSQL libpq/10 and 12, depending on the outdated and insecure libssl v1.1.1w
  • Update Virtual-TreeView component to v8.2 from Sep 5 2025

Bugfixes and enhancements:

  • Issue #2161: fix reading and writing user limitations in newer MySQL versions
  • Issue #2126: rephrase SQL query for retrieving the oid of citext data type, to prevent errors in the server logs
  • Issue #2257: fix height of grid column header
  • Issue #2122: support table comment syntax when creating new PostgreSQL tables
  • Issue #41: use N(ational) prefix on MS SQL strings on all quoted strings, regardless of their exact data type, to support Unicode in meta queries as well
  • Issue #2167: remove fallback to insecure http calls when https failed
  • Issue #2250: use N(ational) prefix in MS SQL for any text value going through the second version of EscapeString(), supporting Unicode now when importing a file into a table.
  • Fix unsaved highlighter selection of default "General"
  • Fix memory leak
  • Issue #2249: call FixVT() in FormCreate consequently, so the trees do not change their row height after the second use. Also increase TextMargin and reduce Margin.
  • Issue #2243: keep UserKnownHostsFile enabled in ssh.exe mode, so the message saying "permanently added xyz to the list of known hosts" is telling the truth now
  • Do not require a "Content-Length" response header in THttpDownload. Responses mostly come compressed with "Transfer-Encoding: chunked" and then need hacks to get a Content-Length header. See https://www.heidisql.com/forum.php?t=44407
  • Issue #1313: support MariaDB's COMPRESSED attribute for columns in table editor
  • Issue #2243: suppress prompt to save a yet unknown host key in ssh.exe mode, by disabling StrictHostKeyChecking and UserKnownHostsFile . I have no clue to where ssh.exe sends that message, it's neither in stdOut nor in stdErr.
  • Issue #2243: fix input being ignored by plink by adding a linefeed after y/n
  • Issue #2243: add -legacy-stdio-prompts argument only to plink v0.82 or newer, not on older versions
  • Issue #2233: fix detection of column length in SQLite, when the column type contains a space before parenthesis
  • Issue #2212: add type prefix to export file name, when exporting one file per object, to fix overwriting same filename for different object types
  • Issue #2218: don't disable completion proposal when cursor is right besides a string or comment
  • Issue #2205: Remove subpart from column indexes when user changed its data type to non-text
  • Issue #2193: expect some more characters to indicate a boundary for an identifier: ! < >
  • Table data generator: use only space, new line and letters in text columns, and limit to 1024 characters
  • Issue #176: move foreign key column value behind the text value, in the grid foreign key drop-down, so a user may select an item by typing letters
  • Leave space for column id in grid column headers. See https://www.heidisql.com/forum.php?t=44161
  • Issue #2266: Invisible virtual column syntax is generated wrong

12.11.1.167 Linux

20 Jun 14:11

Choose a tag to compare

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • Most of the updates done on the Windows version, plus:
  • Issue #2197: Can't set logging due to file not open error
  • Issue #2182: mariadb cannot add users
  • Issue #2177: Sort icons in column headers of data and query grid
  • Issue #2165: Support libperconaserverclient for MySQL
  • Issue #2189: wrong digit separator localized version

12.11 Windows

09 Jun 10:50

Choose a tag to compare

Get it from the download page

3rd party updates:

New stuff:

  • Issue #604: add context menu item "Select top 1000 rows"
  • Issue #2175: if asShowRowId option is enabled, show also the index of columns in their header, through the OnAdvancedHeaderDraw/ownerdraw event
  • Issue #2168: select rows from table to export by its primary key columns, so PostgreSQL does not apply a random sorting
  • Issue #2155: paint session background and icon in session drop-down of SQL export dialog
  • Issue #2107: add "invert check" menu item on table tools tree
  • Issue #2068: support MariaDB's new VECTOR index in table designer, without M and DISTANCE settings yet
  • Issue #2068: support MariaDB's new VECTOR data type in table designer, categorize as binary
  • Issue #2083: add menu item "Copy all lines" for copying visible and initialized nodes from any VirtualTree instance as CSV data
  • Issue #1975: add "keep asking" checkbox to reformat dialog
  • Issue #646: forget setting for "Favorite objects only" on each connection start
  • Issue #2064: support UTF-8 BOM encoding when loading and saving editor files

Bugfixes and enhancements:

  • Issue #1253: fix index creation on PostgreSQL tables, use separate CREATE INDEX queries
  • Issue #2187: Fixed EAccessViolation when closing editor while using non-default theme
  • Create helper table with the servers' default engine when exporting a view. See https://www.heidisql.com/forum.php?t=44125
  • Issue #2186: fix wrong number of rows shown in grid export dialog when post filter is active
  • Issue #2118: activate legacy-stdio-prompts mode in plink SSH tunnel, to fix non prompted passphrase since plink 0.82
  • Issue #604: sync number of rows to query with the per-page data grid setting
  • Issue #604: support multiple tables and views selected on database tab, in new "Select top 1000 rows" feature
  • Issue #2172: fix wrong comment
  • Issue #2172: prompt for password again, when connection has timeout or broke
  • Issue #2159: fix memory leak
  • Issue #2159: SQLite: export separated table indexes, and export views and triggers
  • Issue #2168: turn off synchronize_seqscans variable in PostgreSQL mode, to be sure SELECT's show a stable row sorting. See https://www.postgresql.org/docs/8.3/runtime-config-compatible.html#GUC-SYNCHRONIZE-SEQSCANS
  • Issue #1853: try to fix column definition changes on MS SQL wrt collation quoting and default value
  • Issue #2155: high DPI fix for painting icons in SQL export target drop-down
  • Issue #2156: unescape generated column expression when loading from IS.COLUMNS
  • Keep retrieving exact row count on data tab header after activated via context menu, until another table has focus
  • Display number or rows in data tab header for views. See https://www.heidisql.com/forum.php?t=44057
  • Issue #214: when refreshing, ask user if he wants to discard modifications in table/view/routine/... editors
  • Prefer Boolean over Bool type in owned code
  • Issue #2139: fix missing AND's in REQUIRE clause, and move REQUIRE clause from GRANT to ALTER USER query, as MySQL does not support that in GRANT since v8.x
  • Issue #2133: revert broken characters and encoding of apphelpers unit
  • implementation of Unicode logic for password encryption
  • Issue #2132: fix crash when saving an sql file previously loaded with auto-detected encoding
  • Issue #2123: prevent crash in libpq when disconnecting an already disconnected connection
  • Issue #2128: fix wrong encoding of connection string for PQconnectdb()
  • Issue #2123: fix reconnect mechanism in TPGConnection.Ping()
  • Issue #2119: optimize calculation of status bar panel widths
  • Issue #1986: do not set CLIENT_SSL flag with libmariadb, which seems to cause a "bad handshake" in mysql_real_connect()
  • Issue #2103: fix latin1 charset used with libmysql v8.x which reports "utf8mb4" by mysql_character_set_name()
  • Issue #2101: attempt to reactivate progress bar in status bar when running through Wine, now with a safety check for IsWindow()
  • Update default functions-mysql.ini with predefined line breaks and much more help content
  • Update functions-mysql8.ini with predefined line breaks and much more help content
  • Enable padding in multiline tooltips with a derived THintWindow class
  • Reduce web page openings to once after successful nightly update
  • Wrap long lines in data type hints. See https://www.heidisql.com/forum.php?t=43881
  • Simplify and optimize functions generator for MariaDB, and update functions-mariadb.ini with predefined line breaks
  • Issue #2095: fix wrong/no control characters used when changing format to Excel csv via file-save dialog
  • Issue #2083: use empty field delimiter and tab separator for new copy-lines feature
  • Issue #2085: tell TStringStream.Create not to free its TEncoding object after usage, as we use application-lifetime-available encoding instances
  • Issue #2084: show numeric values in variables tab locally formatted in a tooltip
  • Show type of exception happening through AppSettings.ExportSettings
  • Issue #835: move prompt for overwriting output file from save-dialog to later when exporting is started, catching cases where the previous filename is used
  • Issue #2079: work with the "default" set of SQLite encryption parameters, not the transient ones
  • Prevent connection activity through hovering table token while user query is running. Similar to issue #278

12.10.1.133 Linux

06 May 15:56

Choose a tag to compare

12.10.1.133 Linux Pre-release
Pre-release

First Linux version as a release with a tag.

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • SSH tunnel support now works, using external ssh command, like in the Windows version
  • Translation support for 35 languages, through .mo files. Thanks to all the translators on Transifex!
  • Icons on status bar
  • Enable bracket highlighting in SQL editors
  • Grid cell editors working (with quite a few crashes)
  • Enabled automatic tab restore
  • Table editor and the others (view, routine, trigger, event) working now
  • All forms now use Lazarus' excellent anchorings for controls

Known issues:

  • #2149: Missing support for MS SQL and Interbase/Firebird
  • #2131: Crashes in grid cell editors, especially after hitting the Esc key
  • #2143: No .rpm package for RedHat based Linux. Help appreciated.
  • #2141: no wordwrap in SQL editors

A big thanks go to the Lazarus team for providing such a nice and responsive IDE. Congratulations for releasing Lazarus 4.0 these days. HeidiSQL for Linux is yet built with Lazarus v3.8 and FreePascal v3.2.2.

12.10

21 Jan 19:02

Choose a tag to compare

Get it from the download page

3rd party updates:

  • Issue #2076: exchange 32 bit SSL libraries with their 64 bit pendants, fixing SSL connections with libpq and libmariadb