Skip to content

Releases: HeidiSQL/HeidiSQL

12.12 Windows

06 Oct 09:06
Compare
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
Compare
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

09 Jun 10:50
Compare
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
Compare
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
Compare
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

12.9

18 Jan 16:11
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

New stuff:

  • Show editor hints for string literals, revealing their character length
  • Show editor hints for routine tokens, with routine parameters, comment and body
  • Show table columns with datatype in table token hint (screenshot)
  • Issue #872: add support for creating and altering INVISIBLE columns in table editor with MariaDB 10.3.3 and MySQL 8.0.23 (screenshot)
  • Issue #2066: support MSOLEDBSQL ADO providers with version postfix for MS SQL (screenshot)
  • Issue #1975: add preference option to skip dialog for selecting the SQL reformatter (screenshot)
  • Issue #1777: basic support for function key parts in MySQL 8.0+ (screenshot)
  • Show editor hints for SQL functions, data types, tables and procedures when mouse hovers a token
  • Show function description text in hint panel when using the completion proposal
  • Issue #2046: support 4 different SSL verification levels on PostgreSQL
  • Issue #2035: support new REPLICA MONITOR admin privilege on MariaDB 10.5.9+
  • Issue #2009: basic implementation of a data generation tool, in table tools dialog (screenshot)
  • Issue #2004: load and display SQLite triggers in database tree and tab
  • Issue #619: support spatial columns with an SRID in table editor, on MySQL 8.0+ (screenshot)
  • CSV import: add checkbox option for keeping dialog open after successful import, so the user may process multiple files with less clicks (screenshot)

Bugfixes and enhancements:

  • Fix incompatible parameters for OnDragDrop event on some VirtualTree's
  • Code readability: use named constants for column indexes on table editor
  • Issue #1777: indicate functional key part in table editor with a different icon
  • Issue #2071:
    • drop 32bit mode from installer
    • update copyright year in license file
    • #1296: remove VC redistributable package (will be replaced by a note on the download page)
  • Issue #2071: provide 3 new languages by InnoSetup installer
  • Fix non-painted pasted columns in table editor
  • Issue #2063 and #2002: repaint database tree after filtering
  • Issue #2035: rename REPLICA MONITOR privilege to SLAVE MONITOR, which seems to be the preferred name in MariaDB
  • Issue #2003: set no column for auto-sizing, in foreign key list
  • Issue #2038: fix empty preview panel on first click in image blob
  • Issue #2050: Add new line at end to support comments at the end of a view definition
  • Issue #2058: create a more complete functions-postgresql.ini from the documentation on postgresql.org
  • Put key icons besides column names in completion proposal
  • Issue #2051: fix unused column default value when creating a new grid row, if that default value is a simple integer expression
  • Issue #2024: fix slow grid export
  • TMySQLConnection.SetOption: find defined name of option constant per RTTI and show it in error message (when setting failed)
  • Issue #1426 and issue #1768: minor: do not try to set MARIADB_OPT_TLS_VERSION option with libmysql
  • Issue #1426 and issue #1768:
    • fix value of MYSQL_OPT_SSL_VERIFY_SERVER_CERT constant, hopefully fixing SEC_E_ALGORITHM_MISMATCH with libmariadb
    • disable MYSQL_OPT_SSL_VERIFY_SERVER_CERT if SSL checkbox is not checked, required since libmariadb C Connector 3.4.0
    • show colored warnings in log panel for each failing mysql_options() call
  • Issue #2041: categorize PostgreSQL's MONEY type from floats into text types, to fix exports and editing localized values including a currency symbol
  • Issue #1253: minor code simplification and inline documentation
  • Issue #2040: fix new crash through accessing non existent ActiveGrid
  • Issue #1253: fix queries for dropping primary or unique key in PG tables
  • Issue #2040: when closing a query tab, cancel cell editor if active, preventing crash
  • Table editor: fix crash happening through clear indexes button
  • Issue #1981: increase contrast for colored text in privilege tree with dark styles
  • Attempt to fix DLL hijacking issue with DWrite.dll per manifest
  • Issue #2036: disable clickable anchors in message dialogs when current style is dark, to work around unreadable text
  • Issue #1992: Escape ampersand in caption of menus and tabs, preventing underlined hotkey generation for names of session, database and tables
  • Issue #2031: Cast MySQL's JSON type columns to literals in WHERE clause of grid UPDATEs and DELETEs. Similar to PostgreSQL's colName::text / issue #769
  • Issue #922: remove milliseconds from exported date/time values in Excel mode
  • Issue #278: prevent connection activity through hovering status bar while a query is running
  • Issue #1965: remove unused variable
  • Issue #321: leave away name of indexes when creating a table on PostgreSQL
  • Issue #2000: disable multiline feature in grids, even when setting "Lines of text in grid rows" is larger than 1. Aims to fix laggy performance in grid with large contents.
  • Enable loading first part of JSON columns in grid, enhancing scroll performance
  • Issue #2014: code refactor: move ParseSSLSettings into TUser class
  • Issue #2014: user manager: parse SSL settings from SHOW CREATE USER, but also keep parsing SHOW GRANTS for backward compatibility
  • Issue #2011: pre-select a reasonable collation if the servers default collation is not set or not yet supported by Heidi
  • Issue #1907: fix missing assignments in TDBObject.Assign, causing a default AvgRowLen of -1 which slows down the SQL export
  • Code cleanup: Make use of TDBConnection.Has(TFeatureOrRequirement) in more MySQL related code
  • Issue #2007 and issue #1965: use the previous RowsAffected value after ShowWarnings in grid update
  • Issue #2006: enhance foreign key combo editor in grid for long item text, so the items show a hint in mouse-over
  • About box: show Delphi version behind compiled date
  • Issue #1998: fix non-scaled title text font in completion proposal
  • Issue #1991: check if left part of table name up to a dot lives in the database list. If not, assume it is part of the table name.
  • CSV import: set default folder and filename in open-file-dialog to the one of the selected file
  • Issue #1984: fix undefined and wrong result of TMySQLQuery.TableName when using a table alias
  • Move mostly empty log message to debug level
  • Issue #2000: restore partly disabled support for multi lined grid rows
  • Issue #2070: clear grid selection when jumping to next search result
  • Issue #1874: fix using "UnknownTable" when copying PostgreSQL rows in data tab
  • Set hint font from underlying SQL editor, to apply a better formatting
  • Issue #2053: add debug log lines in all places where a sorting is created or restored
  • Issue #2063 and #2002: repaint database tree after filtering
  • Fix Delphi error message saying SynEdit's OnDropFiles declaration has an incompatible parameter list

