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.
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
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
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
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
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.