HeidiSQL Versions Save

A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL, SQLite, Interbase and Firebird, written in Delphi

11.1

3 years ago

Grab it from the download page

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

Bugfixes:

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

... and many more: https://github.com/HeidiSQL/HeidiSQL/milestone/5?closed=1

11.0

4 years ago

Grab it from the download page

New features and enhancements in this version:

  • Support connecting to SQLite database files
  • drop schema support for PostgreSQL
  • support foreign keys in PostgreSQL
  • support foreign keys in MS SQL
  • read-only mode for grid cell editors, if underlying query or table does not allow updates
  • support scram-sha-256 authentication on PostgreSQL
  • enhanced readability of release notes
  • enhanced readability of help links with dark themes
  • support column comments of PostgreSQL
  • support disabling "Full table status" on PostgreSQL
  • new filter edit box on session manager, for filtering sessions using regular expressions
  • close query tabs via middle mouse click
  • trim text in various text inputs of session manager, to prevent leading and trailing spaces after pasting
  • sort collation drop down on "Bulk table editor" alphabetically
  • place icons on the 3 new/save/delete buttons on the session manager, to make them more noticeable
  • performance: use first 1000 rows only for calculating the CSV export size, and interpolate the rest.
  • widen buttons on search/replace dialog by one quarter, so translations fit better on them
  • use default library of given network type in command line receiver
  • refreshed application icon

Bugfixes:

  • fix crashes when restoring tabs: expect no UTF-8 BOM
  • Procedure body changes invisible when parameter tab is active
  • last active session was no longer scrolled into view area of session manager
  • crash when mouse moves over data grid with broken connection
  • clicking too fast on session folder opens connection instead of collapse
  • passphrase input for SSH tunnel now masked
  • detect columns from PG table keys only in current schema, do not mix these with columns from an equally named table in a different schema
  • fix crash when accessing data from data tab on a disconnected session
  • fix crash when active main tab changes and data grid is disabled (due to disconnect)
  • make copy/cut safer against harmless crashes, and show occurring error messages in log panel
  • MSSQL: Remove surrounding parentheses from default value
  • fix state of checkboxes on the session manager's Advanced tab
  • fix crash by click on "Add column" in table editor, when columns list has a minimum height

Third party libraries and components:

  • update libmariadb.dll to v3.1.7
  • update libpq.dll to v10.0.11
  • introduce additional libpq.dll v12.0.1
  • update InnoSetup compiler to v6.0.3
  • update VirtualTree component to v7.3
  • introduce sqlite3.dll v3.30.1

Complete change list: https://github.com/HeidiSQL/HeidiSQL/milestone/4?closed=1

10.3

4 years ago

Grab it from the download page

New features and enhancements in this version:

  • Theme preview in preferences dialog
  • "Library" dropdown in session manager, to enhance support for older and newer MySQL and MariaDB versions
  • Various new shortcuts in the "Go to" menu, e.g. for switching between result and query area
  • Support newer plink versions for SSH tunneled connections
  • Grid rightclick on cell: "Open in webbrowser" for fields containing a web url
  • Support for client_ed25519 MariaDB plugin
  • Support for SSH tunneled connections to PostgreSQL servers
  • Support for SSL on PostgreSQL servers
  • "Same text" background color in grid now applies to neigbour fields in selected row as well
  • Support for connections to Amazon Redshift (basically older PostgreSQL servers)
  • Restored query tabs also restore bind parameters
  • New option in grid export dialog: "Remove linebreaks from data"
  • New option to remove DEFINER clauses in SQL export option drop-down
  • Increase compatibility of table editor on PostgreSQL

Bugfixes:

  • Reverts earlier attempts for native high DPI support, so scaling is done by Windows again (blurry but less buggy)
  • Auto-detected Chinese localization fixed
  • Compatibility to MySQL 4 restored
  • Various fixes for SSL on MySQL and MariaDB
  • Fixed broken "undo" after auto-uppercased SQL keyword
  • Fixed crash when switching to table/database with same name on different server
  • Fixed invisible column comments on PostgreSQL
  • Fixed unsupported def.adsrc on PostgreSQL 12
  • Ctrl+Backspace in text boxes deletes left word, instead of writing cryptic character
  • Fixed update SQL for JSON columns in PostgreSQL
  • Fixed disappearing table comments after saving
  • Fixed warning about unsafe query when fooled with a commented WHERE clause

Complete change list: https://github.com/HeidiSQL/HeidiSQL/milestone/3?closed=1

10.2

5 years ago

Grab it from the download page