12.8

11 Jul 17:17
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

  • Issue #1946: update C connector / libmariadb.dll and plugin libraries to latest v3.3.10

New stuff:

  • Issue #1284: add support for encrypted SQLite databases, using the C API from utelle/SQLite3MultipleCiphers
  • Issue #1964: support MariaDB's INET4 and INET6 data types
  • Issue #1604: support creating table indexes on SQLite
  • Issue #1604: support adding primary key to new tables, which needs to be done inside the CREATE TABLE code
  • Issue #1605: support dropping table indexes on SQLite
  • Issue #1965: show warnings from custom queries in the bottom log panel, right when they occur, not at the very end of a batch
  • Issue #1428: debug logging of query time and network time after each result-query
  • Issue #1972: Add new security option to verify SSL certificate, in MySQL and MariaDB
  • Get query result tab caption list from "-- names:" comment, similar to "-- name:" in a single query

Bugfixes and enhancements:

  • Issue #1768 and issue #1426: fix wrong mysql_options() constants for libmysql v8+, to fix SSL connections to servers with OpenSSL 3.x, throwing a SEC_E_ALGORITHM_MISMATCH error. Thanks a lot to Justin Fiedler and Gurianoff for helping out.
  • Issue #1330: Use custom tab width and tabs-to-spaces setting uniquely in all places where we generate code.
  • Issue #1956: Fix retrieval of PG foreign keys on table names which exist in multiple schemata.
  • Support zooming per mouse wheel in the procedure editor and log panel
  • Issue #1951: Add CURRENT_TIMESTAMP function, this time missing in the newer generated functions-mysql8.ini.
  • Issue #1763: fix wrong DPI shown in log panel, and too high donate button after DPI change
  • Issue #1897: Mark grid nodes with vsMultiLine, even if asGridRowLineCount option is set to 1. Fixes endlessly received WM_PAINT messages on results with large lines and tabs in it.
  • Issue #1948: hide menu item for Sequal Suggest dialog.
  • Issue #634: fix HTML in message dialog text containing URLs with trailing double quote
  • Issue #1959: fix shrinking/repositioned edit boxes in options tab of table editor, when opening a second table.
  • Fix and improve exporting in PHP format (@mlocati)
  • Quote restart command in scheduled task item generated by auto-updater
  • Issue #1962: reset width and height of completion proposal when user clicks "Reset panel dimensions"
  • Issue #1149: reset bottom filter box after switching tables
  • Issue #1952: change log level in TDBQuery.IsEditable from debug to info, when user tries to edit a read-only grid result, so the reason and background is more visible for most users.
  • Issue #1963: fix doubled DPI factor of proposal width and height, due to its own scaling
  • Table editor: disallow editing direction/collation of index node level
  • Issue #1604: fix crash when showing index tab due to uninitialized SubParts and Collations in SQLite and PostgreSQL
  • Silence sporadic crash in TAdoDBConnection.Destroy, found in uploaded crash reports
  • Issue #1967: fix doubled height of donate button with certain fonts, for instance "Microsoft YaHei UI"
  • Enhance TConnectionParameters.IsMySQL, to turn "MySQL or MariaDB 8.0" into "MySQL 8.0" in status bar
  • Issue #1971: downsize VARCHAR length to 1 for temporary MySQL tables for views, to work around "Row size too large" error
  • Issue #1935: indicate unaccepted drop target when dragging folder or session over its current folder

