3rd party updates:
move to new Delphi v10.4 Sydney compiler
ship plink.exe v0.73 by installing HeidiSQL, so users don't have to download it
use smaller libmariadb.dll v10.4.12 without debug symbols
update VCL Styles Utils code
Get latest bugfixes for VirtualTrees component
Sync latest modifications from official SynEdit component sources
New features and enhancements in this version:
code folding! (using #region and #endregion)
introduce basic support for connecting to ProxySQL Admin servers, via new network type
session paths and names in menus sorted alphabetically
Add new "Query" main menu, and put most of the SQL relevant actions there, including a submenu with some new code folding actions. Closes #1132
Issue #807: add SQL editor in "Find on server" dialog, to support complex comparisons e.g. on binary values without quotes "=0xaa00"
Set "0" as default port for new MSSQL TCP/IP connections, enabling auto-detection
Set SQL_NOTES to 0 in SQL export, to silence warnings due to unsupported "ALTER TABLE .. DISABLE/ENABLE KEYS" on InnoDB tables. Closes #756
Sort collations alphabetically, in drop-down of column editor in table designer. Closes #828
Allow free typing in collation drop-down for collations in a column. Set to empty string if user typed a non existent item. See
https://www.heidisql.com/forum.php?t=37117 Grid export: escape special characters in LaTeX output
Wrap numeric values in LaTeX export with $. See
https://www.heidisql.com/forum.php?t=36530 Extract MySQL/MariaDB functions hints out of MariaDB 10.5 help tables
Grid export: No longer force ANSI encoding for Excel output, but silently insert a BOM
Issue #629: do not limit the second column in the query helpers box to a width of 100 pixels
Provide UTC versions of most date/time menu items, in "Insert value" grid context menu. Closes #936
Provide columns of selected table in completion proposal of query editors, but only if left side strings don't dictate a different table. Closes #9.
use TComboboxEx for network types, with icons and ProxySQL sorted after the regular MySQL types
Activate hoAutoResizeInclCaption option on all VirtualTree headers, so auto-resizing per double click takes the column captions into account. Closes #906
Issue #957: give labels on preferences dialog more horizontal space, for longer translations, synchronize space over all tabs, and fix some tab orders
Issue #957: give labels on session manager more horizontal space, for longer translations
Issue #618: implement an owner-draw approach for column headers in data grid, and paint sort icons as text, including a superscript number of its index
Convert TSynHotKey's to standard VCL THotKey's. And finally remove code extension in SynEditMiscClasses which I accidentally overwrote on updates several times.
Issue #120: Allow unsupported ADODB providers per registry hack
Play "Error" sound when executed file(s) had errors. See
https://www.heidisql.com/forum.php?t=12800 . Also, cancel execution of further files when user presses the cancel button
Add informative message in log panel after running SQL files, and play a short "OK" sound. This should probably be an "Error" sound when the file(s) had errors. See
https://www.heidisql.com/forum.php?t=12800 Show tree lines in database tree, which may be helpful for a better overview
Issue #293: make warning threshold for number of grid rows customizable, in preferences dialog, on grid formatting tab
Issue #293: prevent long sort operation on header click in large query results
Remove nearly unused style packages, and keep the 9 used by more than 100 users last month. Reduces executable size by ~2.5M, and speeds up start up time significantly.
Optimize SQL query in TDBConnection.GetTableForeignKeys. See
https://www.heidisql.com/forum.php?t=36212 Extend exception message with useful folder variable, in TAppSettings.PrepareRegistry, which I saw several times now in user reports, last time here:
https://github.com/HeidiSQL/HeidiSQL/issues/1028#issuecomment-628131074Bugfixes:
MS SQL: Support UPDATEs and DELETEs with key column values containing international characters
SSH tunnel: support very slow connections
Prevent access violation in DBTree.GetImageIndex, with no connection on connection root node
Format decimal point with milliseconds in date/time values in locale format for Excel
fix endless recursion happening on some systems when starting HeidiSQL
Overwrite data filter with newly generated one, by click on "Apply filter". Closes #829
Limit number of rows per extended INSERT to 1000 in CSV import dialog. Closes #326
Rename "IS NULL" and "IS NOT NULL" quick filter actions, so they don't prompt the user for an unused value. Closes #1065
Issue #1081: apply quirk for missing IDENTIFIED BY PASSWORD clause to MySQL 5.7.6+ only (MariaDB still includes it). Will still be an issue for newer MySQL versions.
Allow underscores in IP address wildcards of users, in conjunction with --skip-name-resolve on the server. Closes #1080
Prefer ILIKE over LIKE operator on PostgreSQL servers, for auto-generated queries, to overcome errors with double columns. See
https://www.heidisql.com/forum.php?t=36500 Fix wrong row index used in TSQLiteQuery.Col and TSQLiteQuery.IsNull. Fixes loading more rows after first page on large SQLite tables. Closes #1053
Leave numeric precision and scale away from DOUBLE column detection if either of them is empty. Closes #953
Fix alias of PostgreSQL column type TIMESTAMPTZ with missing space. Closes #1071
Use different sets of characters not requiring quotes, per connection type. Use that to force quotes around columns with uppercase characters in PostgreSQL. Closes #1072.
Use ValidateNode to initialize all column nodes early, so they keep their FColumn data after click on Remove button. Closes #245
Set minimum window height of session manager. Closes #1074
Issue #444: get quick filter items in "More values" working again without crash
Issue #338: reuse progress animation dialog when running multiple SQL files, and fix several focus stealing issues
Fix non-ghosted icons in database tree, temporarily in VirtualTrees.Utils.pas. The right place for that fix would be in TVirtualImageList.DoDraw. Closes #1045
Safety assignment for connection otherwise created by command line. See
https://stackoverflow.com/questions/21168998/why-does-assigned-return-true-for-uninitialized-variables Try to disable styles for madExcept window. Related to #887
Auto-reset style to default if selected one does not exist
Cast relpages to bigint, preventing out-of-range SQL error in PostgreSQL. Closes #1038
Issue #1028: Optimize unused code in TDBConnection.GetDbObjects away, which looked for cached object lists which specific OnlyNodeType property, which we don't cache anyway
Issue #1028: Fix one-time recursion in TMySQLConnection.FetchDbObjects, caused by accessing InformationSchemaObjects, which in turn calls GetDBObjects and then again FetchDbObjects. More dramatically, this caused GetTableColumns to do an endless loop with two cache entries for "information_schema". This also fixes many of the v11.0 crashes in TAppSettings.PrepareRegistry, which were just a symptom of that endless loop. Thanks to als2020 on Github for pointing me in this direction.