New features and enhancements in this version:

  • High resolution icons from Icons8
  • Save and restore query tabs automatically
  • PostgreSQL connection over SSH tunnel
  • Configurable web search engine for help links in footer of message dialogs
  • Support for DATETIMEOFFSET data types on MSSQL
  • Table designer: Support for custom expressions in column default values
  • Caching of "SELECT 1234::regclass" queries on PostgreSQL connections
  • New data grid menu item "Duplicate row with keys" (besides the old one "Duplicate row without keys)
  • Support for TLS versions up to 1.3 in MySQL connections

Bugfixes:

  • Text search on PostgreSQL works properly now
  • Auto-uppercase feature does not touch column names on table aliases
  • Enhanced Material theme colors
  • Artefacts in query editor when using non-default theme

Complete change list: https://github.com/HeidiSQL/HeidiSQL/milestone/2?closed=1

If you liked the old Silk icons more: they are still there. You can switch back in Tools > Preferences > General > Icon Pack.

Wine users: You will probably need a newer Wine version, as recent ones did not work with HeidiSQL. Wine 4.10 runs fine according to some user feedback.

10.1

5 years ago

This is a new release which mainly fixes the installer, which named the executable in your program files folder "heidisql32.exe", not "heidisql.exe". Sounds minor, but I suppose there are quite a few links out there still pointing to heidisql.exe. The 10.1 installer now deletes that heidisql32.exe and installs the fresh heidisql.exe.

Thanks to forum user fyrye for reporting that issue.

Grab it from the download page. And don't forget to disable your adblocker :)

10.0

5 years ago

This is a new release with quite a few new features, some enhancements and many bugfixes.

Grab it from the download page

Most noticable new features and enhancements:

  • Basic support for high DPI scaling on modern screens with 4K resolutions (work in progress)
  • Theme support: many stylish themes selectable, dark and light ones, and even one user contributed dark Material theme
  • Predefined color presets for data types and SQL code in preferences dialog
  • Support for connecting to MySQL 8 servers, with the help of caching_sha2_password plugin from MariaDB
  • Portable version downloads now have a portable.lock file, and do no longer overwrite your portable_settings.txt
  • Auto uppercase writing of SQL keywords in editors
  • Switch to Microsoft OLE DB driver for SQL Server connections, to support TLS 1.2 secured connections
  • Data grids with highlighted cells in view port having the same content as the focused one
  • No Direct2D overriding required anymore when running on Wine
  • more solved issues

9.5

6 years ago

This is a bugfix release with a few new features and enhancements.

Grab it from the download page

9.0

6 years ago

I'm proud to announce a new release with quite a few new things and tons of bugfixes. Most important thing this time is the experimental support for connecting to PostgreSQL servers.

Also noticable:

  • Completely rewritten interface to plink.exe for SSH tunnel connections. Now supports dialogs which ask for trusting unknown host keys.
  • Bind parameters in SQL queries. When your SQL query contains one or more ":myparam:" occurences, the right hand box offers to set a value for these parameters. Adrien, a former contributor from France, has developed this new feature.
  • The "Find text on server" dialog now also works on MSSQL and PostgreSQL tables.
  • The table editor now supports partitions, in a new read-only tab. That way, partitions a) can be seen by the user and b) get included in the CREATE TABLE code tab.
  • Filter in data grid column selection
  • Disable SQL hints on result tabs: Some users complained about the potentially huge tooltips on the tabs of a SQL query result. These quickly hide important parts of the result rows. If you're one of those annoyed users, you can now disable these tooltips with a new checkbox option in Tools > Preferences > Data appearance > "Popup SQL text over result tabs".
  • Database selector: In a session configuration, you can restrict the databases to display. That was just a normal drop down menu previously. Now, you can check databases and uncheck them in a pulldown menu. Also, the connection used to get the names of all databases is recycled for each click, so only the first pull down click establishes a new (potentially slow) connection.
  • The installer for HeidiSQL now uses localized messages in 23 different languages. Language is auto-selected by checking your Windows locale.
  • The user manager now supports granting privileges for VIEWs. This was not allowed until now, because I misunderstood the MySQL documentation here. See the forum thread with alfiqmiq for details.
  • Ask user to confirm unsafe UPDATEs/DELETEs in query tab before executing.
  • Switch character set from utf8 to the fixed one called utf8mb4 in MySQL.
  • Turn readme.txt into a more comprehensive online help document