12.7

05 May 10:24
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

  • Issue #1946: update libmariadb.dll and plugin libraries to latest v3.3.8
  • Update regular expression library to v1.181 2023.11.22, supporting \K pattern to set the begin of a reported match.
  • Update InnoSetup compiler to v6.2.2
  • Update VirtualTrees component code to release v8.0.3 (major version update)
  • Issue #1888: Update plink executables to v0.81
  • Update madExcept exception handler to v5.1.4
  • Issue #1905: Update OpenSSL libraries used by libpq-15.dll to v3.1.5
  • Update SQLite libraries to v3.45.3 from 2024-04-15

New stuff:

  • Issue #1879: add drop down menu to "Apply filter" button, with an option to overwrite the current filter based on the different input text
  • Issue #1512: add basic support for indexes with descending column direction
  • Issue #1429: add "SQL INSERT IGNORE" output format to grid export dialog
  • Issue #178: add database and table filter boxes above tree view on table tools dialog
  • Issue #1917: Support additional UCA collations introduced in MariaDB 10.10.1.
  • Issue #1927: display column comments in completion proposal, give that third column more space to the left and italic style
  • Table editor: when user runs into the cryptic "constraint is incorrectly formed" message, append a more meaningful line from SHOW ENGINE INNODB STATUS.
  • Support naming result tabs per "-- name: xyz" comment. See https://www.heidisql.com/forum.php?t=10493
  • Reorder components in grid export dialog, and convert format radio buttons to combobox. Makes the dialog more wide than high, creating space for wider labels and more format options.
  • Issue #1930: Grid export: implement JSON Lines format.
  • Issue #139: Alternating row background colors in table columns list and most other main tabs, if activated by user.

