Skip to content

Releases: HeidiSQL/HeidiSQL

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

12.4

26 Feb 11:42
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

New stuff:

  • Issue #921: add SSH tunnel support for SQL Server in TCP/IP mode. "SSH tunnel" tab is not hidden any longer for unsupported network types, only the checkbox is disabled then.
  • Issue #1721: Let the user disable a session's SSH tunnel configuration, similar to the SSL checkbox

Bugfixes and enhancements:

  • Turn crash into error dialog, on search and replace dialog, when regular expression is invalid
  • Issue #1226: switch back to TSynHotKey again, after using THotKey in shortcut customizer since b4926f3 . Fixes non assignable Enter and Del hotkeys, probably more. This time we don't touch the original TSynHotKey for custom fixes, but through the new TExtSynHotKey.
  • Restore previous scroll position after saving routine, trigger, event or view. See https://www.heidisql.com/forum.php?t=40291
  • Reduce crash probability in TSecureShellCmd.Connect when user disconnects from session before tunnel is reestablished.
  • Strip comments from current query before trying to detect a table alias. Closes #1753
  • Widen import button on very first tab of session manager, so translations fit to it. Closes #1752
  • Find a better alternative to d262a6a : set descending column order on first header click when shift key is pressed . See https://www.heidisql.com/forum.php?t=40243
  • Refactor internal structures for grid/table sorting, prefer TObjectList over Array
  • Issue #1717: block too fast and overlapping calls of refresh action, to reduce crash probability
  • Fix crash due to reset AppSettings.SessionPath through LogSQL()
  • Attempt to fix a crash, happening in some cases when user focuses a tree node in a different connection
  • Disable ASLR and the same flag for 64 bit mode through base configuration.
  • Issue #1568 and issue #1737: exit OnPaintTransient event handler on interlocked calls
  • Hide SSL tab when no session is selected
  • Prefer previously used filename in save-as-snippet dialog. Closes #1747
  • Issue #1730: fix wrong vertical position of linebreaks dropdown
  • Issue #1730: apply font to mother query grid as well, in ApplyFontToGrids
  • Degrade category of mostly log messages from grid editors to debug.
  • Issue #1744: load stored tab file contents always with UTF-8 encoding, to prevent a wrong encoding per auto detection.
  • Issue #1721: fix now wrong tab order with the new "SSH tunnel" checkbox
  • TConnectionParameters.GetImageIndex: prefer more specific icon for MySQL on RDS sessions
  • Update current year in license file
  • Issue #1730: add preference option for disabling incremental search through typing in grids
  • Include some System.Generics.* units without using project's unit scopes or aliases
  • Issue #1568: fix ineffective temporary disabling of OnChange handler
  • Issue #1568: content in SQL editor is modified in SynMemoQueryKeyPress. Attempt to prevent some endless loop through OnChange event.
  • Remove unit scopes from project settings, prefer fully qualified unit names in uses clauses. Enhance readability and compiler performance.
  • Prefer extracted-comments style over translator-comments, which are not displayed on Transifex for some reason. See https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html#The-Format-of-PO-Files
  • Create project files for Delphi 11.2, with disabled HighEntropyVa setting so the 64bit builds will run without crash.
  • Add comment to joined short+long hint in translation. See 8fc6dba#r93385116
  • Use red background for SQL errors in log panel too. See https://www.heidisql.com/forum.php?t=40110
  • Issue #1722: rephrase text hint on filter input so it matches an existing translation string
  • Automagic modifications to form files, done through updates of IDE and some components. Especially removes no longer published properties OldCreateOrder and PixelsPerInch.
  • Issue #1722: add missing translation strings to master file
  • Fix wrong tab order of recent filters pulldown on data grid filter panel
  • Enhance user query error handling. See https://www.heidisql.com/forum.php?t=40085
    • try to find error position in 1M of SQL instead of only 1KB
    • do not reset cursor if position was not found
    • paint red background on line with error, just until user presses any key
  • Issue #1724: silence another exception in MS SQL mode, when checking for IsNull on a field. Seems to be just a different version of the same bug described in #496
  • Issue #1725: add history menu pulldown to global filter edit box
  • Add missing translation string for new header-click option. See 7bea342#r92151280
  • Add option to turn off warning dialog for active but unused SSL settings. See https://www.heidisql.com/forum.php?t=40080

Modifications for installer and updater:

  • Issue #1735: Experimental support for non administrative install mode, with the default folder C:\Users\xyz\AppData\Local\Programs\HeidiSQL\
  • Issue #811: Make installation of example snippets optional, and display the used path.
  • Increase lzma2 compression from max to ultra64. Take up more memory for creating the installer and for installing, but decreases installers file size from 46M to 39M.
  • Do not auto-create "c:\Users\Anse\Documents\HeidiSQL", as we only use it for snippets which can also have a custom path. Closes #1751
  • Updater: quote name of task to run, making it safe to use white spaces
  • Use Release configuration to decrease the updaters file size
  • Issue #1616: Close Heidi processes through updater even if the path is different than the current app path, which is the case when running Heidi from a symbolic link folder.
  • Refactor build updater once again:
    • convert to console application without window, so the user sees all status messages in the order of appearance
    • include SysUtils unit, which increases file size to ~2MB, but enhances maintainability
    • restrict compilation and resource inclusion to 64bit mode - the build updater is disabled in 32bit mode anyway
  • Issue #418: restart via task scheduler after build update, decreasing privileges to the normal user instead of administrator
  • Issue #1733: Sign uninstaller within InnoSetup script. This also signs the installer from InnoSetup now, while removing the sign call from the build process.
  • Issue #1733: sign yet unsigned 3rd party libraries with my own Authenticate certificate