... and even more:

  • Support semicolons in MS SQL passwords
  • Clone hostname for a cloned user
  • Ask to close HeidiSQL processes while installing
  • Check if all indexes have at least one column when creating or altering table to prevent creation of empty index
  • Support primary keys with KEY_BLOCK_SIZE=xyz
  • Allow disabling the creation of start menu icons in the installer
  • Auto-uppercase data types of routine parameters
  • Display filename with path in query tab hint
  • Support changing active result tab per shortcut, Alt+Left and Alt+Right.
  • Disable UNSIGNED and ZEROFILL checkboxes for BIT type columns
  • Fix missing table alias on MSSQL2K
  • Support query timeout on MSSQL and PostgreSQL. Make customizable per up/down scroller in "Advanced" tab of session manager.
  • Add "Save as textfile" action, and include that in routine editor > "CREATE code" tab > context menu.
  • Activate "Select all" action when it appears in a valid popup menu.
  • Increase maximum port number from 2^16-1 (65535) to 2^31-1 (2147483647).
  • Add a 32bit-only installer, for users who want the 32bit version on a 64bit Windows.
  • Support searching for unformatted integers and floats in filter panel.
  • Fix truncation of MSSQL routine body to 4000 characters, as a limitation of nvarchar(4000).
  • Fix SynEdit's double minus comment bug
  • Use prettier "Consolas" as default font for TSynMemo editors, when available, as an alternative to the old-stylish "Courier New".
  • Fix SQL error when using "Quick filter" > "More values" in MSSQL and PostgreSQL.
  • MSSQL: Return date/time string value as expected by server.
  • Enable foreign keys editor on NDB cluster >= 7.3.x.
  • Add support for geometry data types in PostgreSQL.
  • Support renaming tables and views on PostgreSQL.
  • Fix EStackOverflow in TSynHashEntry.AddEntry when adding too many table names.
  • Include SQL_TABLE_VALUED_FUNCTION's in MSSQL object browsing
  • Support DEFAULT clause in PostgreSQL table structure
  • Keep compatibility with older MySQL servers when getting a trigger's CREATE CODE
  • MSSQL: Return float values as expected by server.
  • Introduce handling of stored functions in PostgreSQL: Displays functions in database browser, enables function editor and "run routine" button with argument handling.
  • Add support for MSSQL datetime2 column type.
  • Allow applying CURRENT_TIMESTAMP to DATETIME columns.
  • Add "check/uncheck all" button to column selector in textfile import dialog.
  • Add 64px, 128px and 256px versions to main icon.

... and for the nerds: the entire changelog

9.1

6 years ago

This is a maintenance release, which basically reintroduces support for legacy password encryption (pre-4.1 hash format).

9.2

6 years ago

This is a new release with some new features and many bugfixes and enhancements.

  • New features:

    • Add support for JSON grid export
    • Add support for Markdown Here grid export
    • Support new command line parameter "n", or "nettype", which takes an integer, representing the protocol number (0=mysql tcpip, ...).
    • Add support for connecting to Microsoft Azure Servers
    • Add edit box + updown buttons for limiting the size of exported INSERT queries in bytes.
    • Display creation time, last alter time, comment and start time of scheduled events.
    • Online help document available. Various "Help" buttons in relevant dialogs link to this document.
  • Bugfixes

    • Dropping functions and procedures on PostgreSQL now with required parameters list
    • Size bars in "Database" tab on PostgreSQL now with correct values
    • Loading full grid data on PostgreSQL did not work on text columns
    • Fix microseconds in MSSQL date/time data types, hidden in data and query grids.
    • Use ISO 8601 date/time format on MSSQL
    • PostgreSQL: Fix wrong order of columns shown in indexes, and show normal indexes also
    • Do not uppercase ENUM values in procedure parameter datatypes
    • Fix crash when right-clicking a database, following by a click on "Drop"
    • Version conditional disabling for "Create new" menu items in MySQL mode only
    • TEXT data type has a maximum length of 65k for MySQL only. Introduce other values for MSSQL and PostgreSQL.
    • Fix memory leak in TfrmTableTools.SaveSettings
    • Let longer data type matches win over shorter ones, especially important on PostgreSQL
    • Make TPGConnection.FetchDbObjects compatible to pre-9.0 servers on PostgreSQL
    • Fix non working addition of new columns in MySQL
    • Detect xid type (oid 28) as integer.
    • Detect character type (oid 1042) as char, not varchar.
    • Detect aclitem[] type (oid 1034) as unknown, not text.
    • Fix detection of PostgreSQL data type INTERVAL as VARCHAR.
  • Enhancements:

    • Automatic storing of settings in portable mode
    • Optimize query for getting total row count on PostgreSQL
    • Add support for microsecond precision of MSSQL date/time types in table editor, show these in "Length/Set" column
    • Add a help button to the quite non-intuitive controls on the export dialog
    • Add support for JSON data type on PostgreSQL
    • Add support for HIERARCHYID data type on MSSQL
    • Increase various default values for window dimensions, for reasonable look and feel for new users
    • Add "Rename" context menu item in session tree.
    • Use local number formatting in grids by default
    • Use transparent background for NULL cells by default
    • Support columns with a string literal as default value plus an ON UPDATE CURRENT_TIMESTAMP clause.
    • Increase compatibility when getting procedure body on MSSQL.
    • Remove duplicates from recent file list pulldown.
    • Translate connected/disconnected words in status bar
    • Set focus on filter box when SQL help dialog opens.
    • Update gettext unit
    • Make search/replace dialog resizable
    • Activate "Clear filter" button after applying text to filter memo.
    • Gracefully remove superfluous WHERE keyword from data grid filter, so other places like the previously modified "More filters" menu do not add a second WHERE.
    • Use existing data grid WHERE filter to filter values from quick filter > "More values".
    • Remove outdated details in readme file, and redirect to official help page instead.
    • Detect all array style types on PostgreSQL as unknown type, e.g. TEXT[].
    • Pass column or argument name to NativeToNamedColumnType(), as a hint for the user.
    • Support quoted datatypes in TDBConnection.GetDatatypeByName, coming from TDBConnection.ParseTableStructure