Bugfixes and enhancements:

  • Enhance readability of focused text in result grid using dark styles. TreeOptions.PaintOptions.toGhostedIfUnfocused grays out text otherwise.
  • Fix crash in SynCompletionProposalChange, happening when scrolling very fast to the top of the list
  • Fix crash in f_() function with invalid format specifiers from some translation. Happened in Japanese recently.
  • Issue #1870: support VARCHAR columns with a length of 0, in temporary fake tables for exporting views
  • Detect Windows 11 in about dialog, and remove functions only required for the no longer supported Windows Store version
  • Fix activated SSH tunnel for a network type which does not support that, after changing the network type from an explicit SSH-tunnel-type to a TCP/IP version.
  • Search replace: ignore numbers in static row id column
  • Installer: add newly available translations for Hungarian and Bulgarian
  • Add item in Tools main menu for resetting panels to their default dimensions. Useful for quite a few people who move their app window between screens with different resolutions.
  • Static row id: always use the color of the session the result belongs to
  • Performance: call TimerHostUptimeTimer event every 20 seconds only, instead of each second
  • SQL export dialog: cut long file list down to 20 latest items
  • Issue #520: Fix crash in sort columns dialog when removing the last column, with a non-default theme
  • After reformatting SQL code, unify new lines to Windows line feeds, so the selection's end in SynMemo is correct
  • Fix retrieving MySQL events from the current database on older servers, work around MySQL bug 41907. See https://bugs.mysql.com/bug.php?id=41907#c360194
  • Make pressed state of favorites button more noticeable, by using the gray-scale icon in unpressed state
  • Fix emptied "SHOW WARNINGS" pool due to queried @max_error_count in warning dialog. See https://www.heidisql.com/forum.php?t=41753
  • Issue #1899: fix wrong column number on column selector above data grid
  • Issue #1906: provide a new preference option to turn on color icons on inactive tabs again
  • Issue #1910: Fix CURRENT_TIMESTAMP default text detection as an expression, not as an ordinary string literal, on MySQL 8.0.14+.
  • Issue #1887: restore old scroll offset in data grid, when refreshing result or paging to the next rows
  • Issue #1918: Remove leading timestamp from log message when copying to new query tab.
  • Host tab: use session name as tab caption, and show host name as mouse-over hint. See https://www.heidisql.com/forum.php?t=41399
  • Hopefully fix slow loading tabs.
  • Issue #1923: Fix completion proposal not showing columns of a table alias when table name contains the word "join".
  • Issue #355: Fix non-working scrolling with a horizontal mouse wheel in grids, by preferring TWMScroll.Pos over TScrollInfo.nTrackPos (always 0).
  • Add functions-mysql8.ini with some newer functions in it, and search for version specific ini file when connecting. See https://www.heidisql.com/forum.php?t=41892
  • Fix too small foreign columns dropdown, scale controls on TSetEditorLink DPI aware
  • Issue #1247: Fix invalid SQL code for dropping foreign key constraint in PostgreSQL mode.
  • Issue #1586: include "COLLATE xyz" clause when applying collation and user checked the "Convert data" option, so the columns do not get the default collation of the new charset
  • Issue #1934: fix empty column list in completion proposal when user input starts with a quote character
  • Issue #1933: Update list with known MySQL 8 keywords, taken from https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-in-current-series
  • Issue #1939: Fix empty CREATE TABLE code and "List index out of bounds" message in log, due to accessing TTableKey.Collations[x] without being initialized
  • Issue #321: Fix SQL code in TTableKey.SQLCode for PostgreSQL
  • Issue #1940: In TSecureShellCmd.Connect, include parallel happened errors in any success dialog. Also, log errors to the log panel when both pipes have content.
  • Issue #1942: Reset FClipboardHasNull marker before pasting text which was copied outside the application.
  • Issue #1943: Set DbTree.DefaultNodeHeight in FormShow rather than in FormCreate, to respect DPI settings.
  • Issue #1931: Support CITEXT columns in Postgres and categorize as text type, so these show up in foreign values pulldown editor of data grid.
  • Issue #1868: Reset sort order of data tab grid as well, when user clicks "Clear data tab filter".
  • Issue #1936: Fix EAbstractError when closing text editor
  • Issue #1947: don't change case of detected column names, in CSV parser

12.6

05 Nov 11:18
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

New stuff:

  • Issue #861: New static row id column in all result grids. Uses the session background color, and can be hidden. (see screenshot)
  • Issue #750: SQL formatting now with 2 new online formatters: (see screenshot)
  • Add context menu on data grid header with "Query exact row count" item, querying SELECT COUNT(*)... on the underlying table
  • Support main tabs in a single line, and support tab-scrolling per mouse wheel
  • Issue #940: Support removing shortcuts per button in preferences. (see screenshot)
  • Issue #1619: Use the same hotkey (Ctrl+S) for saving a table/trigger/... as for saving a query file.