12.3

05 Dec 18:35
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

  • Update plink binaries to latest v0.78. Closes #1430

New stuff:

  • Make clicks on grid column headers configurable, so the user may disable it, preventing him from accidental sortings on large tables. See https://www.heidisql.com/forum.php?t=40026
  • Issue #1705: Add new network type "MySQL on RDS", to support its different query for killing a process. New icon provided by @Bens-ct.

Bugfixes and enhancements:

  • Issue #1616: force update check to overwrite old HeidiSQL_update.exe in temp directory, once through different file size, and by logic when old one is older than 30 days. Fixes still used old updater with bugs.
  • SQL export: Calculate a reasonable LIMIT clause when "Get full table status" session setting is disabled, causing AvgRowLen<=0. See https://www.heidisql.com/forum.php?t=40058
  • Fix too narrow column widths restored with high DPI setting, due to Delphi's Round() function using the nearest even number. Use the better suited "kaufmännisch runden" approach.
  • Query helpers tree: sync logic behind "Insert at cursor" with what doubleclick does. Enables that menu item for table columns, keywords, functions and snippets. See https://www.heidisql.com/forum.php?t=40022
  • Quote BIT values again, in EscapeString version with data type. Closes #1709
  • Use rds_kill_query procedure on RDS to kill a running query. Closes #1705
  • Revert background color of selected text in Material style to its original, again causing unreadable link text on dialogs described in issue #993. Readability of selected text seems more important to me. See https://www.heidisql.com/forum.php?t=40003
  • Include application version and path of selected session in the session manager's window caption

12.2

15 Nov 16:30
Compare
Choose a tag to compare

Get it from the download page

3rd party updates:

  • Update SQLite libraries to v3.39.4 from 2022-09-29

New stuff:

  • Issue #1536: auto-resize height of data grid filter while user types text in it
  • Issue #1691: make timer interval for auto completion proposal configurable, while keeping 500ms as a default value.
  • Allow integers and floats to be entered in hexadecimal format in grids. Basically means they're not wrapped in quotes now. See https://www.heidisql.com/forum.php?t=39864
  • After restoring query tabs, warn user about tabs which were loading slow
  • Add preference option for adding timestamp to log messages. Helpful for debugging performance issues.
  • Issue #136: use VerySimpleXML v3-beta from https://github.com/Dennis1000/verysimplexml to reformat XML in grid cells. Also, auto-disable slow wordwrap in editor if text is > 1M large
  • Issue #1659: create dialog for customizing highlighter colors and style, for use on grid text editor
  • Highlight occurrences of selected text in grid text editor, same as in query editor
  • Issue #1669: turn customize-highlighter button into dropdown button with additional items "Format code once" and "Always format code". Usable for SQL, JSON and XML.

Bugfixes and enhancements:

  • CSV scanner: lowercase name of table and columns, and unify non-word characters to underscore
  • Fix crash when scanning CSV file with more values in data than in header line. Closes #1698
  • Fix trailing linebreak counted to last column name in first CSV line
  • Fix wrong finish message in log result, when doing something different than an export. See https://www.heidisql.com/forum.php?t=39913
  • Issue #1700: exactify positions of line breaks in auto-filter on data grid, to prevent sporadically too long lines
  • Issue #1616; Fix broken updater code and binaries, by fixing wrong parameter definition of WindowProc and wrong type cast in a SendMessage() call
  • Issue #1616: revert previous modifications on updater binaries, which now do nothing and don't trigger the WM_SHOWWINDOW message
  • Issue #1695: attempt to fix a check for a named session before storing the currently used database name
  • Prefer CopyFile + DeleteFile over MoveFile, in a second place, where the old binary is backup'd. See issue #1616
  • Add log message after finished export, to make it more noticeable the user has control again. See https://www.heidisql.com/forum.php?t=39913
  • SSH tunnel: process error pipe contents only if std pipe is empty. See https://www.heidisql.com/forum.php?t=39851
  • Allow hex values to have an odd number of digits. See https://www.heidisql.com/forum.php?t=39864
  • Issue #1673, #1351 and #1658: use a general approach in TDBQuery.HasFullData for all server types, where we again use Delphi's Length() against a number range of 128..256.
  • Fix text value in popup editor cut to 256 chars, for all modes other than MySQL. Closes #1673
  • Issue #1652: don't add collation clause to a modified or new JSON column
  • Update readme file: add Interbase/Firebird, require Delphi 11.1, code formatting
  • Purge cached columns, indexes etc. and reinitialize table editor, when user presses refresh button. Closes #1628
  • Issue #1669: turn off always-format setting by default
  • Issue #1670: fix text field editing with more than 256 chars on MS SQL
  • Add missing ini entries for CURRENT_TIMESTAMP function. Closes #1666
  • Use empty default host/ip for new SQLite sessions, to avoid running into some out-of-memory issue. Closes #1602
  • Fix previous approach in TDBQuery.HasFullData and StrHasNumChars, which used CharNextW() and stopped at null bytes within binary strings. Again use Length() instead, but let it be longer than GRIDMAXDATA. Closes #1658
  • Issue #1659: remove broken sample text box, activate translation on dialog
  • Issue #1659: fix exception on closing customize dialog, use empty string when converting clNone to and from web color, instead of #ffffff
  • Issue #1656: attempt to give Wine a hint for the right font size, when highlighting selection occurrences
  • Use NULL in new row for column with timestamp expression, to fix a following UPDATE query using an empty string in its WHERE clause. Closes #1645
  • Leave away NULL clause for new column which allows NULLs. Closes #1642