Bugfixes and enhancements:

  • Issue #1863: Fixes compatibility to Wine v8.18 again, and probably to more versions
  • Grayscale icons on non-active tabs, for a clearer user interface (see screenshot)
  • Separate double-click and middle-click options for closing tabs (see screenshot)
  • Issue #1795: remove menu items and code for explain analyzer on https://mariadb.org, which is no longer available
  • Issue #1854: fixes incorrect table name used in grid updates when comment with valid query exists
  • Issue #279: Support serial columns in PosgreSQL, which is different from auto_increment on MySQL
  • Issue #872: fix crash when opening a table with columns defined as INVISIBLE, and ensure such columns are selected and visible in the data grid
  • Translation fixes: remove various unused strings, fix some wrong spelled strings, add some missing strings
  • Issue #1850: too short text in popup text editor, when field contains high UTF-8 characters like emojis
  • Add missing PMYSQL_LENGTHS type, and use this for the result of mysql_fetch_lengths(). Fixes an issue broken since 2009 (!)
  • Issue #1640: Fix crash in MouseUp event of query tab close button, by closing/freeing the tab and button through a timer event
  • Issue #752: Fix SQL export on MySQL 8, overwriting view helper tables caused "xyz is not view"
  • Keyboard shortcuts: allow the user to accept duplicate assignments per ignore button. (see screenshot)
  • Issue #1826: Fix ON UPDATE part of DEFAULT clause with no parentheses on MySQL 8, which are required only for the initial DEFAULT value.
  • Fixes numerous different crashes, found in uploaded crash reports. Thanks to all users reporting these:
    • Fix crash after following a foreign key value
    • Fix sporadic crash "Cannot make a visible window modal" in search/replace dialog
    • Fix crash in various places where we just try to get the current clipboard text
    • CSV scanner: fix crash when selected filename cannot be opened
    • Fix sporadic crashes in various calls to [TWinControl].SetFocus, with the new class helper .TrySetFocus
    • Fix crash in highlighter customizer, as long as no attribute is selected
    • Silence a popular crash in DBtreeFocusChanged, when trying to detect whether the user clicked into a different session
    • Fix EAccessViolation in TMainForm.DBtreeFocusChanged:124
    • Fix crash when trying to stop current query and the helper connection cannot connect for some reason.
    • Silence sporadic EAccessViolation in DBtreeBeforeCellPaint, when reading DbObj.Connection.Parameters
    • Fix EAccessViolation in TDBObject.GetImageIndex:6
    • Fix EAccessViolation in TMainForm.DBtreeGetText:12
    • Catch different EInOutError exception happening in rare cases of ForceDirectories()
    • Fix EAccessViolation in TMainForm.AnyGridGetText:5
    • Fix crash when user clicks Help button on maintenance dialog, in a non-MySQL session
    • Catch additional EReadError crash in RunQueryFile
    • Fix crash in printer dialog, when printer is somehow not available
    • Fix crash after reconnect, when query helpers functions are exapanded
    • MSSQL: Catch OLE exception when provider names cannot be listed
    • Fix crash in TMainForm.DBtreeGetText happening while connecting through SSH tunnel
    • Fix sporadic crash with focused Host tab while connecting to another session
    • Warn the user about potential data loss when loading a (csv) file with encoding set to "auto-detect".

Full Changelog: 12.5...12.6

12.5

08 May 16:20
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

New stuff:

  • Basic implementation of Sequal Suggest as a dialog, under Tools. For generating SQL queries through natural language. See https://sequal.dev/

Bugfixes and enhancements:

  • Issue #1800: wrap column default expression in parentheses on MySQL v8.0.13+ when altering a table
  • Issue #1800: attempt to distinguish text values from function expressions in a column's default value, for MySQL 8.0.13+ which seems to allow just all functions as default value.
  • Issue #1800: add missing CURDATE function definition to functions-mysql.ini
  • Do not cut trailing zeros in scientific values like 2.0e30 => 2.0e3. Closes #1793
  • Auto detect need to create HTML clipboard header, remove CreateHTMLHeader parameter from StreamToClipboard()
  • Refactor HTML clipboard code. See https://www.heidisql.com/forum.php?t=9893
  • Make HTML export format compatible to Google Chrome. See https://www.heidisql.com/forum.php?t=9893
  • Support ON UPDATE SET DEFAULT and the same for ON DELETE in PostgreSQL foreign keys. See https://www.heidisql.com/forum.php?t=40413
  • Issue #1771: add additional sleep time between SSH process checks, so it does not matter when WaitForSingleObject does not really wait (on Wine)
  • Issue #1771: prefer a larger SSH process check interval for larger timeouts (timeout:4s => check interval:400ms), and log process exit code each interval.
  • Auto-set the first SSH executable from the dropdown when user activates SSH tunnel checkbox. See https://www.heidisql.com/forum.php?t=40399
  • Support canceling SQL export before a table's data has been completed. Closes #1516
  • Ensure max INSERT setting is an Int64, so a huge value does not wrap into a negative value. See https://www.heidisql.com/forum.php?t=40393