SQLyog Changelog

What's new in SQLyog 13.2.1

Nov 2, 2023
  • SQLyog used to abruptly close on altering a table having a column with CHECK constraint and Comment.
  • With the MariaDB server, it is now possible to create a ‘Key’ index on a virtual column using the GUI.
  • Emojis will be displayed as it is in the ‘Table Data/Result’ tab, ‘Scheduled Backups’, ‘Copy Database To Different Host/Database’ on setting the character set to ‘utf8mb4’ in the ‘Init Command(s)’ field, under the ‘Advanced’ tab of the respective connection and in the Scheduled Backups window.
  • SQLyog displaying an empty HTTP Response dialog is fixed for connections through HTTP-tunnel.
  • The tunneller file for HTTP-tunnel connections has been updated with this release and must be replaced on the server.
  • For a column with ENUM datatype, SQLyog incorrectly interpreted the value ‘CHECK’ for CHECK CONSTRAINT.
  • Fixed a memory corruption issue with ‘autocomplete’ that, in rare situations, could cause SQLyog to crash.
  • In some rare cases, SQLyog failed to import the saved connections.
  • On selecting ‘Edit a saved job’ and selecting a job file that has a connection with SSL enabled, the ‘Use SSL Encryption’ checkbox is unchecked, and thus the connection fails.
  • In the Create/Alter Table dialog, SQLyog generated a wrong syntax if UUID or SYS_GUID were used as the default value for varchar columns.

New in SQLyog 13.1.7 (Oct 13, 2020)

  • Bug Fixes:
  • SQLyog was unable to connect to a MySQL server using SSL when the client did not provide a CA Certificate file.
  • Editing a user password was not working for MariaDB server version prior to 10.4.
  • Calculating Optimal Datatypes in the Info table, returned syntax error for MySQL version 8 and above.
  • Copy Database was not working properly when the chunk size was set to 0 or less.
  • SQLyog returned random errors when importing a SQL dump using HTTP tunnel.
  • In some places, the connections and databases names longer than 44 characters were truncated on the right-side in the drop-down list of connections/database names.
  • Miscellaneous:
  • The MariaDB C Connector is upgraded to version 3.1.8.

New in SQLyog 13.0.1 (May 2, 2018)

  • Features:
  • It is now optional if Schema Sync should synchronize the InnoDB Row Format -setting for tables or not.
  • Bug Fixes:
  • The setting in Query Profiler ‘preferences’ to include EXPLAIN EXTENDED is now ignored, if server does not support this (what is the case with MySQL from 5.7.4 – but not any MariaDB version).
  • Miscellaneous:
  • The “keywords.db” file (used by syntax highlighting, autocomplete and automatic lettercase handling for functions and keywords) was updated with new keywords and functions related to JSON, Roles, Common Table Expressions and Window Functions as of both MySQL 8.0 and MariaDB 10.3.

New in SQLyog 12.5.1 (Jan 15, 2018)

  • The option to ‘dump as HEX’ did not work as expected for BLOB and BIT datatypes.
  • Selecting ‘Default’ for the ‘Session Idle Timeout’ in the connection manager was setting the SESSION value for ‘wait_timeout’ variable to “28800” irrespective of the GLOBAL value on the particular server. Now SESSION value will be inherited from the GLOBAL value in such case.

New in SQLyog 12.5.0 (Nov 15, 2017)

  • Features:
  • Added command-line syntax for applying registration details when doing a ‘silent install’. You may refer this FAQ for details. Note that this option is only available for Ultimate edition.
  • A notification is now displayed when a large operation has finished (program icon in taskbar will ‘blink’).
  • Bug Fixes:
  • Fixed a bug in JSON export where reserved characters for JSON were not escaped properly.
  • Miscellaneous:
  • SJA for Linux now requires Linux kernel version 2.6.32 or higher.
  • Now Date along with Time is also displayed in History tab.

New in SQLyog 12.4.3 (Jun 14, 2017)

  • This maintenance release upgrades the MariaDB Connector/C to version 2.3.3 (current). Versions before this could time out incorrectly on some environments (and for unclear reasons). Affected in particular was Windows 8, but also all Windows versions running in a virtualized environment could be.

New in SQLyog 12.4.2 (May 18, 2017)

  • Important notice:
  • The tunneler file for HTTP-tunnel has been updated with this release and must be replaced on the server. Earlier HTTP-tunnel required PCRE-support in the server-side PHP-environment. Now it does not.
  • Features:
  • Search function in Object Browser now supports regular expressions.
  • Bug Fixes:
  • Fixed a rare connection failure using SSH-tunnel to specific BSD systems.
  • Removed unnecessary virtual column check for older servers with no support for this.
  • Fixed a crash when a menu-item, that is disabled in read-only mode , was clicked with no active connection tab.
  • Miscellaneous:
  • In Scheduled Backup wizard renamed the ’Flush Master Logs’ -option to ‘Purge Binary Logs’. This is in order to comply with ‘mysldump’. Further removed ‘Flush Slave Log’ -option, as using it on a replication environment could break replication.

New in SQLyog 12.4.1 (May 18, 2017)

  • Features:
  • Added an option to HEX-dump binary data in Export as SQL and in Scheduled Backup.
  • In read-only mode FLUSH-statements can now be executed from the GUI as well as editor, except for ‘FLUSH TABLE WITH READ LOCK’ (as we don’t allow acquiring explicit LOCKS in read-only mode).
  • Bug Fixes:
  • On enabling HTTP, SSL or SSH checkbox in the connection manager, the checkbox wasn’t redrawn automatically. The checkbox were re-drawn only on hovering over them or switching to another tab in the connection window
  • In Table Diagnostics, clicking on Analyse executed same query irrespective of ‘Local’ being checked or not.
  • Changed the row count in Data Synchronisation Wizard to use a 64-bit integer. Before this the rowcount displayed would stop incrementing at a 10-digit number.
  • Import from Excel did not handle cells with multiline text properly. A linebreak became a SPACE.
  • For a non read-only connection, on right-clicking on a table, the Import External Data option was greyed out even though it could be accessed from the Powertools and shortcut key.
  • The ‘date picker’ did not handle dates with a ZERO-day/month/year (as allowed in specific sql_modes). In such cases current date would be selected and inadvertently clicking “OK” in the dialog would overwrite. Now nothing is selected and the OK button is ‘grayed out’ in such cases.
  • Fixed a rare crash occurring when editing the password for a connection.
  • Regression fix: In SQL backups an extra r was added for every rn in stored routines.
  • Schema Sync sometimes failed to sync indentations to target exactly like on source.

New in SQLyog 12.4.0 (Jan 25, 2017)

  • Features:
  • Added an option for defining a connection as ‘read-only’. There is a checkbox in the connection settings and when checked the title bar will inform user about the ‘read-only’ state. In ‘read-only’ state statements that write cannot be executed. For more details please see note at the bottom.
  • Added support for the MariaDB auth_gssapi (Kerberos) plugin. This plugin is available with the latest 3.0 (alpha) Connector/C from MariaDB. But there seems to be a huge popular demand for this already, and we have backported it to the 2.3 connector version we use in SQLyog. Note that support for this plugin is not available with SJA for Linux with this release.
  • Bug Fixes:
  • In User Manager, if a MySQL username contained certain special characters (including “@”), it was not possible to GRANT privileges TO or DROP the user due to misplaced quotes in the generated SQL.
  • Adding a new user in the ‘User Manager’ wasn’t populating the the newly added user_name in the ‘User’ field.
  • On localized keyboards with an ALTGR key, this key unintentionally behaved like CTRL with autocomplete popups. With some such keyboards using a non-QWERTY layout, this could prevent typing of specific characters.

New in SQLyog 12.3.3 (Dec 27, 2016)

  • Bug Fixes:
  • Fixed an issue where Import External Data -jobs failed to authenticate SMTP.
  • The sja.log would record syntax errors on recent servers if Scheduled Backup was running with ‘Flush Master’ option. The generated backup file was OK. ‘Flush Master’ was deprecated in MySQL 5.6 and replaced with ‘Reset Master’. We now use ‘Reset Master’ with such servers.
  • In email settings of Import External Data wizard it was possible to leave the subject empty.
  • When re-ordering columns, an ON UPDATE -clause could be lost in specific cases.
  • Fixed cases where index-level comments were not saved and copied.
  • In ALTER TABLE dialog .. indexes tab, the ‘index type’ drop-down combo did not list a plain KEY as an option. It does now and is set as default. Before this, the user was supposed to leave the field empty, which was not intuitive.
  • Miscellaneous:
  • HISTORY tab will now record implicit commits.
  • In SJA email notifications a TIMESTAMP may now be used with the subject. Also, the formatting of SJA mails was improved for better readability.

New in SQLyog 12.3.2 (Nov 16, 2016)

  • Bug Fixes:
  • If an INIT_CONNECT setting in server configuration specified SET AUTOCOMMIT = 0 and global AUTOCOMMIT was 1 (or non-existent as in MySQL 4.1 and 5.0), the ‘transactions’ menu in SQLyog would incorrectly display AUTOCOMMIT as 1 after connection.
  • Same code change as above also fixes a crash that could occur with 4.1 servers.
  • Transactions support would fail to initialize with servers running global ANSI mode. SQLyog will not work in ANSI mode but connection and initialization should work, so that user as the first step may specify a supported session sql_mode (from the editor or from ‘advanced’ tab in connection settings).
  • Miscellaneous:
  • Transactions will not work with HTTP-tunnel and any transactional command executed in an HTTP-session will now pop-up a warning that every statement runs in its own transaction.

New in SQLyog 12.3.1 (Nov 4, 2016)

  • Bug Fixes:
  • 12.3.0 introduced a slowness when displaying the saved connections list with a large no. (100+) of saved connections. This is fixed now.
  • Fixed a rare crash occurring sometimes when typing in the editor inside an invalid query longer than 128 characters. Auto-complete was at fault.

New in SQLyog 12.3.0 (Oct 26, 2016)

  • Features:
  • GUI transactions support. This new feature is available in Enterprise and Ultimate editions. Also please see note below.
  • Added a tooltip on column headers in Data tab informing about column name, column type and length. In Result tab the tooltip will display column name only, as the result returned by MySQL does not have information of storage type details.
  • Added GUI support for index-level comments in CREATE/ALTER TABLE.
  • Bug Fixes:
  • Fixed an issue where GUI could ‘hang’ when executing queries with very large subqueries.
  • Fixed an issue with the confirmation prompt in User Manager. It could appear when it should not and vice versa.
  • Fixed a color rendering bug in Connection Manager.
  • Multiple empty lines were made one when creating/altering a stored program.
  • Duplicate table was not copying Virtual Columns of the table.
  • Fixed a crash when reverting changes made to a newly defined table. Only HTTP-tunnel was affected.
  • Fixed a crash occurring sometimes when selecting a table and inserting a DELETE statement into the editor from table menu .. Paste SQL Statement.
  • Row-count for a table in INFO tab displayed as a number of “K”, “M” or G” rows using base-2 number system. Using this number system makes no sense in this context.
  • Miscellaneous
  • Copy DB to a different host now identifies a DB on a target named the same as the source DB if such exists on target.

New in SQLyog 12.26 (Sep 13, 2016)

  • Bug Fixes:
  • SQLyog was not able to connect to RDS instances using SSL encryption. Attempting to do so returned the error “Failed to connect to MySQL: SSL connection error: certificate verify failed”.
  • After having a connection open for very long time, SQLyog could crash when closing this connection.
  • Corrupted connection information in the ‘session restore’-database could cause a crash. We had one reproducible report of this, but please note that there is no indication that SQLyog itself caused the corruption. It may be due to a hardware error, for instance. But in any case we should not crash.

New in SQLyog 12.25 (Aug 19, 2016)

  • Features:
  • Added basic support for the JSON datatype as of MySQL 5.7.8+ and MySQL Cluster 7.5.2+. The datatype is now available in the CREATE/ALTER TABLE dialog and JSON data will open in the BLOB-viewer. In the BLOB-viewer we have added validation that content is valid JSON. Also JSON-related keywords and functions are recognized in syntax highlighting and autocomplete. Also please see note at the bottom.
  • SQLyog GUI now supports Foreign Key constraints between NDB tables for MySQL Cluster 7.3+.
  • It is now possible to filter the users based on a string in the drop-down list in the ‘User Manager’. It is similar to filtering the tables, databases and connections, and an improvement to the filter in previous versions.
  • Bug Fixes:
  • In “Backup Database as SQL Dump” when selecting ‘Data Only’ option, it was possible to select objects not containing data. This case is now handled more intuitive.
  • At the bottom of the Object Browser there is a notification area (used for various purposes including security alerts, marketing campaigns etc). If SQLyog – for any reason – could not access our server checking for available notifications, the message “Internet access is restricted from this computer” would appear. It disturbed some users and does not display now.
  • MySQL allows the columns with TIMESTAMP and DATETYPE datatypes to set the value to NULL, even if the column is defined with ’NOT NULL’. When set to NULL, MySQL will replace NULL with the CURRENT_TIMESTAMP value. Therefore it is now possible to select the option ‘Set To NULL’ for such columns by right clicking on the cell in the ‘Table Data’.
  • When SQLyog restored the session after closing and reopening, editor tabs sometimes displayed editor line numbers only partially or otherwise incorrect as long as the tab did not have focus. This is now fixed.
  • When pasting SQL templates for a table (from menu .. edit .. Insert Templates), INSERT and UPDATE query listed the virtual/generated columns in the template. This has now been removed from the templates.
  • When deleting a connection tab the focus was not handled correctly in some cases, where it would highlight one connection tab and display the contents of another connection tab.
  • CREATE/ALTER TABLE omitted a SPACE-character before the comment on a TIMESTAMP ON UPDATE CURRENT_TIMESTAMP column if a comment was specified, and the statement would fail.

New in SQLyog 12.24 (May 27, 2016)

  • Bug Fixes:
  • Fixed a regression bug introduced in 12.2.3, that could have the result that various data dialogs displayed truncated or empty. Affected were “table diagnostics” and in some cases also Info, Data and Result tabs in text mode.

New in SQLyog 12.23 (May 26, 2016)

  • Features:
  • User Manager filter: when some characters are typed for user in User Manager first match with same starting characters will be selected.
  • Bug Fixes:
  • “Ignore Definer” did not work if “Drop Table if exist” and “Ignore Definer” both were ticked in cases where only procedures and/or functions were copied to another database.
  • The result of a multiline string in text mode displayed empty in case where the string started with a line break.
  • For “wide” BIT(n) types “0?-bits (even significant ones) could be truncated away due to a bug in a string conversion algorithm.
  • Miscellaneous:
  • The Plink executable shipped with the 64 bit installer is now a 64 bit binary. Before it was 32 bit.
  • The width of the dividers between the various panes of the SQLyog main window has been increased for better operability of resizing. This will be useful with touchscreens in particular.

New in SQLyog 12.22 (May 26, 2016)

  • Features:
  • The ‘date picker’ now has a GUI control to insert current date.
  • When running multiple statements in the editor and an error occured, SQLyog would continue to next statement. There is now an option to ‘halt on error’ in such cases.
  • Bug Fixes:
  • The `sys` database of MySQL 5.7 was erroneously backed up when choosing ‘all databases’ in the Scheduled Backup tool.
  • Table-level comments were truncated at 490 characters.
  • The ‘date picker ‘ calender could display distorted in DATA tab in some cases.
  • Miscellaneous:
  • MySQL username max-length in SQLyog connection settings has been increased from 16 to 32 characters, as MySQL 5.7 now allows for.

New in SQLyog 12.21 (Feb 25, 2016)

  • Bug Fixes:
  • Updates from RESULT tab could fail with MySQL 4.1 servers. The recent code changes in order to support MySQL 5.7 Virtual Columns overlooked that there is no Information_Schema database in MySQL 4.1 and a required condition could not be verifed due to this.
  • In rare cases “copy database to a different host” option could generate incorrect statements and copying would fail with a ‘columns count mismatch’ error. Also this was introduced with code changes in order to support Virtual Columns in MySQL. Virtual columns did not need to be present in source for the error to occur.
  • Fixed a crash when copying table data to clipboard.
  • Miscellaneous:
  • Installer packages are now signed with a SHA2-hashed (and not SHA1 as before) certificate. Since recently Internet Explorer 11 has issued a security warning when installing from installer packages using a SHA1-hash with a build timestamp from Jan 1st 2016 or later. We were not aware of this policy-change by Microsoft when releasing SQLyog 11.1.9 and 12.2.0.

New in SQLyog 12.20 (Feb 13, 2016)

  • Bug Fixes:
  • Virtual Columns of MySQL 5.7 were not handled properly in ‘copy database to other host’.
  • 12.1.9 introduced a sluggishness when moving around the data GRID. In some cases it could be so bad that the program seemed to “hang” completely.
  • Miscellaneous:
  • Fixed inconsistent versioning. Earlier we could sometimes use format like “11.19″ and sometimes “12.1.9″. We now consistently use the latter – like “12.2.0″ with this release.

New in SQLyog 12.19 (Feb 12, 2016)

  • Features:
  • Virtual Columns support for MySQL 5.7 onwards (Virtual Columns with MariaDB were already supported). Please see note below for details.
  • SSL and SSH-tunnel are now not mutually exclusive. A SSL connection may now be established through an SSH-tunnel. This is in particular useful with various sorts of “private clouds” where connection to the cloud requires SSH and privacy of the cloud is enforced by using SSL for internal communication in the cloud.
  • Multiple files (.sql, .schemaxml, .queryxml) may now be opened in one operation in main editor window.
  • Bug Fixes:
  • When importing from some (not commonly used) external data sources using a WHERE-clause a SPACE was missing before the “WHERE” keyword causing an error. This is actually an issue with ODBC-drivers affected, but this release has a workaround.
  • In CREATE/ALTER TABLE dialog a default value could be specified for BLOB/TEXT columns. The server does not permit this and doing so will result in a server error. Now the GUI prevents it.
  • Fixed minor bugs with the Virtual Columns support for MariaDB.
  • Miscellaneous:
  • SQLite has been upgraded to version 3.10.0. This results in performance improvements (in autocomplete in particular).

New in SQLyog 12.18 (Feb 12, 2016)

  • Bug Fixes:
  • In 12.17 (released yesterday) it could happen that session restore erroneously could restore (a) Query tab(s) from previous session that was closed before SQLyog itself was closed.

New in SQLyog 12.17 (Feb 12, 2016)

  • Bug Fixes:
  • Fixed a memory leak as well as a crash in ‘session restore’ when writing a restore point. This was reported by a number of users. We were never able to reproduce these issues ourselves but a number of affected users have tested and confirmed the fix.
  • The formatter could add trailing space after specific keywords occuring at the end of a line.
  • In CSV exports there was an additional comma after each row while exporting a table if the last column was not selected for export.
  • Miscellaneous:
  • While exporting a table having BLOB/TEXT type column(s) to ‘fixed length CSV’, a warning message is displayed that this may result in truncation of data and user is given the choice whether to continue or not.

New in SQLyog 12.16 (Feb 12, 2016)

  • Features:
  • Schema Designer may now optionally use ‘portrait’ or ‘landscape’ layout for printing. Before only ‘portrait’ was available. Also page breaks may now be previewed.
  • Bug Fixes:
  • With ‘ChallengeResponseAuthentication’ set to “YES” in SSHD configuration, SSH tunnel from SQLyog would fail. This was introduced in 12.13 with the PLINK update here.
  • On Wine the color palette used for customizing colors of the SQLyog interface did not open.
  • In the Connection Manager .. MySQL tab, pressing ALT+V moved cursor to “keep alive interval” setting (last control of the tab) and not “saved connections” (first control of the tab).
  • Miscellaneous:
  • The Import External Data tool would create indexes on BLOB/TEXT columns with an index prefix length of (only) 6 characters. This has been raised to 255.
  • SQL Server “UNIQUEIDENTIFIER” and Access “REPLICATIONID” data types are now migrated to a CHAR(36) and not CHAR(50) as before. This is for compability with how various applications and environments – including and most notably MS EntityFramework – expect data length of a Unique Identifier.

New in SQLyog 12.15 (Feb 12, 2016)

  • Features:
  • The search for the connections and databases is now faster and simpler, as it lists all the connections and databases which contain the typed phrase.
  • Bug Fixes:
  • Schema synchronisation tool now functions by creating dummy tables in cases where views are built on another views.
  • Earlier SQLyog updated connrestore.db file even when there were no changes in the current session. This is now fixed.

New in SQLyog 12.14 (Feb 12, 2016)

  • Features:
  • Added an option in “Export as SQL Dump”, “Export Table Data As..” and “Scheduled Backup” not to write the SQLyog version to SQL dumps. This will reduce ‘noise’ for users comparing dumps for auditing purposes, when SQLyog has been upgraded.
  • In both “Export as SQL Dump”, and “Scheduled backup” there is now an option to add a linebreak between rows if BULK INSERTS are written. This will increase readability and help to prevent truncation of lines if the dump is opened in an editor or similar and saved again from there.
  • Miscellaneous:
  • Increased contrast for better identification of selected row in GRID as well as increased visibility of which tab is currently selected.

New in SQLyog 12.13 (Feb 12, 2016)

  • Bug fixes:
  • Due to use of an old Plink version in older versions of SQLyog, SSH-tunnel could not be created to servers running OpenSSH 6.9x (as now available with Fedora 22 and possibly other ‘bleeding-edge’ Linux distros). We upgraded Plink to version 0.64 (latest) in this release.
  • In rare cases, with an orphaned Plink process started by SQLyog running, the sqlyog.ini file could be locked and thus could not be edited in a text editor for instance.

New in SQLyog 12.12 (Feb 12, 2016)

  • Features:
  • XML files can now be imported from GUI controls in table menu/context menu provided that details of the XML follows one of the three supported XML-schemes supported by MySQL LOAD DATA XML syntax. This includes XML files generated with SQLyog and mysqldump.
  • Bug fixes:
  • Server name in object browser was displaying wrong in some cases.
  • JSON export added in version 12.11 could add an extra delimiter what could cause an error in the environment where the JSON was used.
  • Profiler tab was getting focus instead of Messages tab in some cases if query was executed by placing cursor inside query and if more queries appeared in the Query tab and queries were executed ‘one by one’ (it did not happen when highlighting the query).
  • In ‘Export as’ dialog, SQLyog did not remember the escape character used if escape character was defined as “\\”. It would then replace “\\” with “\”.
  • In some cases SQLyog wasn’t displaying warnings for the query executed. Most common case was when a function was used with an argument of incorrect type causing server-side truncation of the argument (example: “SELECT ABS(‘a’);”)
  • Miscellaneous:
  • Increased the dialog and column sizes for index and foreign key popup dialogs for better usability.

New in SQLyog 12.11 (Feb 12, 2016)

  • Features:
  • Added option to export table data and result sets as JSON.
  • Bug fixes:
  • On Windows systems using a recent wininet.dll, setting the HTTP timeout higher than 30 seconds had no effect and SQLyog would fire same query 3 times if HTTP tunneling was used and query executed on server for more than 30 seconds.
  • Fixed a performance regression with “execute SQL script”.
  • Miscellaneous:
  • The new icons and other graphics introduced in 12.1 now have slightly darker and brighter colors. As a result the UI is now ‘less pastel’ than before.
  • Changes in 12.1 to the ‘twilight’ theme (default before 12.1) have mostly been reverted due to user requests.
  • Visual Data Compare UI now has the same 12.1 -style overall look as the main program window etc. has.
  • SQLite was updated to version 3.8.8.3. This will result in performance enhancement of up to 80% for Autocomplete with large local SQLite databases.

New in SQLyog 12.09 (Feb 12, 2016)

  • Bug fixes:
  • Fixed a crash on ALTER TRIGGER introduced in 12.08. This crash was due to unavailability of SHOW CREATE TRIGGER (in MySQL server before 5.1 or due to a MySQL Bug). The patch in 12.08 failed on such environments. We will now revert to old logic if SHOW CREATE TRIGGER is not available or returns an error or an empty string.
  • Same problem as listed above could cause a crash in Schema Sync.
  • Import External Data would map a MS SQL varchar(max) datatype to a MySQL ‘varchar’. The ODBC driver for MS SQL would then return an empty string for varchar(max) columns. We now map MS SQL varchar(max) to a MySQL ‘TEXT’ datatype as default.
  • On batch execution of queries the Query Profiler will now be disabled. Earlier SQLyog EXPLAINed first explainable statement in batch execution. This arbitrary choice has caused confusion, and in cases where the batch executed a DROP TABLE it could result in an error when a table referenced in EXPLAIN did not exist anymore.
  • SQLyog restricted user from entering a table comment of more than 60 characters. Now if user is using MySQL server >5.5.3+ he/she will be able to enter table comments up to 2048 characters.
  • Fixed a crash on “copy database to different host”. Only SQLyog Community was affected. This bug was introduced in SQLyog 11.52.
  • Miscellaneous:
  • Fixed the Korean translation with patches contributed by a Korean user.

New in SQLyog 12.06 (Feb 12, 2016)

  • Bug fixes:
  • The computed colums functionality, introduced in 12.05, executed a SHOW CREATE TABLE with database and table indentifiers not `backquoted` in the background. As a result ALTER TABLE was not available for tables with some characters (such as SPACE) in database and table identifiers.

New in SQLyog 12.05 (Feb 12, 2016)

  • Features:
  • SQLyog now supports computed (virtual/persistent) columns for MariaDB 5.2+ servers.
  • Bug fixes:
  • Result tab could display wrong execution and total time in status bar.
  • When using SSH tunnel and the SSH daemon used was on another host than the MySQL server connected to, SQLyog would display the connection as a connection from localhost and not from the SSHD host.
  • Miscelaneous:
  • Changed the rendering mechanism used on high-resolution monitors, where Windows as default will scale the desktop (and objects appearing on it) to match an approximately 96 DPI-display experience. However, before this release that did not apply to icons and some other graphics resources in SQLyog as well as Windows standard controls (bottons, checkboxes etc.), that could all appear very small on such displays.
  • Offline docs are removed from SQLyog. Now online docs will open in default browser. It is not posssible to continue support for the CHM help format. It was officialy abandoned by Microsoft years ago (when Windows Vista was released) and has not been maintained since.

New in SQLyog 12.04 (Feb 12, 2016)

  • Features:
  • Added support for the ‘clear-text plugin’ (used by Oracle/MySQL LDAP authentication) and the ‘dialog plugin’ (used for MariaDB PAM authentication). Unlike the LDAP support available in early 11.x versions there is no user setting for either. SQLyog will transparently for user detect how to communicate with the server during authentication.
  • It is now possible to save current setting of Visual Data Compare in a job file. This job file will be compatible with Data Sync (ie. a job file generated by one may be used with the other and vice versa).
  • ‘copy database/table(s) ‘ now has an option to copy triggers defined ON tables selected for copy.
  • Bug fixes:
  • Fixed a rare crash caused by ‘session restore’ code. It could happen when executing a LOAD DATA LOCAL statement, for instance. Only Windows 8.1 was affected (+ some Wine beta version(s) according to user reports, that we were never able to reproduce).

New in SQLyog 12.03 (Feb 12, 2016)

  • Features:
  • Data Sync will now run in a single transaction using REPEATABLE READ transaction isolation mode on source.
  • Bug fixes:
  • The fix in 12.02 related to (DATE)TIME datatypes using fractional seconds was not complete. In some cases Schema Sync could still add quotes where it should not.
  • If the target for Schema sync differed from the currently selected database in the main program dialog, inconsistent database name could display in some cases. A consequence was that SQLyog mistook what was the current active database and SQLyog GUI would keep showing incorrect active database afterwards, until it was changed.
  • In Schema Sync some items could incorrectly be blue-colored and redundant statements would be generated for those affected.

New in SQLyog 12.02 (Feb 12, 2016)

  • Features:
  • Exports to CSV and Excel XML can now optionally include BOMs (Byte Order Marks) or not. Before this, BOMs were not an option. Some Windows programs will require BOMs in order to recognize the encoding as UTF8.
  • Bug fixes:
  • The fix in 11.3 for databases named identically except for lettercase would fail in some cases. One such case was if database default charset was utf8mb4.
  • The checkbox in CREATE/ALTER TABLE dialog for setting ON UPDATE CURRENT_TIMESTAMP failed for TIMESTAMP and DATETIME columns using fractional seconds. MySQL 5.6+ from Oracle was affected. MariaDB 10 was not.
  • Also in in CREATE/ALTER TABLE dialog, for TIMESTAMP and DATETIME columns using fractional seconds a default specified as CURRENT_TIMESTAMP(n) (with ‘n’ being a number in the range 1..6) was incorrectly ‘quoted’ and thus failed.

New in SQLyog 12.01 (Feb 12, 2016)

  • Bug fixes:
  • Version 12.0 introduced a bug where the copy options from the icon bar did not function. Same functionalities from menu and context menu were not afffected.

New in SQLyog 12.0 (Feb 12, 2016)

  • Features:
  • In addition to UTF8, exports to CSV and Excel XML can now be written with a number of non-unicode charsets/encodings. Note that in the SQLyog interface we identify those with their “MySQL name” and not what they may be termed in other contexts (‘latin1′ and not ‘ANSI/Western’ for instance).
  • The CREATE/ALTER TABLE dialog now has a column of checkboxes where the “ON UPDATE CURRENT_TIMESTAMP”-clause can be specified by user for TIMESTAMP columns – and also for DATETIME columns if the server connected to is 5.6+.
  • DATA and RESULT tabs can now be ‘unsorted’ from a selection in the context menu. This is in particular useful if you have sorted on multiple columns . In this case ‘unsorting’ could be a little tricky.
  • Miscellaneous:
  • The title bar now displays if SQLyog running is a 32 bit or 64 bit version.
  • Added the keyboard shortcut F4 for CREATE (table/view/stored procedure/stored function/trigger/events/index depending on current Object Browser selection).

New in SQLyog 11.5.2 (Jul 18, 2014)

  • Features:
  • ‘session restore’ will now also restore the current default database for every connection to what is was when the program was closed.
  • Added options to save and open session savepoints manually. The options are added to the file menu. This is working independently of the automatic session restore feature. With this it is possible to have a number of session savepoints for different use cases saved to the system.
  • When one or more connections saved in a session savepoint failed to open, the connections were discarded. When the program was closed next time the automatic session savepoint would be overwritten, and all queries, schema designs and query designs belonging to affected connections would be lost. Now, when a connection fails, a copy of the automatic session savepoint file will be created and user will be prompted to copy it for future use (using the new option to open a savepoint manually).
  • ‘copy database’ now has an option to create the target database.
  • Bug fixes:
  • Wrong execution time could display in MESSAGES tab.

New in SQLyog 11.5.1 (Jun 13, 2014)

  • Features:
  • Query Builder and Schema Designer tabs are now handled by ‘session restore’ exactly the way that Query tabs were in 11.5.
  • Bug fixes:
  • In a multimonitor setup SQLyog was always opening in the primary monitor if closed in maximized state.
  • In Schema Sync altering an Event could generate an incorrect query.
  • Recent files were not displayed in file menu. This bug was introduced in version 11.5.
  • ‘sesson restore’ would not always open connection tabs in same order as was the case when program was closed. This happened if user had re-organized the tab-order manually.
  • Saved SQL files were not being marked as dirty when edited after it was restored by ‘sesson restore’.
  • When the content of an editor tab had just been saved as a file before closing the program, ‘session restore’ would sometimes not save and restore that particular tab.
  • If SQLyog was closed with no connections open, ‘session restore ‘ would still restore the last connection that was open.
  • Miscellaneous:
  • Upgraded the linked OpenSSL library to version1.0.1h (OpenSSL is used for SSL-connections – not for SSH tunnel).

New in SQLyog 11.5.0 (May 20, 2014)

  • Includes all the changes featured in the previous Beta versions

New in SQLyog 11.5.0 Beta 1 (May 8, 2014)

  • Features:
  • 'session restore' now saves and restores content of open Query tabs.
  • As a consequence user is not prompted to save open Query tabs when the program is closed and 'session restore' is enabled. User is still prompted when closing an individual tab.
  • With 'session restore' enabled, session is now also saved automatically in the background every 10 seconds.
  • A Query tab can be renamed (from the context menu of the tab itself). 'session restore' will open the tab with the user-defined name.
  • Added the HTTP content-type 'application/xml' as an option for HTTP tunnel.
  • Import external data will now create tables with the database collation of the database imported to, provided that database charset is utf8. Note that we cannot do this if database charset is not uft8 as imported tables are always created as utf8 and comparable collations do not always exist for unicode and non-unicode charsets in MySQL.
  • Bug fixes:
  • Fixed a crash when executing a single bracket ( “(” ) as a statement.
  • Import External Data could fail when creating indexes on imported TEXT columns as the tool did not specify the mandatory index prefix length.
  • Miscellaneous:
  • The HTTP-tunneler has been updated with this release and users making use of HTTP tunnel must update the tunneler on their MySQL host. The previous tunneler – released with SQLyog 8.8 more than 3 years ago – used the function 'set_magic_quotes_runtime()' that has been deprecated for some time in recent PHP versions. Till now we have suppressed any errors resulting from this, but this is a permanent solution.

New in SQLyog 11.4.2 (Apr 17, 2014)

  • Version 11.41 introduced a dependency on the shared library ‘msvcr100.dll’ (installed with the ‘VC++ 2010 SP1 redistributable’ from Microsoft). Users that do not upgrade regularly from Windows Update for any reason (including company policies) could experience that the program failed to launch with a message about the missing .dll. This dependency has now been removed.

New in SQLyog 11.4.1 (Apr 12, 2014)

  • Upgraded libraries that theoretically could be vulnerable to the ‘Heartbleed’ OpenSSL bug. All users are urged to upgrade as soon as possible.

New in SQLyog 11.4.0 (Mar 26, 2014)

  • Features:
  • Added a notifications area appearing in the lower part of Object Browser area. This will be used to communicate important information to users (example: critical bugs affecting version currently used). When no notifications are available or when there is no Internet connection to the notifications service, the area will not display.
  • In Copy database, Export as SQL-Dump, Scheduled Backup and Schema Sync there is now an option to ignore/omit DEFINER-clause for database objects where it applies. Note that the target server will then create DEFINER as current SQLyog user when creating the object.
  • Added fractional seconds support for relevant data types if server supports (MySQL does from 5.6.4 and MariaDB does from 5.3) in CREATE/ALTER TABLE as well as in ‘Import External Data’.
  • Bug fixes:
  • Since version 11.0 SQLyog failed to read theme files other than the default ‘twilight’ theme.
  • Copying into clipboard from MESSAGES tab could result in garbage characters.
  • SSH usernames and passwords with a doublequote character were not escaped properly.

New in SQLyog 11.3.1 (Jan 4, 2014)

  • Features:
  • Added support (in syntax highlighting and autocomplete) for a number of keywords added in recent MySQL versions.

New in SQLyog 11.3.1 Beta 1 (Dec 27, 2013)

  • Features:
  • Restoring connections is now faster with multiple connections. Each connection is restored in a separate thread.
  • Bug fixes:
  • ESC key did not work in confirmation dialog in editor after reaching end of the document.
  • The keyboard shortcut Ctrl+R now sets focus on the active tab In Result Pane.
  • Copy database/table will now use the CHUNK setting in preferences. Before only ‘backup as SQL dump’ did and ‘copy ..’ used a fixed CHUNK size of 1000 rows in the LIMIT clause. We had reports that 1000 rows could sometimes be too much for the HTTP buffer to handle with HTTP tunnel on some webserver environments.
  • With HTTP-tunnel a malformed XML data stream could in rare cases crash SQLyog.
  • When a SSH connection had applied a database filter, using that connection either as source or as the target for ‘copy database to other host’ the copy operation would fail with an invalid database name.

New in SQLyog 11.3.0 (Dec 27, 2013)

  • Features:
  • The Query Profiler results can now be exported as HTML.
  • Bug fixes:
  • Multiple ‘reorder columns’ operations in same instance of the dialog for this operation could have unexpected ordering results.
  • Strings containing a double-quote character are now escaped by doubling the double-quote character when also double-quote is selected for ‘enclosed by’. This is a special rule for the double-quote character (other characters are escaped – if needed – with the backslash character) added for compliance with Excel and CSV-standards (at least Microsoft’s interpretation of same) and -practices.
  • If databases named identically except for lettercase were available in a connection, Stored Procedures, Stored Functions and Events could display in Object Browser where they should not.
  • When typing an object name (database or table) followed by a dot, the Autocomplete list of sub-objects could fail to popup. This was introduced in 11.28. Affected users may need to ‘rebuild tags’ after installing this build.

New in SQLyog 11.2.8 (Nov 15, 2013)

  • Bug fixes:
  • Schema Sync requires SELECT privilege to the `mysql` database for syncing non-table objects. If user did not have this privilege, SQLyog would display a generic message that the sync failed, but with no further information. We now ask user to check for privileges.
  • A slugginess could occur in the editor when typing a function name followed by a bracket. It could happen for instance if specific versions of the Notepad++ text editor was installed on the system before SQLyog was installed.
  • Miscellaneous:
  • The color used to indicate the selected row in DATA and RESULT grids is now clearer/brighter than before and thus more easily distinguishable from the darker rows of the grid.

New in SQLyog 11.2.7 (Oct 23, 2013)

  • Bug fixes:
  • 11.25 introduced a dependency on the VC++ redistributable for some Windows platform(s). If the redistributable was not installed SQLyog would not start. Affected was Windows 2008 Server r2 (at least).
  • Another dependency was introduced in 11.26 affecting Wine. Also here SQLyog could fail to start.
  • Fixed a rare case where connection to a SSH daemon failed while copying a database.
  • Fixed a crash in SJA when “To email” recipient was not specified in the job file.
  • With SSL connection the ‘helper connection’ opened in order to stop a running query would not use SSL. As a consequence the server could refuse this ‘helper connection’.
  • When SQLyog was closed immediately after a ‘copy database’ operation and reopened by ‘connections restore’ only the database copied in previous session would display in Object Browser for the connection. Only SSH-connections were affected.
  • Miscellaneous:
  • SQLyog now uses “ALTER VIEW” statement instead of DROP and CREATE VIEW statements for ALTER VIEW operation.

New in SQLyog 11.2.6 (Oct 14, 2013)

  • Bug fixes:
  • Fixed a random crash in Schema sync.
  • Messages were not displaying in MESSAGES tab after creating/altering Views, Triggers, Stored Procedures etc.
  • Horizontal scrollbar was not handled properly in Blob Viewer.
  • Pressing ESC key to cancel the DROP TABLE operation was dropping the table on Wine.
  • Comments inside a ‘quoted string’ were not escaped properly in query when executing in Query tab.

New in SQLyog 11.2.5 (Sep 26, 2013)

  • Bug fixes:
  • When executing queries in more connections at the same time all connection tabs would only display the results when all query instances had returned.
  • If focus was on the table in Object browser selecting “copy table to ” -option was not setting the focus to the selected table in the dialog.
  • Menu option ‘Paste SQL Statement’ will now format the query as per the SQL Formatter Preferences settings
  • Sometimes SQLyog failed to connect to MySQL server via SSL. This was introduced in 11.2.
  • While copying a table/database, pressing SPACE would abort the copying process. Now it will not (but ENTER key will still abort the process).
  • On Wine expanding triggers- and stored procedures -folders in copy database dialog could crash SQLyog.
  • FIND option in Blob viewer could crash SQLyog with specific sequences of user operations.
  • Miscellaneous:
  • Preference dialog will now display the the last closed tab.

New in SQLyog 11.2.4 (Sep 17, 2013)

  • Bug fixes:
  • Fixed a memory corruption when accessing specific tables. In rare cases this could crash SQLyog. Only the 32 bit version was affected and only when using ‘compressed protocol’ for the connection.
  • LOAD DATA LOCAL could fail to import data from a data file using ‘Windows linebreaks’ (\r\n). This bug was introduced in 11.23 with the fix for non-ASCII characters in the file name.

New in SQLyog 11.2.3 (Aug 29, 2013)

  • Bug fixes:
  • Fixed a rare crash which could occur while stopping query execution.
  • Fixed a crash while expanding tables in Scheduled backup with no connection open.
  • Import External Data truncated DOUBLE and FLOAT values to 6 digits after decimal point.
  • Paste did not work in a column where a ‘Foreign Key Lookup’ icon displays (FK ‘children’ columns).
  • When opening a SJA wizard multiple times and selecting an existing jobfile, the jobfile details were not displyed 2nd and higher times. Instead details from first time a job file was opened during the session were displayed.
  • Exporting to a SQL-dump failed to escape properly, if a view contained columns with backtick(s) in the column identifier. Please note that this is a partial fix for backticks in identifiers only as columns names with backticks (in both tables and views) will now be exported correctly, but database and table etc. names with backticks still don’t. We don’t recommend using backticks in an identifier at all (even though it is legal from a ‘formalistic point of view’ in MySQL 5.1+).
  • Specifying a filename with non-ASCII characters in LOAD DATA LOCAL raised the error ‘file not found’ even if file existed and was valid. This is a very old (from the beginning) issue with MySQL clients on Windows due to the missing or incomplete implementation of ‘Windows Unicode’ (UTF16 little endian) in both MySQL server and clients/API’s/connectors, but we found a client-side solution for LOAD DATA LOCAL. However note that UTF16LE still cannot be specified as CHARSET in LOAD DATA. This is a server issue. So this fix addresses only ‘Windows Unicode’ in the file name and not in the file content. Files with utf16le-encoded content will still need to be re-encoded to UTF8 before import to ensure proper import of characters of the complete unicode BMP range.

New in SQLyog 11.2.2 (Aug 20, 2013)

  • Bug fixes:
  • Fixed stability issues when running SQLyog with a non-English language interface on a system running a non-western locale. ‘hangs’ and random crashes could occur. This bug was introduced in 11.2.
  • With specific settings for the formatter the formatting preview in ‘preferences’ would not always show exactly how formatting would actually be done.
  • After closing a maximized SQLyog program window with no connection window inside, SQLyog would open in non-maximized mode when started next time.

New in SQLyog 11.2.1 (Aug 10, 2013)

  • Features:
  • The interface for restoring connections from previous session introduced in 11.2 has been changed due to user requests. There is now no popup dialog at startup, but instead a setting in tools .. preferences .. ‘others’ tab
  • Bug fixes:
  • A very large .zip archive generated by Scheduled Backup could fail to open due to a checksum error
  • Miscellanous:
  • MySQL 3.23 and 4.0 servers are no longer supported and a connection attempt to such will be denied

New in SQLyog 11.2.1 Beta 1 (Aug 7, 2013)

  • Features:
  • The interface for restoring connections from previous session has been changed due to user requests. There is now no popup dialog at startup, but instead a setting in tools .. preferences .. ‘others’ tab.
  • Bug fixes:
  • Fixed a rare crash in HTTP-tunnel typically happening when copying huge databases or tables. Exact details of this crash would depend on the environment.
  • LOAD DATA LOCAL would hang indefinitely if a non-existing file was specified as argument. This bug was introduced in version 11.2.
  • In Schema Sync a comma could be missing before a COLLATE clause thus resulting in an invalid SQL statement.

New in SQLyog 11.2.0 (Aug 7, 2013)

  • Features:
  • When opening SQLyog it is now posibble to have the same connections tab opened as when the program was closed last time. The feature is optional and individual connections can be selected.
  • Bug fixes:
  • If memory was exhausted SQLyog could crash. We will now exit gracefully.
  • Miscellaneous:
  • Support for the clear-text plugin has been removed. We hope it is temporarily, but we are not fully in control. More information will appear as soon as we can provide such information.

New in SQLyog 11.1.3 (Jun 21, 2013)

  • The fix for incorrect escaping in DSN-authentication in 11.12 introduced a new problem with some ODBC-drivers – most important drivers for Oracle. \

New in SQLyog 11.1.2 (Jun 11, 2013)

  • Bug fixes:
  • Fixed a case where support for the ‘cleart text plugin’ did not work as expected and authentication failed.
  • Import External Data could fail to authenticate to the ODBC-source if dsn-password contained a semicolon.
  • Autocomplete would sometimes hang or crash while editing stored procedures. This bug was introduced in v11.0.
  • Export table data as SQL generated an incorrect create table in the 64 bit version. Also this was introduced in v11.0.
  • For DATETIME fields in MySQL 5.6+, if CURRENT_TIMESTAMP was given as default, the default would be incorrectly quoted.
  • Miscellaneous:
  • For this GA release we have reverted to the same client API as before 11.12 beta 1 and the ‘clear-text plugin’ as introduced in 11.1 is again supported as in 11.1 and 11.11.

New in SQLyog 11.1.2 Beta 1 (May 23, 2013)

  • Bug fixes:
  • Autocomplete would sometimes hang or crash while editing stored procedures
  • Export table data as SQL generated an incorrect create table in the 64 bit version
  • These were introduced in v11.0
  • Miscellaneous:
  • Support for the client side ‘cleartext plugin’ has been removed as SQLyog is now compiled with a new client library which does not support this feature. Note that this has only relevance for users using PAM authentication with an Oracle Enterprise server. It is not relevant for the users of the freely downloadable servers from Oracle or any ‘fork’ such as MariaDB or the Percona Server.

New in SQLyog 11.1.1 (Apr 19, 2013)

  • Bug fixes:
  • Enum field drop down was not available in table data or result tab when http connections were used – introduced in v10.0
  • Schema sync could generate an incorrect alter table statement for addition of foreign keys – introduced in v11.0
  • SQLyog was not decoding the dsn password and the ssh passphrase/password after reading it from the xml file. – introduced in v11.1
  • SQLyog 64 bit was extremely slow on some systems.

New in SQLyog 11.1.0 (Apr 10, 2013)

  • Features:
  • A setting in the connection manager for enabling the MySQL Cleartext Authentication Plugin. This sends the password in clear text and is to be used only if the user has a secure connection and a specific need for this. For example, if the server has PAM authentication enabled, then the password needs to be sent in clear text.
  • Bug fixes:
  • Session timeout value was not stored in the job files.
  • DataSync in SJA for linux 64 bit would fail in some cases due to incorrect typecasting.

New in SQLyog 11.1.0 Beta 2 (Apr 3, 2013)

  • Features:
  • Added an option in the Connection Manager to keep a connection alive by pinging the server (using mysql_ping() ) at a user-specified interval.
  • Note:
  • 1. This should only be used if setting a high session timeout does not prevent disconnection
  • 2. There could be a small lag if a query is executed at the exact same time as the ping. This is because the ping has to finish executing before the query can be executed.
  • 3. The interval specified should be the highest possible interval which still prevents disconnection.
  • Bug fixes:
  • COLLATE clause was not handled properly in Schema Sync
  • If the difference between the structure of 2 tables was only the character set, then Schema Sync could incorrectly generate a comma in the alter table statement.

New in SQLyog 11.1.0 Beta 1 (Mar 28, 2013)

  • Features:
  • Encoding of all passwords in all job files in the same way that the passwords are encoded in the SQLyog.ini file. The job files created with version 11.1 will not work with previous versions of SQLyog/SJA. However, job files created with older versions of SQLyog will work with the new version.
  • A setting in the connection manager for enabling the MySQL Cleartext Authentication Plugin. This sends the password in clear text and is to be used only if the user has a secure connection and a specific need for this. For example, if the server has PAM authentication enabled, then the password needs to be sent in clear text.
  • Bug fixes:
  • Incorrect mapping of the double data type when importing from access in import external data.
  • ixed a crash which would occur while dropping an index when table data was in focus - introduced in v10.
  • In Visual Data Compare, an incorrect query could be generated if the primary key column was not the first column in the table – introduced in v10.5.
  • Miscellaneous:
  • Changes in the order of execution of statements when opening a new connection. Now the user specified init-command(s) will be executed after SQLyog’s init-command(s).

New in SQLyog 11.01 (Feb 19, 2013)

  • Bug fixes:
  • Fixed 2 issues introduced in ‘Import External Data’ when rewriting program code for 64-bit compilation as of version 11.0: 1) A job file with a (NDB-cluster) TABLESPACE specification and a WHERE clause failed to load in the wizard 2) non-ASCII defaults defined on non-unicode/ANSI string columns on source would be mapped against a UTF8 byte pattern and would garble for same reason.
  • Fixed a rare crash occurring when dropping indexes from the Object Browser repeatedly.

New in SQLyog 10.51 (Dec 27, 2012)

  • Bug fixes:
  • Executing a SQL-statement with a comment inside could cause the Query Profiler to send an incorrect EXPLAIN statement – thus raising a syntax error. This bug was introduced in 10.5.
  • Accessing Visual Data Compare could raise the error ‘Could not connect to SJA’ on systems/user accounts with limited access to write to installation folder. The reason is that Visual Data Compare attempted to create temporary files in installation folder. They are now created in user’s ‘User Profile’.
  • If the ‘Custom Filter’ or ‘Foreign Key Lookup’ dialog was open SQLyog did not appear in the list displayed by Windows ALT+TAB dialog.
  • With (only) a view/procedure/function/trigger selected in Object Browser the ‘Backup database as SQL dump’ dialog did not open. This bug has existed since version 6.5.
  • Fixed an issue in SJA mails with HTML-encoding of “” -characters where they were not used for specifying HTML tags.
  • Specific operations by user in the GUI could cause ‘Export as SQL Dump’ to show database objects of another database than expected

New in SQLyog 10.42 (Dec 5, 2012)

  • Bug fixes:
  • Inserting a string literal identical to a supported ‘smart keyword’ from GRID/FORM view by enclosing it in backquotes (like `NULL`) did not remove the backquotes before insertion. This bug was introduced in 10.0 and the fix is backported from the current 10.5 development tree.
  • When updating or deleting from the RESULT tab and if the tab displayed a JOIN of columns from multiple tables and if all columns of a composite Primary Key of one or more tables were not displayed a wrong DELETE or UPDATE query could be generated. Also this bug was introduced in 10.0.

New in SQLyog 10.41 (Nov 21, 2012)

  • Bug fixes:
  • SQL-exports did not ‘quote’ TIMESTAMP values. For that reason a dump with such data did not restore. This bug was introduced in 10.4. All users that have already upgraded to 10.4 should upgrade to 10.41 at once.

New in SQLyog 10.4 (Nov 19, 2012)

  • Features:
  • Added a filter in the Object Browser for hiding display of database objects here. More precisely: database objects, where the typed filter string is not a substring of the object identifier, will be hidden. When focus in on the connection node, the filter will act as a database filter. If focus is on a database, a table, a table folder or any sub-table object, it will be a table filter on current database. If the focus is on a stored program or stored program folder of any kind it will be a filter on that type of stored program in current database. The filter is specific for each database object (connection, tables of a database, or a type of stored programs of a database) and is persistent within a SQLyog session (but not persistent across sessions).
  • NULL-values are now displayed with italics like (NULL). This eliminates any confusion with a literal value.
  • Added ALT+F5 as a keyboard shortcut for refreshing a DATA tab.
  • SQLyog will now "USE ´mysql´;" when User Management is opened and reset the default database again when it is closed. Before using User Management on a replication master could break replication with specific binlogging settings. This is a workaround for what we consider a bug in MySQL.
  • When 'rebuilding tags' in auto-complete we are now commiting small transactions to SQLite. Before it was one big transaction. This ensures normal operations for indexed data while 'rebuilding tags'.
  • Drastically improved auto-compelte performance. This is actually the third time we do so, but recent additions to SQLite makes this possible again (technically autocomplete now uses SQLite 'WAL mode').
  • Added support for the 'Windows authentication plugin' (available from MySQL 5.5.16).
  • Bug fixes:
  • Fixed a 'commands out of sync' error when executing a stored procedure multiple times.
  • Fixed a bug where the foreground/background color applied for Messages tab failed to paint properly.
  • The 'SQL Scheduler and Reporting Tool' could fail to deliver server messages in mails sent.
  • Creating views/sp's/function/triggers/events added statements twice to messages tab.
  • The 'total time' displayed for a query would not always correctly calculate the sum of 'execution time' and 'transfer time'. This bug was introduced in 9.2.
  • The 'total time' displayed for a query would not always correctly calculate the sum of 'execution time' and 'transfer time'. This bug was introduced in 9.2.
  • A database name would not be completed by autcomplete If the database was listed in connection manager.
  • Fixed some cases where CTRL+Space/Enter incorrectly did not return a table/alias.
  • Fixed some issues where autocomplete did not immediately return objects created - most important objects added by 'Import External Data' tool and 'Copy Database/Table to Other ..' would not display immediately. It was neccessary to 'rebuild tag'. It is not now.
  • Loading a unicode file with BOMs (Byte Order Marks) into the editor could strip characters (3 characters with UTF8 - 2 characters with UCS2/UTF16) from the pasted content. A buffer length allocated did not consider BOMs properly.
  • MESSAGES tab could display conflicting messages about warnings. This bug was introduced in 10.3.
  • When copying from MESSAGES tab and pasting into SQLyog editor - or any editor or program - the pasted content could add garbage characters.
  • 'Silent uninstall' was not working as expected.
  • UPDATE statement generated by Data Sync did not use 'fully qualified tablenames' where as INSERT and DELETE statement did.
  • Miscellaneous:
  • It is now default for new connections to use the GLOBAL sql_mode for the connection. But user may still specify whatever sql_mode he wants.

New in SQLyog 10.4 Beta 2 (Nov 8, 2012)

  • Features: .
  • When ‘rebuilding tags’ in auto-complete we are now commiting small transactions to SQLite. Before it was one big transaction. This ensures responsiveness and normal operations for indexed data while ‘rebuilding tags’.
  • Drastically improved auto-complete performance. This is actually the third time we do so, but recent additions to SQLite makes this possible again (technically autocomplete now uses SQLite ‘WAL mode’).
  • Added support for the ‘Windows authentication plugin’ (available from MySQL 5.5.16).
  • Bug fixes:
  • A database name would not be completed by autocomplete if the database was listed in connection manager.
  • Fixed some cases where autocomplete CTRL+Space/Enter incorrectly did not return a table/alias .
  • Fixed a some issues where autocomplete did not immediately return objects created – most important objects added by ‘Import External Data’ tool and ‘Copy Database/Table to Other ..’ would not display immediately. It was neccessary to ‘rebuild tag’. It is not now.
  • Loading a unicode file with BOMs (Byte Order Marks) into the editor could strip characters (3 characters with UTF8 – 2 characters with UCS2/UTF16) from the pasted content. A buffer length allocated did not consider BOMs properly.
  • MESSAGES tab could display conflicting messages about warnings. This bug was introduced in 10.3.
  • When copying from MESSAGES tab and pasting into SQLyog editor – or any editor or program – the pasted content could add garbage characters.
  • Fixed a GDI leak introduced in beta 1. For every query executed SQLyog’s GDI allocation increased.
  • Silent uninstall’ was not working as expected .
  • UPDATE statement generated by Data Sync did not use ‘fully qualified tablenames’ whereas INSERT and DELETE statement did.

New in SQLyog 10.4 Beta 1 (Oct 17, 2012)

  • Features: .
  • Added a filter in the Object Browser for hiding display of database objects here. More precisely: database objects, where the typed filter string is not a substring of the object identifier, will be hidden. When focus in on the connection node, the filter will act as a database filter. If focus is on a database, a table, a table folder or any sub-table object, it will be a table filter on current database. If the focus is on a stored program or stored program folder of any kind it will be a filter on that type of stored program in current database. The filter is specific for each database object (connection, tables of a database, or a type of stored programs of a database) and is persistent within a SQLyog session (but not persistent across sessions).
  • NULL-values are now displayed with italics like (NULL). This eliminates any confusion with a literal value.
  • Added ALT+F5 as a keyboard shortcut for refreshing a DATA tab.
  • SQLyog will now “USE `mysql`;” when User Management is opened and reset the default database again when it is closed. Before using User Management on a replication master could break replication with specific binlogging settings. This is a workaround for what we consider a bug in MySQL .
  • Improved Schema Sync performance if Foreign Keys were involved. We now execute fewer statements in such cases.
  • Bug fixes:
  • Fixed a ‘commands out of sync’ error when executing a stored procedure multiple times.
  • Fixed a bug where the foreground/background color applied for Messages tab failed to paint properly.
  • The ‘SQL Scheduler and Reporting Tool’ could fail to deliver server messages in mails sent.
  • Creating views/sp’s/function/triggers/events added statements twice to messages tab.
  • The ‘total time’ displayed for a query would not always correctly calculate the sum of ‘execution time’ and ‘transfer time’. This bug was introduced in 9.2.

New in SQLyog 10.3 (Sep 10, 2012)

  • Features:
  • The list of connections in Connection Manager can now be managed by typing directly in the ‘dropdown’. What is typed acts as a ‘prefix search’ and first connection name starting with the prefix will be selected. This applies to both the Connection Manager of the main program as well as SJA wizards.
  • Filter is implemented in the Schema Synchronization dialog for filtering tables and other objects. This is a ‘exact match filter’. However SQL-wildcards (“_” and “%”) may be used.
  • Added a filter option to MESSAGES tab. You may show only queries returning a result set, queries not returning a result set, queries returning errors or queries returning warnings only as well as queries returning either warnings or errors. Also MESSAGES tab will now display the (first 128 characters of the) query.
  • Bug fixes:
  • F6 shortcut did not open ALTER TABLE/DATABASE when the focus was outside the Object Browser.
  • Adding ‘%’ to the filter string in ‘custom filter’ was not handled properly and could result in wrong results. This was introduced in version 10.0.
  • Updating an image stored in a BLOB field using the Blob Viewer could fail. Also this was introduced in 10.0.
  • Miscellaneous:
  • It is now default for new connections to use the GLOBAL sql_mode for the connection. But user may still specify whatever sql_mode he wants.

New in SQLyog 10.2 (Jul 12, 2012)

  • Bug fixes:
  • The height of GRID-cells will now adjust to fit font setting for the GRID

New in SQLyog 10.2 Beta 1 (Jul 6, 2012)

  • Features:
  • Saved connections can now be exported and imported. The option is available in the ‘tools’ menu.
  • Added an option to open exported CSV and Excel XML files directly with the program associated with the file extension on the system.
  • Bug fixes:
  • Exporting Schema Designer canvas as image on Wine generated empty boxes for tables with no information about columns. It is actually a bug in Wine (incomplete Windows API implementation for drawing routines).

New in SQLyog 10.12 (Jun 28, 2012)

  • With specific settings for GUI appearance (DATA tab in lower pane, ‘autorefresh DATA tab on focus’ enabled) switching from one connection to another and back would reset filter in the first connection. This was introduced in 10.11.
  • Editing data from GRID and pressing arrow-up/down key could scroll the view a full page. Also this was introduced in 10.11.
  • ‘Export table as .. SQL’ from RESULT tab generated invalid SQL if the tab was in ‘read-only’ state. This was introduced in 10.0. Also ‘Export table as .. SQL’ has now been disabled for multi-table result sets. This is an old issue, but exporting data from multiple tables to SQL never made sense .
  • SQL Formatter would add whitespace around non-ASCII characters in identifiers and aliases.
  • The rowcount displayed in status line is now a count of rows available in current DATA/RESULT tab. Before it was the number of rows fetched from MySQL with the last executed SELECT query for that tab and did not reflect INSERTS and DELETES executed later from GUI. Also when a filter is used, the display will show the rowcount after applying filter. It did not before in RESULT tab.
  • Small GUI fixes.

New in SQLyog 10.11 (Jun 21, 2012)

  • Pressing the ESC key while cursor was positioned in an empty row of the GRID could cause a crash. Introduced in 10.1.
  • ‘Hide optimal datatypes’ of a table in INFO tab/HTML view did nothing. Also this was introduced in 10.1.

New in SQLyog 10.1 (Jun 20, 2012)

  • It is now optional whether DATA, INFO and HISTORY tabs shall display in ‘upper pane’ (as in 10.0) or in ‘lower pane’ (as before 10.0). The setting is available in tools .. preferences .. general. Note that for DATA tab this applies to the ‘non-sticky’/non-persistent DATA tab. A ‘sticky’/persistent DATA tab will always display in ‘upper pane’
  • DATA, INFO and HISTORY tabs appearance will now be persistent across sessions when configured to display in upper pane. If visible when program was closed they will open when program starts next time – if hidden when program was closed they will not. When configured to display in lower pane they will always be visible
  • The checkbox to ‘select all’ as added in DATA and RESULT tab in 10.0 is now implemented all over the program, including SJA wizards
  • The background color for the editor can now be defined by user. Same applies to Query Builder and Schema Designer canvas. Also settings for syntax highlighting in the editor can now be defined using a full color palette
  • Multi-column sort in DATA tab now uses CTRL+CLICK modifier when clicking the column header. A simple CLICK (with no CTRL) will discard previous sort setting (if any) and do a single-column sort
  • Added an option to copy selected text into clipboard with all whitespace (SPACE characters, TAB characters and linebreaks) replaced with a single SPACE character. The option is available from menu and the keyboard shortcut ALT+C
  • Sorting (single-column) of results is now possible in Data Search tab

New in SQLyog 10.0 (May 22, 2012)

  • Refreshing modern looks. We redesigned the user interface with a soothing color palette. We call it Twilight. You can also design your own themes and there is an option to switch to your default desktop theme as well.
  • The data tab is now moved to the upper pane. With this, all important tabs are in the upper pane and you can see more of what you want to see, and more than one table data can be opened under the same connection.
  • Schema synchronization logic is optimized and now it is up to 100 times faster for large schemas.
  • Introduced many keyboard shortcuts for power users.
  • Added an option for multi-column sorting and filtering of table data.
  • Many more usability enhancements and bug fixes.

New in SQLyog 9.63 (Mar 24, 2012)

  • Added an option to specify the font used in the Object Browser.
  • Schema Sync now has an option to add SET FOREIGN_KEY_CHECKS = 0 to the script generated.
  • Added an option to specify INIT_COMMAND(s) for a connection. INIT_COMMAND(s) are executed when SQLyog connects and reconnects. The primary purpose is to override settings specified with ‘init_connect’ setting in server configuration for the SQLyog session. For instance if ‘init_connect’ server setting specifies “SET AUTOCOMMIT = 0″ you may enter “SET AUTOCOMMIT = 1″ in the SQLyog connection manager if you want a non-transactional behavior for the SQLyog session.
  • Bug fixes:
  • If both a column default and a column comment was specified in CREATE/ALTER TABLE a SPACE-character was missing in the generated statement causing invalid syntax error. This bug was introduced in 9.5.
  • Fixed a crash (reported internally) in the ‘Indexes’ tab of the CREATE/ALTER TABLE interface.
  • Schema Sync did not handle BIT-column defaults properly. A redundant apostrophe caused the statement generated to be invalid.
  • Also if Schema Sync operated on a table where only column-level comments differed on source and target an invalid statement would be generated.

New in SQLyog 9.61 (Feb 25, 2012)

  • Features:
  • A Chinese (Simplified) translation is now included.
  • Bug fixes:
  • When there was an INFO tab open the server was unnecessarily queried for the content of the INFO tab (based on Object Browser selection) when closing the program. This could cause a slow shutdown.
  • Fixed a crash occurring when pressing the ESC key in the CREATE/ALTER tab/dialog. This bug was introduced in 9.6.

New in SQLyog 9.6 (Feb 23, 2012)

  • Features:
  • When performing CREATE/ALTER TABLE operation from inside the Schema Designer now a dialog with a tabbed interface similar to the CREATE/ALTER TABLE tab will open.
  • It is now optional if Query Builder will create statements with ‘fully qualified tablenames’ or not.
  • Implemented Alt+Ins, Alt+Del, Alt+Up and Alt+Down for inserting, deleting, moving up/down the rows in CREATE|ALTER TABLE interface when the focus is on respective grids. The tooltip for the toolbar buttons will now show this shortcuts.
  • Bug fixes:
  • In Data Sync a low setting of ’max_allowed_packet’ on source server could result in CONCAT_WS() used for checksums’ calculation returning NULL . We did not consider this and as a consequence rows could fail to sync without warning. We will now abort the job with an error message (if user has selected to ‘abort on error’) or print an error to the sja.log file and the console (if user has selected not to ‘abort on error’ ) informing that some rows may have been skippped in such cases.
  • The fix for empty string defaults in 9.51 was not complete. It was (unlike 9.5) possible to create such default but it did not display as ” after creation in ALTER TABLE.
  • If multiple databases with same name existed only differing in lettercase SQLyog would generate certain statements using the ‘mostly lowercased’ database name. This bug was introduced in 9.5.
  • Autocomplete runs in a separate connection, but also when Autocomplete was disabled this connection was created for no reason.
  • SQLyog sometimes waited unnecessarily long (30 seconds – what is the client timeout setting we use internally) to report that SSH connection could not be established. This happened for instance if a wrong RSA passphrase was entered. In such and other cases there is no reason to wait for client timeout.
  • Small fixes – mostly GUI fixes to the new CREATE/ALTER TABLE interface.

New in SQLyog 9.51 (Jan 5, 2012)

  • Features:
  • The active database context is now highlighted in Object Browser using a bold font.
  • Bug fixes:
  • Drop-downs in the DATA and RESULT tab grid (used by SET and ENUM columns) could ‘drop down’ where they should ‘drop up’ instead.
  • Specifying empty string defaults for strings columns was broken in 9.5.
  • Fixed a rare crash caused by an undoumented behavior from the Windows API resulting in division by zero. Crash is now avoided by adding an additional condition check.
  • Fixed a painting issue in the Foreign Key tab in the new (from 9.5) tabbed interface for CREATE/ALTER TABLE that could render the interface here unusable on some systems.
  • Other minor fixes with same tabbed interface.

New in SQLyog 9.50 (Dec 17, 2011)

  • The conversion of modal dialogue boxes to a tabbed interface for creating and altering tables, and defining table properties:
  • Creating a table involves – defining columns, and often, creating indexes and foreign keys. Before, these actions had to be done one after the other, which was annoyingly slow. Now, you can define columns, and create indexes and foreign keys – all in a single interface, which gives you a single CREATE/ALTER TABLE query to execute. Not only is creating tables easier, it is also much faster!
  • Modal dialogue boxes limit one from multitasking. Previously, when in the middle of creating a foreign key, if some information had to be looked up from a different table (or even the same table), it required one to close all the dialogue boxes, get the information, and then start again from scratch! Now, while working on creating a table, you can go to another tab, check for some details and return back to creating the table.
  • History and Info tabs now appear alongside the Query tab. As the content of these two tabs is not dependent on a specific Query tab, it is logical to not have these under the Query tab. Additionally, these tabs consume one third of the system resource that they did before.
  • Content of History and Info tabs is now searchable.

New in SQLyog 9.33 (Nov 22, 2011)

  • Bug fixes:
  • Fixed two regression bugs in Autocomplete introduced in 9.31: 1) a performance regression if the option to “Show suggestion as you type in SQL editor” was enabled. 2) Table alias support was broken.
  • The Autocomplete popup windows opened by Ctrl+Enter and Ctrl+Space could ‘pop down’ where it should ‘pop up’ resulting in the content being partly invisible. This bug was introduced in 9.31.

New in SQLyog 9.32 (Nov 10, 2011)

  • Bug fixes:
  • Typing using the numerical keypad typed nothing in the SQL editor. This bug was introduced in 9.31.
  • With Japanese interface enabled some favorites items could fail to display.

New in SQLyog 9.31 (Nov 10, 2011)

  • Features:
  • Improved the handling of (built-in and stored) functions and stored procedures in Autocomplete. This involves 1) a stored program is now handled also if a ‘fully qualified routine name’ is not used. 2) introduced a Ctrl+Shift+Space keyboard shortcut that will display the parameter-list of a routine when the cursor is positioned inside it. 3) while writing a routine call the parameter list will highlight the current parameter. Also note that we have also reversed the behavior of Ctrl+Space and Ctrl+Enter keyboard shortcuts for Autocomplete – this in order to comply with most IDE’s and advanced editors.
  • Bug fixes:
  • Schema Sync could generate an incorrect ALTER TABLE statement with an A TIMESTAMP .. ON UPDATE CURRENT_TIMESTAMP column on source. This bug was introduced in 8.4.
  • On Wine the status line (at the button of the program window) did not display. This was introduced in 9.3.
  • The Keyboard CTRL+SPACE did nothing on Wine. Now CTRL+SPACE and CTRL+ENTER beve identically on Windows and Wine
  • On Wine the autocomplete popup window painted with a frame hiding some details.
  • When Japanese was selected for the program interface ‘Copy Database/Table’ returned an error. Also this was introduced in 9.3.

New in SQLyog 9.30 (Nov 2, 2011)

  • This release adds a Japanese translation of the User Interface.

New in SQLyog 8.7 Beta 1 (Oct 12, 2010)

  • Features:
  • Added an option to reorder TABs using drag’n'drop in the GUI. The option is available for connection tabs as well as Query/Query Builder/Schema Designer tabs.
  • Added ‘FORM view’ option (in addition to ‘GRID view’ and ‘TEXT view’ already available) for managing data in DATA tab. ‘FORM view’ will display one row at a time and is in particular convenient when entering data from the keyboard. Auto_increment columns are handled. Other CONSTRAINTS must be handled by user. FORM view is an ENTERPRISE/ULTIMATE feature.
  • As a consequence of the above CTRL+L keyboard shortcut will now ‘rotate’ the display mode in DATA tab like Grid->Form->Text->Grid etc. Please also see note below.
  • The Query Formatter is now completely rewritten. In principle all types of SQL statements are now supported and all limitations with the old implementation are lifted.
  • Inside ‘pseudo comments’ (like /*! .. this .. */) “paranthesis’es matching” is now enabled. Inside plain comments it is still disabled.
  • The Editor now has a ‘folding option’. Multi-line code and comment blocks between bracket-pairs, BEGIN-END pairs, C-style comment pairs (/* and */), WHILE-END WHILE pairs, LOOP-END LOOP pairs, REPEAT-END REPEAT pairs and CASE-END CASE pairs can now be ‘folded’ in/out (ie: hidden or unhidden).
  • Autocomplete will now backquote table name (+ routine name etc.) if databasename is backquoted when inserting first-mentioned after a “.” (dot).
  • There is now no size limit on files to be opened in the editor (except for available memory).
  • Bug fixes:
  • Fixed formatting issues with text-mode if multiple multi-line string columns were displayed.
  • The ‘persistence setting’ for ‘all rows’ in DATA tab would sometimes be forgotten (and it was not fixed in 8.62 as 8.62 release notes told).
  • If scrolling in GRIDs is done using Scroll Bar (including Scroll Bar context menu) focus will now not change and will remain on the previously selected row. However navigation between rows in GRID using Pageup/PageDown will still change the focus between rows.
  • If more than 9 Query etc. tabs were open it was not possible to navigate beyond the 9'th using keyboard shortcuts. Now ALT+9 will select the last tab (for connection tabs same was implemented in 8.5).

New in SQLyog 8.6 Beta 2 (Jul 26, 2010)

  • This release ports a single critical bug fix from the newly released 8.55 release to the current 8.6 beta/development tree: If user edited data in RESULT-tab GRID and changed from Edit Mode to Read Only mode without saving, the UPDATE statement would omit the proper WHERE-clause. As a consequence all rows would be updated. This bug was introduced in 8.4. All users using 8.4 or higher should upgrade due to this serious bug.

New in SQLyog 8.55 (Jul 26, 2010)

  • Bug Fixes:
  • If user edited data in RESULT-tab GRID and changed from Edit Mode to Read Only mode without saving, the UPDATE statement would omit the proper WHERE-clause. As a consequence all rows would be updated. This bug was introduced in 8.4. All users using 8.4 or higher should upgrade due to this serious bug..
  • Sorting and filtering on YEAR-type columns in RESULT tab did not work. Now it works with YEAR(4), but with YEAR(2) it still does not with this release.
  • A connection tab/window can now be closed even if there is only one connection (this fix is backported from 8.6 beta release).
  • Fixed an issue with Schema Sync when source and target differed in both columns and Foreign Keys. Sometimes the ALTER script would only specify the FK-changes to target (also this fix is backported from 8.6 beta release).

New in SQLyog 8.4 Beta 1 (Mar 29, 2010)

  • Features:
  • Dumps created with ’scheduled backup’ can now be zipped. Note: the limitation with the archive file name in 8.31 beta1 has been lifted. Now the full unicode range can be used.
  • ‘Notifications Services’ can now read queries from an external file.
  • Added an option to send a mail alert if an error occurs while executing a ‘maintenance query’ from Notifications Services.
  • In RESULT tab data can now be sorted by clicking on column headers like already possible in DATA tab. However note the difference as compared to sorting in DATA tab: in DATA tab we will send a SELECT .. ORDER BY .. query to MySQL – in RESULT tab we will sort inside the internal SQLyog data buffer. That means that for strings sorting in RESULT tab does not respect the collation defined for the data. Also all sorting on string values in RESULT tab is currently always case-insensitive (and note: this also applies to binary types: binary, varbinary and BLOB).
  • ‘copy to clipboard’ and ‘export to CSV-file’ -settings are now independent.

New in SQLyog 8.32 (Mar 29, 2010)

  • Bug Fixes:
  • If ’all rows’ option for a table was selected in DATA tab this setting had effect when switching to a table that had never been viewed before. Consequently first selecting ‘all rows’ for a small table and next selecting a huge table could cause system memory exhaustion. This bug was introduced with the table-level row-number persistence in 8.22. Now a table that has never been opened before will be opened first time with the default LIMIT setting.
  • First time a specific query was executed paging in RESULT tab (as introduced in 8.31 beta1) did not work properly for that query.
  • If paging was disabled for RESULT tab the ‘rows in a range’ radiobutton was still selected (but ‘greyed out’ though).
  • When printing from Schema Designer blank sheets could be printed if a table object was positioned close to the border of a page.
  • Fixed (yet another) multimonitor issue.
  • When a Query Builder tab was closed with an unchanged QB layout, SQLyog prompted if changes should be saved.
  • If tables named identically except for lettercase existed in same database on a unix/linux server one of those tables would display data for the other table in DATA tab. The wrong table was specified in the query sent to MySQL. This bug was introduced in 8.0.
  • Fixed a crash when copying data to clipboard from DATA tab using toolbar icon.
  • Improved GUI in ‘Import External Data Tool’ wizard (explaining limitations with various Microsoft ODBC drivers).
  • SQLyog connection manager required a user name, what prevented connection as a MySQL ’anonymous user’.
  • The automatic detection of what local port to use for SSH-tunneling (as introduced in 8.21) could in rare situations detect a port from where connection was not possible.
  • Schema Sync could generate an invalid USE .. LIMIT … statement. This bug was introduced with paging in RESULT tab in 8.3.

New in SQLyog 8.3 (Mar 11, 2010)

  • Features:
  • Added an option to define a ‘color code’ for a connection. The color will be used as background color in the Object Browser.
  • A Query Builder session can now be saved and resumed.
  • In Query Builder a table alias can be defined for any table by double-clicking the title bar of the table symbol.
  • In RESULT tab results can now be retrieved page-wise. This is ON as default with this build with a defined LIMIT of 1000 rows. For a specific query user can change and for this specific query the setting is persistent across sessions. Also read ‘miscellaneous’ paragraph below.
  • Added a context menu to Query Builder canvas.
  • Bug Fixes:
  • Deleting a user would leave non-global privileges orphaned in the ‘mysql’ database. Now we use DELETE USER syntax if server supports.
  • Also using EDIT USER dialogue to change host or user specifier for a user would not move non-global privileges. We have split the old ALTER USER dialogue into two: a EDIT USER and RENAME USER dialogue. The latter will use RENAME USER syntax if server supports.
  • On Wine Data Sync could generate a malformed XML-string what would case Data Sync to abort.
  • Fixed an issue where SSH-tunneling failed with public/private key authentication. Technically the fix is in the PLINK binary shipped with SQLyog.
  • SJA failed to send notification mails if Yahoo SMTP servers were used. Note that the fix disables encryption option with Yahoo SMTP servers – but it won’t work anyway due to a non-standard SMTP implementation server-side.
  • When importing data from a Universe ODBC-source string data could be truncated.
  • The fix in 8.22 for the issue that horizontal scrollbar in GRID would sometime not appear was not complete. It could still happen.
  • SQLyog will now trim trailing whitespaces in Connection Manager and Create object dialogs to avoid MySQL Errors..
  • Opening a file from ‘recent files’ list could crash SQLyog if a Query Builder or Schema Designer tab was selected and the file specified was not a valid XML file for that tab. This bug was introduced in beta 1.
  • When calling a Stored Procedure with more than one SELECT statement from ‘Notifications Services’ only one result set was sent by mail.
  • The sja.log file had no line-breaks between what was recorded for two jobs.
  • On multi-monitor system resizable dialogues could open on the wrong monitor. New implementation is like this: on multi-monitor systems main program dialogue and ‘first child dialogue’ (example: ALTER TABLE) will open where they were closed (if possible), second and higher child dialogues (example: table advanced properties) will always open on top of its ‘parent’ dialogue. Non-resizable dialogues (such as confirmation boxes) will always open on top of their ‘parent’.
  • With multiple SSH-tunnelled connections open stopping and re-executing queries in multiple connections in a fast manner could crash SQLyog.
  • If more than one comment occurred before a SELECT statement in the editor, the statement was not identified as a SELECT statement by the Query Profiler and the Query Profiler TAB would not display.
  • We did not validate client-side if user checked atoincrement option for a bit column with Create/Alter table dialog.
  • If an error occurred while renaming a trigger then trigger was lost as SQLyog was not recreating it back.
  • Small GUI fixes.
  • Miscellaneous:
  • The default LIMIT setting for DATA tab has been removed. The setting is not required since we introduced table-level persistence for number of rows displayed. The default for new tables that have not been opened before is 50 – but when user changes the value and next ‘refresh’es SQLyog will save the LIMIT for that particular table persistently across sessions. This in combination with page-wise display in RESULT tab results in a more uniform User Interface for DATA and RESULT tabs.

New in SQLyog 8.22 (Jan 29, 2010)

  • Bug Fixes:
  • ‘Test connection’ would succeed even if a non-existing database was specified in the database field. Connection would next fail.
  • Database name (if any) would erase on clicking OK in error dialog in connection window.
  • HTML exports could drop the first character of string output.
  • With multimonitor setup and SQLyog on the right screen some rarely used dialogues would pop up on left screen.
  • Copy database/table will now display ‘connecting to source/target server’ while connecting. If establishing connection took more than a few seconds users could have the impression that nothing was happening.
  • An extra RESULT tab could appear when executing a query. This bug was introduced in 8.2. Professional and Enterprise editions were affected.
  • In notification wizard sending mail would fail if there was no semicolon after the query and “include original query” option was checked.
  • With more than 65 536 (2^16) rows displayed in GRID, the GRID scrollbar would expose strange behavior. We were using a scroll control using 16 bit integers internally. New scroll control handles +4 billion rows.
  • In Wine when displaying very wide tables and result sets (like 500+ columns) the column header could disappear. The underlying reason was that Wine failed to render a gradient as transparent but rendered it as opaque instead.
  • Horizontal scrollbar in GRID would sometime not appear when executing a query returning a large number of columns if not scrollbar was required for previous query.
  • With larger than ‘normal’ DPI setting the BLOB Viewer header would not display properly.
  • ‘Export as SQL-dump’ dialogue was redesigned to allow for longer files paths.

New in SQLyog 8.21 (Jan 19, 2010)

  • Features:
  • Now SJA will also send mail alert if job aborted due to MySQL error. Before it was only internal SJA error.
  • The local port used by SSH-tunneling will now be selected automatically. This will avoid conflicts in case multiple programs use SSH. Also with Data Sync from command-line/scheduler it was possible to use same port for both connections what would effectively sync a server with itself.
  • Caption for ‘Parse’ button in Notification Services Wizard was changed to make it clear that it will actually execute the statement(s) entered. There is no way to let the server parse a statement except for executing it.
  • Connection windows for SSH connections will now list SSH host details in the title bar.
  • Tooltips for an icon will now list the keyboard shortcut performing same action.
  • The option to display ‘all’ versus a ‘LIMIT’ed set of rows in DATA tab is now table-specific and saved across sessions (note that – similar to the ‘column width persistence’ feature – connection parameters are not using for identifying a table; only the database name and the table name are).
  • Objects in an Object Browser node is now sorted case-insensitive.
  • Bug Fixes:
  • Continuously clicking the ‘Calculate’ button in Schema Optimizer in a fast manner could crash SQLyog.
  • The keyword.db file (used by auto-complete and syntax highlighting) is now read only. Various validators for Windows7-compatibility would report that SQLyog wrote to “Program Files” folder at runtime (what it did not).
  • When copying to clipboard an out of memory error could occur also when there was enough memory.
  • The table menu will now indicate what storage engine is currently used for the table.
  • Autocomplete and syntax highlighting did not recognize keywords archive, blackhole, federated, example, maria, pbxt, federatedx, falcon and mrg_myisam.
  • Notifications Services/’Send Query to Email address’ option did not send a mail if an error occurred. Now a mail listing the error will be sent.
  • We did not validate client-side if user specified a default value for an auto-increment column (what is invalid with MySQL).
  • In DATA and RESULT tab the context menu was only working from GRID-cells. Now it also does from GRID headers and ‘whitespace’ in the tabs.
  • Updating a ’TIMESTAMP on update CURRENT_TIMESTAMP’ had no effect (the particular column was not listed in the UPDATE-statement sent by SQLyog). This was a necessary restriction before 8.13 but since we – from 8.13 – only list columns that have actually been edited by user, we can now lift this restriction.
  • Import External Data – TRIGGERS could fail to update a SQL Server (n)varchar if it contained an empty string.
  • If user had selected to save SSH-password locally and later changed the password, the new password was not saved – unless clicking ’save’ button in connection manager interface.
  • When importing an external script with no explicit SET NAMES on top, SET NAMES latin1 was executed by SQLyog. Now we won’t do this – and server default charset will have effect for the import in such case.
  • Autocomplete did not handle identifiers with the ‘_’ character correctly what could result in too many matches when matching the database with a pattern in editor containing such character.
  • Other small GUI fixes.
  • Miscellaneous:
  • This release ships with an updated tunneler file for HTTP-tunneling. In the old tunneler file functions were used that are depreciated in PHP 5.3x.
  • The ‘Objects’ menu was renamed to ‘Others’.

New in SQLyog 8.21 RC (Jan 6, 2010)

  • Features:
  • Now SJA will also send mail alert if job aborted due to MySQL error. Before it was only internal SJA error.
  • The local port used by SSH-tunneling will now be selected automatically. This will avoid conflicts in case multiple programs use SSH. Also with Data Sync from command-line/scheduler it was possible to use same port for both connections what would effectively sync a server with itself.
  • Caption for ‘Parse’ button in Notification Services Wizard was changed to make it clear that it will actually execute the statement(s) entered. There is no way to let the server parse a statement except for executing it.
  • Connection windows for SSH connections will now list SSH host details in the title bar.
  • Tooltips for an icon will now list the keyboard shortcut performing same action.
  • The option to display ‘all’ versus a ‘LIMIT’ed set of rows in DATA tab is now table-specific and saved across sessions (note that – similar to the ‘column width persistence’ feature - connection parameters are not using for identifying a table; only the database name and the table name are).
  • Bug Fixes:
  • Continously clicking the ‘Calculate’ button in Schema Optimizer in a fast manner could crash SQLyog.
  • The keyword.db file (used by auto-complete and syntax highlighting) is now read only. Various validators for Windows7-compatibility would report that SQLyog wrote to “Program Files” folder at runtime (what it did not).
  • When copying to clipboard an out of memory error could occur also when there was enough memory.
  • The table menu will now indicate what storage engine is currently used for the table.
  • Auto-complete and syntax highlighting did not recognize keywords archive, blackhole, federated, example, maria, pbxt, federatedx, falcon and mrg_myisam.
  • Notifications Services/’Send Query to Email address’ option did not send a mail if an error occurred. Now a mail listing the error will be sent.
  • We did not validate client-side if user specified a default value for an auto-increment column (what is invalid with MySQL).
  • In DATA and RESULT tab the context menu was only working from GRID-cells. Now it also does from GRID headers and ‘whitespace’ in the tabs.
  • Updating a ’TIMESTAMP on update CURRENT_TIMESTAMP’ had no effect (the particular column was not listed in the UPDATE-statement sent by SQLyog). This was a necessary restriction before 8.13 but since we – from 8.13 – only list columns that have actually been edited by user, we can now lift this restriction.
  • Import External Data – TRIGGERS could fail to update a SQL Server (n)varchar if it contained an empty string.
  • If user had selected to save SSH-password locally and later changed the password, the new password was not saved – unless clicking ’save’ button in connection manager interface.
  • When importing an external script with no explicit SET NAMES on top, SET NAMES latin1 was executed by SQLyog. Now we won’t do this – and server default charset will have effect for the import in such case.
  • Other small GUI fixes.
  • Miscellaneous:
  • This release ships with an updated tunneler file for HTTP-tunneling. In the old tunneler file functions were used that are depreciated in PHP 5.3x.
  • The ‘Objects’ menu was renamed to ‘Others’.

New in SQLyog 8.2 RC2 (Nov 20, 2009)

  • Schema optimizer will now throw a warning if table is empty. Also interface now has link to help/documentation.

New in SQLyog 8.18 (Nov 20, 2009)

  • The display of the optimized query from EXPLAIN EXTENDED is now truncated to 2 KB. With long BLOB/TEXT data there will need to be some limit
  • Schema Sync will now query Information_Schema for a VIEW definition. MySQL sometimes returns ‘databasename.viewname’ and not just ‘viewname’ when using SHOW CREATE
  • The fix in 8.15 for the issue that Windows Vista and higher could warn that SQLyog was not properly installed was not complete. It could still happen

New in SQLyog 8.2 RC (Nov 18, 2009)

  • A calculation error could cause export tools to create BULK INSERT statements larger than specified by user.
  • Import External Data Tool will now always map any autoincrement type from ODBC sources to a MySQL autoincrement integer. Before this datatypes that could autoincrement on source but not in MySQL (example: a SQL Server ‘decimal autoincrement’) failed to import.
  • Now Import External Data Tool will convert SQL Server ‘GETDATE()’ to MySQL ‘now()’. Before this an error occurred at import with GETDATE()’s.
  • Structure Sync will now query Information_Schema for a VIEW definition. MySQL sometimes returns ‘databasename.viewname’ and not just ‘viewname’ when using SHOW CREATE.
  • Fixed a Object Browser flickering issue when refreshing.
  • The fix in 8.15 for the issue that Windows Vista and higher could warn that SQLyog was not properly installed was not complete. It could still happen.

New in SQLyog 8.2 Beta 1 (Nov 10, 2009)

  • Features:
  • Added a ‘Schema Optimizer’ feature. Based on “procedure analyse()” it will propose alterations to data types for a table based on analysis on what data are stored in the table. The feature is available from INFO tab/HTML mode. Refer to documentation for details.
  • A table can now be added to Query Builder canvas multiple times. A table alias is automatically generated for second and higher instance of the table. This is required for special queries like self-JOINs (note: table alias support in Query Builder is an ongoing process).
  • In the ‘Import External Data’ wizard same import settings can now be applied to all tables in one operation.
  • In MESSAGES tab we are now displaying the query if error occurs during execution in order to make it easier to identify what query raised an error when executing multiple statements.
  • Bug Fixes:
  • ‘Import External Data Tool’ -TRIGGERS did not use the Primary Key for the WHERE-clause if a PK existed on source (all columns were used with the WHERE instead). This could cause problems with tables having Floating Point data.
  • A malformed XML-string could cause failure to connect with HTTP tunneling. This was a rare issue only.
  • After DROP a ’stored program’ followed by CREATE same, autocomplete would not recognize the ’stored program’ unless after a program restart.
  • ‘duplicate table’ has an option to duplicate triggers defined ON that table, but the way we named the new trigger could cause inconsistencies. Now the new trigger will be named ‘oldtriggername_newtablename’.
  • Autocomplete was not functional with names of Triggers and Events.
  • In MESSAGES tab font could change if non-ASCII characters were displayed.
  • The display of the optimized query from EXPLAIN EXTENDED is now truncated to 2 KB. With long BLOB/TEXT data there will need to be some limit.
  • ALTER TABLE failed to rename a column when old and new column name only differed by letter-case. Actually the dialogue just shut down.

New in SQLyog 8.17 (Oct 28, 2009)

  • Bug Fixes:
  • When connected to a 5.0 server compiled without PROFILING option and with Query Profiler/SHOW PROFILE feature enabled SQLyog would still send PROFILING-related queries. It was not properly detected that the server did not support this. MySQL versions from 5.1 and up (also when compiled without PROFILING option) were not affected.
  • In DATA and RESULT tabs/text mode unicode/non-ASCII characters could cause a change of the font that was used for displaying data. This was an old bug from when introducing full unicode support in 6.0.
  • In RESULT tab BLOB/TEXT data would sometimes not display beginning of data in GRID. This bug was introduced in 8.15.
  • Miscellaneous:
  • EXPLAIN EXTENDED option is now disabled as default in Query Profiler

New in SQLyog 8.16 (Oct 21, 2009)

  • Bug Fixes:
  • Exports as Excel-XML was broken in 8.15 . Empty strings and ZERO’s occurred instead of data.
  • ‘Search and replace’ could truncate the result. Also this bug was introduced in 8.15.
  • Miscellaneous:
  • SQLyog Application Manifest was updated to return version information.

New in SQLyog 8.15 (Oct 17, 2009)

  • Features:
  • Added an option to execute SHOW WARNINGS automatically if the ‘warning-count’ is not 0. The output will appear in MESSAGES tab. Note: this is not implemented for HTTP-tunneling.
  • * Improved the memory handling in GRIDS with BLOB/TEXT columns. This fixes some slugginess when scrolling a GRID containing such data.
  • Bug Fixes::
  • A dump containing VIEWs created on an early 5.0-server could fail to restore on recent servers. The underlying reason is a bug with the ‘default’ column in the output of SHOW FULL FIELDS on the early 5.0 servers. But we can avoid using this information and this is what we did now.
  • Copy database/table from a 3.x or 4.0 server to a more recent server failed with column names containing special characters.
  • If a sqlyog.ini files exists in installation folder it should be copied to ‘AppData’ folder. This is required for upgrading from versions before 6.06. However with latest releases an empty file was created in ‘AppData’.
  • The ‘Import External Data Tool’ could truncate strings when importing data from a 4D database. It is actually a bug in the 4D ODBC driver but we found a workaround.
  • SSL-connections failed if authentication keys were created with cipher option.
  • SQL-exports generated INSERTS for MERGE and FEDERATED tables.
  • In INFO-tab/text-mode we will now not highlight ’string literals’. A comment with an odd number of quotes would make following lines display with ’string literal’ highlighting/coloring.
  • * When connected with SSH-tunneling to a Windows machine with Cygwin SSHD the bash.exe process created for each connection did not close again.
  • CREATE TABLE .. advanced options did not set some create-options to ‘default’.
  • Execution of some queries would be slow with Query profiler/EXPLAIN extended selected. Most important queries with a UNION were affected. Technically it was an issue with the Query Formatter code and how it ‘hooked’ into the program. This bug was introduced in 8.0.
  • Windows Vista and higher could warn that SQLyog was not properly installed due to lack of an Application Manifest. It was false alarm but now such Manifest is included with the installer.

New in SQLyog 8.15 RC2 (Oct 10, 2009)

  • Bug Fixes:
  • Execution of some queries would be slow with Query profiler/EXPLAIN extended selected. Most important queries with a UNION were affected. Technically it was an issue with the Query Formatter code and how it ‘hooked’ into the program. This bug was introduced in 8.0.
  • Copy database/table could be slow if BULK INSERTS option was selected in ‘preferences’. This bug was introduced in 8.15 beta 1.
  • 8.15 RC could crash when executing a LOAD DATA statement. This first RC was build with a recent 5.1 client library. Before 8.15 RC we used a 5.0 library. We have now reverted back to 5.0 (5.0.86 client library is used with this release). Issue with the 5.1 client library is not fully understood but it may be related to known memory issues reported with it.
  • Miscellaneous:
  • Functionality change: Before this release we stripped out the database name from Stored Program and View SQL-code when generating SQL-dumps and and when copying a database to another host. Also Schema Sync did with VIEWs. This was in order to make it easy to import/copy to another database. However with tables named identical to the database and when database names was a substring of a table name it failed sometimes. We realize now that SQL code inside Stored Programs and Views may be so complex that parsing for the database name and stripping it is not safe. With this release we have stopped this ’stripping’ and Stored Programs and Views will be dumped by SQLyog identically to what ‘mysqldump’ does.

New in SQLyog 8.15 RC (Oct 1, 2009)

  • Bug Fixes:
  • Copy database/table from a 3.x or 4.0 server to a more recent server failed with column names containing special characters.
  • If a sqlyog.ini files exists in installation folder it should be copied to ‘AppData’ folder. This is required for upgrading from versions before 6.06. However with latest releases an empty file was created in ‘AppData’.
  • The ‘Import External Data Tool’ could truncate strings when importing data from a 4D database. It is actually a bug in the 4D ODBC driver but we found a workaround.
  • SSL-connections failed if authentication keys were created with cipher option.
  • SQL-exports generated INSERTS for MERGE and FEDERATED tables.
  • In INFO-tab/text-mode we will now not highlight ’string literals’. A comment with an odd number of quotes would make following lines display with ’string literal’ highlighting/coloring.
  • When connected with SSH-tunelling to a Windows machine with Cygwin SSHD the bash.exe process created for each connection did not close again.
  • CREATE TABLE .. advanced options did not set some create-options to ‘default’

New in SQLyog 8.15 Beta 1 (Sep 1, 2009)

  • Features:
  • Added an option to execute SHOW WARNINGS automatically if the ‘warning-count’ is not 0. The output will appear in MESSAGES tab. Note: this is not implemented for HTTP-tunnelling.
  • Improved the memory handling in GRIDS with BLOB/TEXT columns. This fixes some slugginess when scrolling a GRID containing such data.
  • Bug Fixes:
  • A dump containing VIEWs created on an early 5.0-server could fail to restore on recent servers. The underlying reason is a bug with the ‘default’ column in the output of SHOW FULL FIELDS on the early 5.0 servers. But we can aviod using this information and this is what we did now.

New in SQLyog 8.14 (Aug 20, 2009)

  • Bug Fixes:
  • When backing up a VIEW a temporary table was created on . That could fail if user did not have TMP_TABLE privilege or if the table violated server or storage engine restrictions for tables (but note that we still write statements that create and later drop a ‘dummy’ table when restoring, as this is the only safe way to backup/restore VIEWS defined on VIEWS). We hope to be able to find a better solution soon, but the issue is a server issue that affects all clients - refer to http://bugs.mysql.com/?id=46779.
  • When updating from GRID’s SQLyog sends a SHOW CREATE TABLE to ensure that table definition has not changed. But incomplete syntax was used (”SHOW CREATE TABLE `table`” - not “SHOW CREATE TABLE `database`.`table`”). With the new reconnect implementation in 8.13 that could raise the error ‘no database selected’ after a reconnect.

New in SQLyog 8.13 (Aug 14, 2009)

  • Features:
  • SQLyog can be started with a ‘-dir’ switch like “SQLyogENT -dir somefolder”. This -dir switch specifies where SQLyog will look for the sqlyog.ini file and where all writable files will be saved. This was mainly implemented for users that want to have all SQLyog-related files on a removable drive or some kind of encrypted storage. Note that if you use the setting in ‘preferences’ to store TAGS file some specific place the ‘preferences’ setting will still have effect, also if the -dir switch is used.
  • Improved/rearranged the GRIDS in Data Sync and Import External Data wizards.
  • SJA mail functionality now supports SSL/TLS encryption. This applies to SJA for Linux and SJA for Windows running on Windows, but not SJA for Windows running on Wine, as we did not find any way to access encryption functionality from Wine.
  • ALTER VIEW will now format the SELECT-part of the VIEW definition.
  • Now all batch jobs will not generate BULK INSERTS larger than 16MB (like already implemented in Import External Data in 8.11).
  • In CREATE/ALTER TABLE the charset and collation columns can now be hidden for better overview (most users never use it).
  • When updating from DATA or RESULT grid the UPDATE statement will now only list columns that were changed. That results in more readable statements and may also improve performance with ‘wide’ tables and tables with large BLOB/TEXT columns.
  • As a consequence of the above the restriction, that a grid containing spatial or binary data could not be updated, has been lifted (but such columns themselves still cannot be updated from the grid).
  • Added an option to perform backups in a single transaction (similar to ‘mysqldump’ “–single-transaction” option).
  • The connection manager has been redesigned to allow for longer connection names. Also the ‘…’ button was renamed to ‘rename’ (what was what it always did).
  • Added support for MySQL compressed protocol in both SQLyog GUI and SJA. Please see detailed note below.
  • Added an option for user to specify the timeout setting for the session (note: it will work with MySQL 4.1 and up only as earlier versions do not support SESSION variables). Please see detailed note below.
  • Now SQLyog logs to the sqlyog.err file if memory allocation fails with string manipulation (for example when handling blob/text data where a single value may be larger than available memory).
  • Version parameter was added to SJA. You can now execute “sja –version” or “sja -v” and version will be returned. Before only the file size could be used to detect the SJA version.
  • Now full GUI support for all charsets added to MySQL after 5.1. Everywhere SQLyog presents user for a list of available charsets and collations the server will be queried about this information. Before it was not like that everywhere!
  • If the custom size for bulk insert in ‘preferences’ is larger than server default, then SQLyog will use the server default for generating BULK INSERT statements. Users overlooked/forgot that they had specified a setting. As a result backups that would not restore on same server could occur. Also now user specification is restricted to 5 digits (what means it will have to be less than 100 MB).
  • The various options available for backups have been reorganized in GUI to make it more clear what options have effect on the source server while backup job is running and what options are options that are written to the file.
  • A new query tab can now be opened by double-clicking in the unused space to the right of existing open tabs.
  • Bug Fixes:
  • Edit menu showed F5 for both Refresh and Execute Query.
  • Autocapitalisation settings had effect where they should not. It has now been disabled in MESSAGES tab and in the error dialogue.
  • Non-column results (like functions, expressions etc.) were affected by column-width persistence feature what they should not (it had weird effects sometimes).
  • Various places a horizontal scrollbar displayed where it was not required.
  • Fixed wrong behavior with GRID scroll bar after resize.
  • ALTER TABLE dialogue executed SHOW TABLE STATUS with no LIKE-clause. That could be slow with a large number of big InnoDB tables in a database.
  • PROFILER tab sometimes did not show after executing multiple queries.
  • After doing FILTER in DATA tab, LIMIT would be reset to previous value.
  • A ‘duplicate key’ error would occur with batch jobs (including Data Sync) if an autoincrement column had a ‘0' value. We now set ‘NO_AUTO_VALUE_ON_ZERO’ sql_mode for batch jobs.
  • On Wine F8 keyboard shortcut was only functional after executing a query.
  • When copy database/table from a MySQL server 5.1 or higher to a 3.x or 4.0 server timestamps with ON UPDATE-clause caused a syntax error as ON UPDATE is not valid on such target. There was no issue when source was 5.0 as we transform the CREATE statement. But the condition had a bug so it did not work with 5.1+ .
  • It was not possible to enter an empty string in the GUI for ENUM/SET management.
  • When queries were inserted from ‘edit .. paste SQL statements’ menu the tokenizer editor component could fail to identify exactly where a statement started and stopped. Reason was that the tokenizer expects Windows linebreaks (
  • ) but templates contained Unix linebreaks (
  • SQLyog could fail to save properly from RESULT tab if PK-column(s) were not displayed in GRID (an incorrect WHERE-clause was generated). This bug was introduced in 8.1.
  • Data Sync could throw an incorrect ‘AUTO INCREMENT definition mismatch’ error for data types (like TIMESTAMP type) where auto-increment does not apply with specific schemas. Also this bug affected Schema Sync.
  • Fixed a crash in Scheduled Backup.
  • A scheduled SJA job raised an internal error code in the Windows scheduler. It had no effect on the job as such (queries were executed, mails were sent), but various monitoring tools for Windows servers would raise an alert.
  • Emptying a database rendered Autocomplete non-functional for the session.
  • Fixed an issue with Schema Sync if the same ’stored program’ was formatted differently on source and target. Target was not always synced properly and SS would detect differences forever.
  • On Wine Data Sync could pop up a message that SJA had crashed. But actually it only crashed after user clicked OK in the dialogue.
  • ‘reorder columns’ threw away ” (empty string) DEFAULTs for string columns.
  • When data were changed in GRIDs and the GRID-curser was moved to another row of the GRID by right-clicking in a cell of another row of the GRID, no UPDATE statement was sent (left-click and arrow-down key worked as expected).
  • With low wait_timeout setting on it could happen that Data Sync took more time than this setting to prepare a BULK INSERT statement. Connection to would be lost and sync not completed. We now SET wait_timeout = 28800 in Data Sync. Also ‘restore from SQL dump’ will now do the same.
  • Mails sent by SJA could truncate a HTML tag for background color. ‘white’ would become ‘hite’. The display with specific email clients was unpredictable.
  • When data sync used the option to generate a sync script the sja.log displayed ZERO’s for inserted, updated and deleted rows. Now the log will display what was written to the script instead.
  • When a routine body contained empty lines, Schema Sync would sometimes not sync such empty lines properly. Schema Sync would then detect differences forever.
  • In INFO tab/HTML-view empty lines in a routine body could be ’stripped out’.
  • ‘copy database’ failed to copy triggers when selecting only triggers for copy.
  • In various error dialogues we will now truncate query strings to 2 KB. Before there was no limit.
  • SSH-tunneling failed with the “FreeSSHD” SSH-implementaton for Windows.
  • Miscellaneous:
  • SQLyog reconnects are now coded differently (now the MySQL API reconnect option is used - before it was our own code). The new code means that with SSH-tunnel it will now not be necessary to re-instantiate PLINK (the running PLINK instance will be used). As a consequence SQLyog will now not log to HISTORY when SQLyog reconnected in most situations. However a PLINKSSHD reconnect will still be logged always.
  • Additional comments:
  • DO NOT take for granted that use of compressed protocol will always increase performance, because the truth is that most often it will make things slower. Use of compressed protocol will decrease the amount of data to be transferred over the network, but it will result in additional load on both the server and the client (due to compressing and uncompressing). You should never use the option when connecting to MySQL on local machine, on local network or over a fast Internet connection. With slower connections however using this option may improve overall performance. It is impossible to be more specific as most Internet connections have asymmetric properties that differ across Internet providers and telecom companies.
  • The option to define timeout for the session (different from the global setting) is possible with MySQL servers from 4.1 and up. However most users will not need to care about it - not even if server (global) timeout setting is low. SQLyog will reconnect if connection was lost since last query was run. Most often user does not even notice. However we have reports of situations where the network takes very long time to process such reconnect requests. In this situation setting the timeout from the client will prevent the situation to occur. Also SSH-users connecting to SSH servers/daemons that are slow to establish connection and where MySQL has a low timeout setting can use this option with advantage.

New in SQLyog 8.13 RC (Jul 31, 2009)

  • Bug Fixes:
  • ‘reorder columns’ threw away ” (empty string) DEFAULTs for string columns.
  • When data were changed in GRIDs and the GRID-curser was moved to another row of the GRID by right-clicking in a cell of another row of the GRID, no UPDATE statement was sent (left-click and arrow-down key worked as expected).
  • With low wait_timeout setting on it could happen that Data Sync took more time than this setting to prepare a BULK INSERT statement. Connection to would be lost and sync not completed. We now SET wait_timeout = 28800 in Data Sync. Also ‘restore from SQL dump’ will now do the same.
  • Mails sent by SJA could truncate a HTML tag for background color. ‘white’ would become ‘hite’. The display with specific email clients was unpredictable.

New in SQLyog 8.13 Beta 3 (Jul 18, 2009)

  • Bug Fixes:
  • The fix in beta 2 with TIMESTAMP ON UPDATE and Data Sync introduced a new issue. An additional `backquote` could be generated in statements for tables having a TIMESTAMP column - what would cause failure to sync affected table.
  • If user did not have SELECT privilege to the `mysql`.`proc` table ALTER STORED PROCEDURE/FUNCTION failed silently. Actually nothing happened. Now we return an error. Please read this FAQ to understand the privilege issue with ALTER STORED PROCEDURE/FUNCTION in SQLyog.

New in SQLyog 8.13 Beta 2 (Jul 15, 2009)

  • Changes (as compared to 8.13 beta 1) include:
  • Features:
  • When updating from DATA or RESULT grid the UPDATE statement will now only list columns that were changed. That results in more readable statements and may also improve performance with ‘wide’ tables and tables with large BLOB/TEXT columns.
  • As a consequence of the above the restriction, that a grid containing spatial or binary data could not be updated, has been lifted (but such columns themselves still cannot be updated from the grid).
  • Added an option to perform backups in a single transaction (similar to ‘mysqldump’ “–single-transaction” option).
  • The connection manager has been redesigned to allow for longer connection names. Also the ‘…’ button was renamed to ‘rename’ (what was what it always did).
  • Added support for MySQL compressed protocol in both SQLyog GUI and SJA. Please see detailed note below.
  • Added an option for user to specify the timeout setting for the session (note: it will work with MySQL 5.0 and up only as earlier versions do not support SESSION variables). Please see detailed note below.
  • Now SQLyog logs to the sqlyog.err file if memory allocation fails with string manipulation (for example when handling blob/text data where a single value may be larger than available memory).
  • Version parameter was added to SJA. You can now execute “sja –version” or “sja -v” and version will be returned. Before only the file size could be used to detect the SJA version.
  • Now full GUI support for all charsets added to MySQL after 5.1. Everwhere SQLyog presents user for a list of available charsets and collations the server will be queried about this information. Before it was not like that everywhere!
  • Emptying a database rendered Autocomplete non-functional for the session.
  • If the custom size for bulk insert in ‘preferences’ is greater than server default, then SQLyog will use the server default for generating BULK INSERT statements. Users overlooked/forgot that they had specified a setting. As a result backups that would not restore on same server could occur. Also now user specification is restricted to 5 digits (what means it will have to be less than 100 MB).
  • The various options available for backups have been reorganised in GUI to make it more clear what options have effect on the source server while backup job is running and what options are options that are written to the file.
  • A new query tab can now be opened by double-clicking in the unused space to the right of existing open tabs.
  • Bug Fixes:
  • SQLyog could fail to save properly from RESULT tab if PK-column(s) were not displayed in GRID (an incorrect WHERE-clause was generated). This bug was introduced in 8.1.
  • Data Sync could throw an incorrect ‘AUTO INCREMENT definition mismatch’ error for data types (like TIMESTAMP type) where auto-increment does not apply with specific schemas. Also this bug affected Schema Sync.
  • Fixed a crash in Scheduled Backup.
  • Fixed an issue with Schema Sync if the same ’stored program’ was formatted differently on source and target. Target was not always synced properly and SS would detect differences forever.
  • On Wine Data Sync could pop up a message that SJA had crashed. But actually it only crashed after user clicked OK in the dialogue.
  • Miscellaneous:
  • SQLyog reconnects are now coded differently. The new code means that with SSH-tunnel it will now not be necessary to re-instantiate PLINK (the running PLINK instance will be used).
  • Additional comments:
  • DO NOT take for granted that use of compressed protocol will always increase performance, because the truth is that most often it will make things slower. Use of compressed protocol will decrease the amount of data to be transferrred over the network, but it will result in additional load on both the server and the client (due to compressing and uncompressing). You should never use the option when connecting to MySQL on local machine, on local network or over a fast Internet connection. With slower connections however using this option may improve overall performance. It is impossible to be more specific as most Internet connections have asymmetric properties that differ across Internet providers and telecom companies.
  • The option to define timeout for the session (different from the global setting) is possible with MySQL servers from 5.0 and up. However most users will not need to care about it - not even if server (global) timeout setting is low. SQLyog will reconnect if connection was lost since last query was run. Most often user does not even notice. However we have reports of situations where the network takes very long time to process such reconnect requests. In this situation setting the timeout from the client will prevent the situation to occur. Also SSH-users connecting to SSH servers/daemons that are slow to establish connection and where MySQL has a low timeout setting can use this option with advantage.

New in SQLyog 8.13 Beta 1 (Jun 20, 2009)

  • Features:
  • SQLyog can be started with a ‘-dir’ switch like “SQLyogENT -dir somefolder”. This -dir switch specifies where SQLyog will look for the sqlyog.ini file and where all writeable files will be saved. This was mainly implemented for users that want to have all SQLyog-related files on a removeable drive or some kind of encrypted storage. Note that if you use the setting in ‘preferences’ to store TAGS file some specific place the ‘preferences’ setting will still have effect, also if the -dir switch is used.
  • Improved/rearranged the GRIDS in Data Sync and Import External Data wizards .
  • SJA mail functionality now supports SSL/TLS encryption.
  • ALTER VIEW will now format the SELECT-part of the VIEW definition.
  • Now all batch jobs will not generate BULK INSERTS larger than 16MB (like already implemented in Import External Data in 8.11).
  • In CREATE/ALTER TABLE the charset and collation columns can now be hidden for better overview (most users never use it).
  • Bug Fixes:
  • Edit menu showed F5 for both Refresh and Execute Query.
  • Autocapitalisation settings had effect where they should not. It has now been disabled in MESSAGES tab and in the error dialogue.
  • Non-column results (like functions, expressions etc.) were affected by column-width persistence feature what they should not (it had weird effects sometimes).
  • Various places a horizontal scrollbar displayed where it was not requiered.
  • Fixed wrong behaviour with GRID scrollbar after resize.
  • ALTER TABLE dialogue executed SHOW TABLE STATUS with no LIKE-clause. That could be slow with a large number of big InnoDB tables in a database.
  • PROFILER tab sometimes did not show after executing multiple queries.
  • After doing FILTER in DATA tab, LIMIT would be reset to previous value.
  • A ‘duplicate key’ error would occur with batch jobs (including Data Sync) if an autoincrement column had a ‘0′ value. We now set ‘NO_AUTO_VALUE_ON_ZERO’ sql_mode for batch jobs.
  • On Wine F8 keyboard shortcut was only functional after executing a query.
  • When copy database/table from a MySQL server 5.1 or higher to a 3.x or 4.0 server timestamps with ON UPDATE-clause caused a syntax error as ON UPDATE is not valid on such target. There was no issue when source was 5.0 as we transform the CREATE statement. But the condition had a bug so it did not work with 5.1+ .
  • It was not possible to enter an empty string in the GUI for ENUM/SET management.
  • When queries were inserted from ‘edit .. paste SQL statements’ menu the tokenizer editor component could fail to identify exactly where a statement started and stopped. Reason was that the tokenizer expects Windows linebreaks (
  • ) but templates contained Unix linebreaks (

New in SQLyog 8.12 (Jun 9, 2009)

  • Bug Fixes:
  • Backups did not `backquote` identifiers inside the columns-list of an INSERT statement (ie. “INSERT .. (col1, col2) VALUES ..” instead of “INSERT .. (`col1`, `col2`) VALUES..”). If specific (but not all) keywords were used for naming a column, backups would not restore. This bug was introduced in 8.1.
  • A sync script generated with Data Sync had INSERT statements duplicated. Also this bug was introduced in 8.1.
  • Fixed a painting issue when switching between DATA tab and RESULT tab.

New in SQLyog 8.11 (Jun 8, 2009)

  • Bug Fixes:
  • A memory corruption could occur when saving a file using ’save as’ (’save’ was not affected) from the editor. Various issues like painting issues and even a crash could then occur.
  • Scrolling with mouse scroll-button was not functional in the new GUI for SET/ENUM management.
  • ‘duplicate table’ did not duplicate all ‘table options’ defined for a table - like MAX_ROWS etc. (Also note that Foreign Key CONSTRAINTS are not duplicated either, but that is intentional and not a bug).
  • Bulk INSERTS generated by Import External Data Tool will now be restricted to 16 MB in size if max_allowed_packet in server configuration is larger than 16 MB. On specific systems/configurations memory issues were reported .

New in SQLyog 8.1 (Jun 3, 2009)

  • One of most loved feature of SQLyog is the snappy and responsive user interface. Many of our users and customers prefer SQLyog over other tools because of this particular reason.
  • One reason for the zippy interface could be that SQLyog is entirely developed in C/C++, which tends to be faster than other languages when it comes to raw speed. I don’t want to start a flame war here, but our customers seem to like this fact. Using C/C++ allows us to use the native MySQL C client libraries that gives the best performance as compared to other ways of communicating with MySQL. Using C/C++ also ensures that there are no external dependencies on any bulky frameworks and the download file is relatively small.
  • Although using a language that complies directly to machine instructions helps a lot, but true speed comes from better algorithms. A similar analogy in the MySQL context would be that you might get some benefits from tuning your mysql.cnf/mysql.ini file, but real benefits come only when you find problematic queries in your application and rewrite them and/or create better indexes.
  • SQLyog uses a set of smart algorithms for its data synchronization tools. These algorithms ensure that we only transfer checksums using multiple threads and do full row transfer only when required. We have an old blog post with some benchmarking results here.
  • Although our data sync speeds are quite impressive, we were not happy with the results in certain scenarios. This led us to improve the data sync speeds even further with 8.1. We will publish some new benchmarking results soon in our blog.
  • With 8.1, we have been able to introduce massive speed improvements in the following areas:
  • Data synchronization
  • Auto complete
  • Export as SQL (including Scheduled Backups), CSV and XML
  • Wait, we are not finished yet with the improvements in 8.1. This release introduces the following major features:
  • Completely revamped Objects tab. The tab has been renamed to “Info”. The contents are now available in nicely formatted HTML in addition to the old text format
  • Direct import of Access, Excel and CSV files. Now you don’t need to create ODBC DSN to import these file types. Just point to the files and SQLyog does the rest
  • Last but not the least, we continue to improve the usability with every release of SQLyog. With 8.1 we have made the following GUI changes:
  • Added an option to ‘preview SQL’ in CREATE/ALTER TABLE
  • Column width in all GRIDs (not only DATA and RESULT tabs) are now persistent
  • New GUI for defining ENUM and SET columns in Create/Alter GUI
  • Some reorganisations of menus, improved captions and explanations in dialogues and wizards etc
  • Needless to say, this release contains many bug fixes, UI improvements and minor features.
  • We are very excited about this release, and hope that you will like it. We would love to hear from you.

New in SQLyog 8.1 RC3 (May 29, 2009)

  • Features:
  • Improved speed of ‘backup’ (including ’scheduled backup’) similar to the improvements in RC2 for ‘export’.
  • Bug Fixes:
  • If a file named ’sja’ or ’sja.exe’ existed in SQLyog ‘AppData’ folder, SJA failed to connect with SSH tunnel. A user reported that such ’shadow copy’ was created periodically. Issue is not fully understood (except that Windows looked for PLINK too in ‘AppData’) but the fix works!
  • Fixed a scrolling issue in Data Sync GRID.

New in SQLyog 8.1 RC2 (May 26, 2009)

  • Features:
  • INFO tab/HTML option had added more information.
  • The SELECT-part of a CREATE VIEW statement in INFO tab will now be formatted. Also the ‘SQL-preview’ in CREATE/ALTER TABLE dialogue will now be formatted.
  • Drastically improved the speed of exports (typically 3-4 times faster). This refer to exports as CSV, XML ,HTML, Excel XML and SQL. But note: no change with ‘export as SQL-dump’ and ’scheduled backup’.
  • Added ’scheduled backup’ option to Object Browser context menu.
  • Some reorganisations of menus, improved captions and explanations in dialogues and wizards etc.
  • Bug Fixes:
  • The dialogue for defining SET/ENUM types introduced in beta1 did not prevent duplicate entries.
  • Removed redundant SPACES in CREATE statements. These SPACES could cause formatting to garble when copying (to a web form for instance).
  • Lots of fixes for small (mostly GUI-related) issues reported internally.

New in SQLyog 8.1 RC (May 22, 2009)

  • Features:
  • The caption ‘Migration Toolkit’ was changed to ‘Import External Data’ in menus etc.
  • The session.xml file (used by SJA internally) is now not exposed to users in Wizards. The file is created in user’s ‘AppData’ folder when job is invoked from a Wizard. If invoked from command-line files will be created in the folder where the SJA executable is, if not specified differently from command line. The reason for this change is that the two XML files (jobfile and sessionfile) have frequently been confused by users.
  • The changes in beta1 were ‘polished’.

New in SQLyog 8.1 Beta 1 (May 15, 2009)

  • Features:
  • Added an option to import text/.csv, .xls (Excel) and .mdb (Access) files without without using a preconfigured DSN setting (user only need to specify the file and ODBC driver details are passed transparently for user). When using this option also detailed column mapping is possible. Also Office2007 formats (.xlsx, .accdb) are supported like this provided that this Microsoft driver set is installed (it is not per default on any Windows version).
  • Added an option to ‘preview SQL’ in CREATE/ALTER TABLE.
  • OBJECTS tab was renamed to INFO tab. There is now a choice between the (old) text-based display and a new tabular/HTML-based view.
  • New GUI for defining ENUM and SET columns in Create/Alter GUI.
  • Autocomplete had a complete ‘overhaul’ resulting in better performance.
  • Column width in all GRIDs (not only DATA and RESULT tabs) are now persistent.
  • Bug Fixes:
  • Query Profiler would sometimes fail to display the total time in SHOW PROFILE.
  • Fixed a painting issue in Schema Designer.
  • Fixed a program crash in copy database/table.
  • On Win2K and Wine icons will now be 8 bit color depth, as those environments do not support 32 bit color depth icons properly.
  • Autocomplete would sometimes erroneously insert a linebreak.
  • Query Builder could generate SQL with an ambiguous column (not prefixing columnname with tablename for a PK-column) if the same column name existed in joined tables. This bug was introduced in 8.03.
  • When connected to MySQL before 4.1 a string containing special (non-ASCII) characters could be identified as a binary string. Also this bug was introduced in 8.03.
  • Autocomplete was not functional within the argument-list of a function.
  • ‘empty database’ (from the database menu/context menu) caused Autocomplete to become non-functional for the session.
  • Scheduled backup did not handle the “&” character in file and folder names.

New in SQLyog 8.05 (Apr 8, 2009)

  • Features:
  • User Management icon was re-introduced in the Icon Bar.
  • In DATA and RESULT tab you can now open the BLOB VIEWER for BLOB and TEXT types with any keyboard keystroke (like SPACEBAR). The ‘NOT NULL’ checkbox will then automatically uncheck (if checked) and BLOB VIEWER window is ready for input from the keyboard without any mouse action.
  • Bug Fixes:
  • SQLyog could crash when retrieving binary data over a HTTP-connection.
  • Fixed a crash when updating from the RESULT tab (details: a pointer used internally could contain an invalid value).
  • When multiple reconnects took place in ‘copy database/table’ with short intervals various issues could occur - including a program crash.
  • When Schema Sync CREATED a table having a string column with default ” (empty string) the default was not created for that column (it was no problem if the table on existed in advance and was ALTERED)..
  • On MySQL 4.1 and 5.0 SHOW FULL FIELDS does not expose an ON UPDATE CURRENT_TIMESTAMP clause for a TIMESTAMP column . We will now get this information from SHOW CREATE TABLE . The most serious problem before this was that when syncing from 4.1/5.0 to 5.1/6.0 an ON UPDATE CURRENT_TIMESTAMP clause could erroneously be dropped on target.
  • Also this release contains a large number of GUI-releated fixes including fixes for painting issues and Object Browser issues related fixes. Also the Object Browser fixes in 8.04 introduced new issues that were now also fixed.

New in SQLyog 8.05 RC (Apr 4, 2009)

  • When Schema Sync CREATED a table having a string column with default ” (empty string) the default was not created for that column (it was no problem if the table on existed in advance and was ALTERED) .
  • On MySQL 4.1 and 5.0 SHOW FULL FIELDS does not expose an ON UPDATE CURRENT_TIMESTAMP clause for a TIMESTAMP column . We will now get this information from SHOW CREATE TABLE . The most serious problem before this was that when syncing from 4.1/5.0 to 5.1/6.0 an ON UPDATE CURRENT_TIMESTAMP clause could erroneously be dropped on target.

New in SQLyog 8.05 Beta 2 (Apr 2, 2009)

  • Bug Fixes:
  • Fixed a critical bug in Beta 1: BLOB and TEXT types would not update from the RESULT tab. The ‘red alert’ that data were changed but not saved would disappear, but no SQL was sent to the server.
  • Miscellaneous:
  • Beta 1 release notes reading:
  • The SET NULL checkbox in BLOB VIEWER will now uncheck automatically when user types into the BLOB VIEWER window.
  • .. were incorrect. Correct documentation for this new implementation is
  • In DATA and RESULT tab you can now open the BLOB VIEWER for BLOB and TEXT types with any keyboard keystroke (like SPACEBAR). The ‘NOT NULL’ checkbox will then automatically uncheck (if checked) and BLOB VIEWER window is ready for input from the keyboard without any mouse action.

New in SQLyog 8.05 Beta 1 (Apr 1, 2009)

  • Features:
  • User Management icon was re-introduced in the Icon Bar.
  • The SET NULL checkbox in BLOB VIEWER will now uncheck automatically when user types into the BLOB VIEWER window.
  • Bug Fixes:
  • SQLyog could crash when retrieving binary data over a HTTP-connection.
  • Fixed a crash when updating from the RESULT tab (details: a pointer used internally could contain an invalid value).
  • When multiple reconnects took place in ‘copy database/table’ with short intervals various issues could occur - including a program crash.
  • Also this release contains a large number of GUI-releated fixes including fixes for painting issues and Object Browser issues related fixes. Also the Object Browser fixes in 8.04 introduced new issues that were now also fixed.

New in SQLyog 8.04 (Mar 24, 2009)

  • Features:
  • Crash dumps with no information (zero-size) will now be deleted automatically.
  • When saving/copying from the editor the LETTERCASE modfications for keywords and functions will now be preserved.
  • Selecting a ‘child’ object for a table (columns and indexes) will now refresh the DATA tab if DATA tab is open. Before only selecting the table object itself did. Also the table information is now available in OBJECTS tab when a column or index is selected.
  • Now also a ‘key’ icon is used for identifying the Primary Key in an Object Browser ‘Indexes’ folder,
  • When a GRID cell is only partly visible, doubleclicking it will move the grid position so that cell/row will become visible (before it worked like that with singleclick - we changed to doubleclick as this is a de facto standard in such grids - in Excel for instance).
  • The copy database/table dialogue will now expose detailed information about objects copied.
  • In ‘empty database’ added a ‘SELECT ALL’ option in order to avoid multiple confirmation popups.
  • Bug Fixes:
  • An index defined on more than one column displayed as many time in the Object Browser as the number of columns used for defining the index.
  • Fixed scrolling issues with the GRIDs.
  • The GRID of CREATE/ALTER TABLE dialogue required double-click in a cell before pasting into that cell was possible.
  • Query Builder ‘copy query to same query tab’ was broken.
  • Query formatter would insert Unix linebreaks (
  • ) instead of Windows linebreaks (
  • ) between multiple queries what in turn could result in that the tokenizer/editor would fail to recognize exactly where a statement started and ended.
  • In the Schema Sync dialogue the ‘compare’ button could grey out. This bug was introduced with the ‘refresh’ option added in 8.03.
  • The ‘include column names’ option in CSV-export dialogue (including ’save to clipboard’) was not persistent.
  • Fixed some flickering and repainting issues in Schema Designer in particular as well as other similar small issues elsewhere in the program.
  • A floating point value displayed in the form “.1234? (no ZERO before the decimal sign) would be exported as integer “1234? with “export as Excel XML”. Also NULL values for numerical types could result in a XML file that Excel would not open.
  • Adding/dropping an index would collapse the ‘columns’ folder for the table in Object Browser and vice versa.
  • F6 keyboard shortcut was disabled if focus was on a ‘columns’ folder in Object Browser.
  • When using “copy database” and an error occurred while copying a ’stored program’ the copy proces would not abort on error. Instead next object was copied or attempted copied. This has been changed so that behaviour with ’stored programs’ is the same as with tables.
  • When clicking the database dropdown in the connection manager of SJA wizards the mouse pointer did not change to an ‘wait state’ pointer while list of databases was fetched from the server, what could give user an impression of SQLyog ‘hanging’ .
  • Progress bar improvement with “Export as SQL dump” and “Restore from SQL dump”. Also progress information with files larger than 4 GB displayed wrong due to 32 bit integer overflow. Now a 64 bit integer is used.
  • Lots of small GUI fixes reported internally and by users.
  • Functionality changed:
  • We will now not UPDATE a row of data from DATA or RESULT tab if any of the columns displayed for the actual row contains data identified as binary data by containing a NULL byte (’' in C-notation) no matter whether this occurs for binary, varbinary, char or varchar types. Instead an error message will print (reason for this: the UPDATE operation would store what was displayed - not the underlying binary data causing the display).
  • The arrow icons displaying in column headers of the DATA grid indicating sorting state have been replaced/reverted to conform with de-facto standards.

New in SQLyog 8.04 Beta 2 (Mar 17, 2009)

  • Features:
  • When a GRID cell is only partly visible, doubleclicking it will move the grid position so that cell/row will become visible (before it worked like that with singleclick - we changed to doubleclick as this is a de facto standard in such grids - in Excel for instance).
  • The copy database/table dialogue will now display detailed information about number of objects copied.
  • Bug Fixes:
  • Fixed some flickering issues and other small issues in Schema Designer.
  • When clicking the database dropdown in the connection manager of SJA wizards the mouse pointer did not change to an ‘wait state’ pointer while list of databases was fetched from the server, what could give user an impression of SQLyog ‘hanging’ .
  • Progress bar improvement with “Export as SQL dump” (similar to “Restore from SQL dump” as of beta 1).
  • The prevention to UPDATE binary data introduced in beta 1 was not functional for TEXT types. Also a correction/clarification: for BLOB types there is currently no such prevention (in order to support images).

New in SQLyog 8.04 Beta 1 (Mar 13, 2009)

  • Features:
  • Crash dumps with no information (zero-size) will now be deleted automatically.
  • When saving/copying from the editor the LETTERCASE modfications for keywords and functions will now be preserved.
  • Selecting a ‘child’ object for a table (columns and indexes) will now refresh the DATA tab if DATA tab is open. Before only selecting the table object itself did. Also the table information is now available in OBJECTS tab when a column or index is selected.
  • Now also a ‘key’ icon is used for identifying the Primary Key in an Object Browser ‘Indexes’ folder.
  • Bug Fixes:
  • An index defined on more than one column dislayed as many time in the Object Browser as the number of columns used for defining the index.
  • Fixed scrolling issues with the GRIDs.
  • The GRID of CREATE/ALTER TABLE dialogue required double-click in a cell before pasting into that cell was possible.
  • Query Builder ‘copy query to same query tab’ was broken.
  • Query formatter would insert Unix linebreaks (
  • ) instead of windows linebreaks (
  • ) between multiple queries what in turn could result in that the tokenizer/editor would would fail to recognize exactly where a statement started and ended.
  • Fixes with “Restore From SQL dump” 1) progress bar improvement 2) progress information with files larger than 4 GB displayed wrong due to 32 bit integer overflow. Now a 64 bit integer is used.
  • In the Schema Sync dialogue the ‘compare’ button could grey out. This bug was introduced with the ‘refresh’ option added in 8.03.
  • The ‘include column names’ option in CSV-export dialogue (including ’save to clipboard’) was not persistent.
  • Lots (around 20) of small fixes reported internally and by users.
  • Functionality changed:
  • We will now not UPDATE a row of data from DATA or RESULT tab if any of the columns displayed for the actual row contains data identified as binary data by containing a NULL byte (’' in C-notation) no matter whether this occurs for binary types (binary, varbinary, BLOB) or string types (char, varchar, TEXT). Instead an error message will print (reason for this: the UPDATE operation would store what was displayed - not the underlying binary data causing the display).
  • The arrow icons displaying in column headers of the DATA grid indicating sorting state have been replaced

New in SQLyog 8.03 (Mar 6, 2009)

  • Features:
  • New major feature: column width persistence in GRIDs. Once you have defined a column width for a combination of database/table/column the defined column width will always be used. Note that connection details are not used for identifying columns with this new functionality so with replicated and identically named synchronized databases it is sufficient to define in one place. Alias’ed columns in results are handled by the column name and not the alias. Non-column results (like constants, results of expressions/functions, returns of SHOW etc.) are not supported currently. The feature can be turned on/off. Note that if both this new option and the old ”Truncate column headers … ” is checked in program ‘preferences’ the “Truncate ..” option will be ‘overridden’ by the new column width persistence feature.
  • Resizing columns in GRID was made easier. A ‘zone’ around the column splitter and not only the splitter line itself will now accept the mouse event.
  • ‘Find’ dialogue will now remember last used values.
  • Added an option to open a file in a new tab (Editor tab and Schema Designer tab).
  • Added an option to use ‘hard SPACES’ for tabulation in the editor (with this checked the code will display identically when copied to other programs).
  • In editor you can now start typing a query in any position and will position cursor in same position of the next line.
  • Added ‘view data’ option to the context menu of a VIEW.
  • In Query Builder PK-columns are now marked with a (beginning) ‘*’ .
  • In Object Browser introduced a new ‘key’ icon for PK-columns.
  • ‘Find’ was implemented in BLOB viewer. Currently there is only the Ctrl+F shortcut to do this and no other GUI option (no button or whatever).
  • In Schema Sync added a ‘refresh’ option in the dropdowns for and databases.
  • The program dialogues for SHOW variables/processlist/status, SHOW warnings with CSV-import and Table advanced properties are now resizable.
  • Fixed a bug with detection of encoded strings stored in BLOBs (This bug was introduced in 8.0 - and it is still recommended to use TEXTs for encoded strings).
  • Doubleclicking in the GRID could cause the GRID position to move.
  • Bug Fixes:
  • Fixed an issue where SQLyog failed to SET NAMES when reconnecting.
  • Exporting floating point data as Excel XML could truncate data.
  • Quite a lot of fixes for (mostly cosmetical) GUI issues.
  • Fixed some ‘flickering’ issues.
  • Double clicking in the GRID could cause the GRID position to move. .
  • Fixed a bug with detection of encoded strings stored in BLOBs (This was introduced in 8.0 - and it is still recommended to use TEXT types for encoded strings).
  • Miscellaneous:
  • For 16×16 icons we now use the icons from before 8.0. The new icons had too many details for this resolution. Also now users that prefer the old icons can have them!
  • A restriction on the file size to be loaded into the editor introduced in 7.12 was enlarged from 2 MB to 20 MB. A warning will now print if size is exceeded (but also note that there is no such restriction when importing external files (from tools .. restore ..)).

New in SQLyog 8.03 Beta 2 (Mar 4, 2009)

  • Bug Fixes.
  • Further improvements in the fixes for flickering issues. Also the fixes in beta1 had introduced some painting issues that were now solved.
  • Doubleclicking in the grid could cause the GRID position to move.
  • Fixed a bug with detection of encoded strings stored in BLOBs (This bug was introduced in 8.0 - and it is still recommended to use TEXTs for encoded strings).
  • Miscellaneous.
  • A restriction on the file size to be loaded into the editor introduced in 7.12 was enlarged from 2 MB to 20 MB. A warning will now print if size is exceeded (but also note that there is no such restriction when importing external files (from tools .. restore ..))..

New in SQLyog 8.03 Beta (Feb 27, 2009)

  • Features:
  • New major feature: column width persistence in GRIDs. Once you have defined a column width for a combination of database/table/column the defined column width will always be used. Note that connection details are not used for identifying columns with this new functionality so with replicated and identically named synchronized databases it is sufficient to define in one place. Alias’ed columns in results are handled by the column name and not the alias. Non-column results (like constants, results of expressions/functions, returns of SHOW etc.) are not supported currently. The feature can be turned on/off. Note that if both this new option and the old ”Truncate column headers … ” is checked in program ‘preferences’ the “Truncate ..” option will be ‘overridden’ by the new column width persistence feature.
  • ‘Find’ dialogue will now remember last used values.
  • Added an option to open a file in a new tab (Editor tab and Schema Designer tab).
  • Added an option to use ‘hard SPACES’ for tabulation in the editor (with this checked the code will display identically when copied to other programs).
  • In editor you can now start typing a query in any position and will position cursor in same position of the next line.
  • Added ‘view data’ option to the context menu of a VIEW.
  • In Query Builder PK-columns are now marked with a (beginning) ‘*’ .
  • In Object Browser introduced a new ‘key’ icon for PK-columns.
  • ‘Find’ was implemented in BLOB viewer. Currently there is only the Ctrl+F shortcut to do this and no other GUI option (no button or whatever).
  • In Schema Sync added a ‘refresh’ option in the dropdowns for and databases.
  • The program dialogues for SHOW values/processlist/status, SHOW warnings with CSV-import and Table advanced properties are now resizable.
  • Bug Fixes:
  • Fixed an issue where SQLyog failed to SET NAMES when reconnecting.
  • Exporting floating point data as Excel XML could truncate data.
  • Quite a lot of fixes for (mostly cosmetical) GUI issues.
  • Fixed some ‘flickering’ issues.
  • Miscellaneous:
  • For 16×16 icons we now use the icons from before 8.0. The new icons had too many details for this resolution. Also now users that prefer the old icons can have them!

New in SQLyog 8.02 (Feb 24, 2009)

  • Features:
  • Both SQLyog and SJA will now detect if Base64 encoding is required for HTTP-tunnel.
  • Bug Fixes:
  • Importing external scripts with a large number of DDL-statements was slow with Auto Complete turned on (due to redundant updations of the Auto Complete database).
  • Deseleting a single object (like a single table) in the export dialogue also deselected all objects in other categories (like all non-table objects).
  • Funtionality changed:
  • CHUNK setting (for exports) now also has effect for non-HTTP-tunneled connections. Using this option is required if it takes more time to retrieve data from a table than server ‘net_write_timeout’ setting.
  • SQLyog will now not reconnect if connection is lost during imports. Instead an error message will prompt (the reason for this is that session variables defined on top of the script would be reset to server defaults with reconnection. As a result (and most important) special characters could garble and other errors could occur as well).
  • When trying to INSERT or UPDATE spatial data types from the DATA/RESULT tab SQLyog will now throw an error. Spatial data must be handled from the editor (but a result set from a table with spatial columns can be updated from RESULT tab if there are no spatial columns in the result).

New in SQLyog 8.02 RC (Feb 20, 2009)

  • Features:
  • Both SQLyog and SJA will now detect if Base64 encoding is required for HTTP-tunnel.
  • Funtionality changed:
  • CHUNK setting (for exports) now also has effect for non-HTTP-tunneled connections. Using this option is required if it takes more time to retrieve data from a table than server ‘net_write_timeout’ setting.
  • SQLyog will now not reconnect if connection is lost during imports. Instead an error message will prompt (the reason for this is that session variables defined on top of the script would be reset to server defaults with reconnection. As a result (and most important) special characters could garble and other errors could occur as well)..
  • When trying to INSERT or UPDATE spatial data types from the DATA/RESULT tab SQLyog will now throw an error. Spatial data must be handled from the editor (but a result set from a table with spatial columns can be updated from RESULT tab if there are no spatial columns in the result).

New in SQLyog 8.01 (Feb 5, 2009)

  • Query profiler could fail to fetch the result of SHOW PROFILE for (text-wise) long queries.

New in SQLyog 8.0 (Feb 3, 2009)

  • Features:
  • New major feature: Query Formatter. Any SELECT, UPDATE, INSERT or DELETE statement can be formatted with a single click. Various formatting options/styles are available in 'preferences'.
  • New major feature: Query Profiler. With this feature enabled every SELECT statement will trigger execution of EXPLAIN (EXTENDED) and SHOW PROFILE (if supported by server) for the query and will detect changed SESSION STATUS VARIABLES (with some additional explanation of the meaning of those) due to execution of the query. Additionally specific GLOBAL STATUS VARIABLES will display. The feature is highly configurable. The information will display in an 'Profiler' tab opening in the DATA/RESULT area. With this new feature there is no longer an excuse not to profile queries continously in the application development process - simply because whether you do it or not the effort will be practically the same! Refer to documentation for full details.
  • New improved icon theme with larger icons. The old icon theme originated back from a time where monitor resolutions were lower than what is mostly the case today. Also added an option to for user to select various icon sizes in the icon toolbar.
  • The 'info-line' displaying at the bottom of DATA, RESULT and PROFILER tabs can now be turned on/off as defined by user.
  • Added an option to force LETTERCASE (Uppercase/Lowercase) for display of keywords and functions in the editor. Note that only the display in editor is affected. When copying or saving, the LETTERCASE will copied be as it was entered.
  • A VIEW can now be generated directly from the Query Builder.
  • Column width's defined by user in Data GRID will now be preserved when refreshing, filtering, sorting and using previous/next buttons.
  • Some minor GUI usability improvements and fixes in Data GRID and in Object Browser.
  • Functionality changed:
  • The SQL_WHERE option in Data Sync is changed so that WHERE-condition is evaluated against only (before it was both and (logically OR'ed)).
  • Bug Fixes:
  • If BLOB-viewer was closed by clicking the upper-left corner 'x' symbol, changes were lost without warning.
  • A SQL script with a user´defined DELIMITER using semicolon failed in editor as well as when importing an external script. Most important "DELIMITER ;;" (double semicolon) did not work - but other DELIMITER strings using semicolon (like triple semicolon etc.) did not either (however note that with HTTP tunneling and when importing external files this is not yet completed).
  • Fixed an issue where Blob viewer was showing garbled characters for UTF8 (but in GRID text appeared properly). This was an issue with a WIN32 API function not returning a proper utf8 string. We do not use that function any more, but use our own code instead.
  • Fixed a crash while cancelling Migration operation.
  • Miscellaneous :
  • The ENTERPRISE uninstaller will now remove registration info from the system. This is a request by users who misspelled the registration name or by mistake registered to themselves as a person and not to their company/organization. Note that as a consequence you now should have your registration details available if you uninstall and reinstall!

New in SQLyog 7.5 Beta 2 (Jan 17, 2009)

  • Features:
  • Added option for user to choose between different icon sizes in the icon toolbar.
  • Added option for user to select/deselect the ‘info-line’ displaying at the bottom of DATA, RESULT and PROFILER tabs.
  • Bug Fixes:
  • Fixed a crash with PROFILING in beta1. Crash could occur even when executing rather simple queries.
  • Fixed a crash with ALTER TABLE in beta1 when the contents of a cell in the ALTER TABLE GRID was deleted.
  • Formatter failed with strings specified with ”_charset” specifier and/or hexadecimal (’x') or binary (’b') modifier (like “_utf8 x’AAA00F99′” or “_latin1 b’01010111”’). Also COLLATE clause for a literal string was not supported by Formatter.
  • Miscellaneous:
  • The ENTERPRISE uninstaller will now remove registration info from the system. This is a request by users who misspelled the registration name or by mistake registered to themselves as a person and not to their company/organisation. Note that as a consequence you now should have your registration details available if you uninstall and reinstall!

New in SQLyog 7.5 Beta 1 (Jan 12, 2009)

  • Features:
  • New major feature: Query Formatter. Any SELECT, UPDATE, INSERT or DELETE statement can be formatted with a single click. Various formatting options/styles are available in ‘preferences’.
  • New major feature: Query Profiler. With this feature enabled every SELECT statement will trigger execution of EXPLAIN (EXTENDED) and SHOW PROFLE (if supported by server) for the query and will detect changed SESSION STATUS VARIABLES (with some additional explanation of the meaning of those) due to execution of the query. The feature is highly configurable. The information will display in an ‘Analyzer’ tab opening in the DATA/RESULT area. With this new feature there is no longer an excuse not to profile queries continously in the application development process - simply because whether you do it or not the effort will be practically the same! Refer to documentation for full details and for limitations of current implementation. This beta contains first step (only) planned for this feature.
  • New improved icon theme with larger icons (in progress). The old icon theme originated back from a time where monitor resolutions were lower than what is mostly the case today.
  • Added an option to force LETTERCASE (Uppercase/Lowercase) for display of keywords and functions in the editor. Note that only the display in editor is affected. When copying or saving, the LETTERCASE will be copied be as it was entered.
  • A VIEW can now be generated directly from the Query Builder.
  • Status bar will now display information like “showing x rows of total y”.
  • Some minor GUI usability improvements and fixes in Data Grid and in Object Browser.
  • Bug Fixes:
  • If BLOB-viewer was closed by clicking the upper-left corner ‘x’ symbol, changes were lost without warning.
  • A SQL script with a user´defined DELIMITER using semicolon failed in editor as well as when importing an external script. Most important “DELIMITER ;;” (double semicolon) did not work - but other DELIMITER strings using semicolon (like triple semicolon etc.) did not either (however note that with HTTP tunnelling and when importing external files this is not yet completed ).

New in SQLyog 7.15 (Jan 6, 2009)

  • Features:
  • Added an option to use Base64 encoding for communicating XML data stream with the HTTP tunneller. Using this option can be required to work around this XML-related bug in PHP.
  • Improved editor performance with large scripts if Wordwrap was enabled.
  • Bug fixes:
  • On Windows Vista Business edition, SQLyog could crash while closing down. No other Windows OS (and also not any other Vista edition) was affected.
  • Also a ‘hang’ could occur when closing down. It could happen with all systems, but Windows Vista was mostly affected.
  • Schema Sync failed with identically named Foreign Key CONSTRAINTs on identically named colums of basically same type (that could still differ in LENGTH, SIGNED/UNSIGNED specification etc.)
  • Miscellaneous:
  • When a PK is built on a string column using a case insensitive collation, SJA could try to insert a row where the PK was identical to an existing one as compared “COLLATION-wise” (ie. when only LETTERCASE differed). That would result in ‘duplicate key’ error and the sync job would abort. We have now reverted back to case insensitive camparison with string-based PK’s as before 7.0, but (to avoid data loss/overwriting) we will abort sync of tables when a string-based PK uses a binary or case sensitive collation.

New in SQLyog 7.14 (Dec 4, 2008)

  • Bug fixes:
  • Schema Sync did not distinguish “default NULL” and “default ” (empty string)” for string types.
  • When multiple connections were open in one program instance and one connection was in wait-state (for instance due to a TABLE LOCK), the whole program could become non-responding.
  • If a server thread running a query sent by SQLyog was killed, SQLyog would not always detect it. The connection window associated with that thread would then stay in wait-state forever. Due to the ‘multiple connections issue’ as described just above also the whole program could be affected.
  • With MySQL servers 4.0 and before and when connecting with HTTP-tunnel, SQLyog could send an invalid SET SQL_MODE statement when copying large amounts of data. The copy operation would then abort. This bug was introduced in 7.12.
  • Reconnecting while populating Object Browser could crash SQLyog.
  • Fixed 2 rare crashes in Schema Sync and DATA tab (reported internally).
  • Fixed a bug with ‘replace’ in editor. ‘replace’ took effect *after* cursor position not *from* cursor position, so if cursor was positioned inside the string to be replaced that particular instance would not replace.
  • Refreshing the GRID moved the cursor to ‘home’ position.
  • Fixed a bug in Autocomplete transaction handling (introduced in 7.13) that could cause a crash at statup.
  • Migration Tool could fail to find rows when migrating from SQL server 2008.

New in SQLyog 7.14 Beta 1 (Nov 27, 2008)

  • Schema Sync did not distinguish “default NULL” and “default ” (empty string)” for string types.
  • When multiple connections were open in one program instance and one connection was in wait-state (for instance due to a TABLE LOCK), the whole program could become non-responding.
  • If a server thread running a query sent by SQLyog was killed, SQLyog would not always detect it. The connection window associated with that thread would then stay in wait-state forever. Due to the ‘multiple connections issue’ as described just above also the whole program could be affected.
  • With MySQL servers 4.0 and before and when connecting with HTTP-tunnel, SQLyog could send an invalid SET SQL_MODE statement when copying large amounts of data. The copy operation would then abort. This bug was introduced in 7.12.
  • Reconnecting while populating Object Browser could crash SQLyog.
  • Fixed 2 rare crashes in Schema Sync and DATA tab (reported internally).
  • Fixed a bug with ‘replace’ in editor. ‘replace’ took effect *after* cursor position not *from* cursor position, so if cursor was positioned inside the string to be replaced that particular instance would not replace.
  • Refreshing the GRID moved the cursor to ‘home’ position.
  • Fixed a bug in Autocomplete transaction handling (introduced in 7.13) that could cause a crash at statup.

New in SQLyog 7.13 (Nov 18, 2008)

  • Bug fixes:
  • Fixed a rare crash in Schema Sync. This issue was discovered when testing internally. No user had reported this.
  • Management of column-level privileges was not functional.
  • It was only possible to select a single group of objects in GRIDS with the shift+click modifier.
  • Miscellaneous:
  • Autocomplete now uses secure atomic transactions when writing to SQLite databases (’Tags files’). We had a few reports of random program crashes that could be traced down to corrupt SQLite databases. This corruption will now not happen any more.

New in SQLyog 7.12 (Oct 30, 2008)

  • Features:
  • This release improves the handling of Foreign Keys with HTTP-tunnelling. In Data Sync, Migration, ‘copy to other’, ‘empty database’ and ‘truncate database’ statements are now processed in batches and “SET FOREIGN_KEY_CHECKS = 0? statement (if selected by user) will be reinstantiated for every batch. This is a 100% solution to problems with FK’s normally occuring with PHP applications/connections due to the non-persistent nature of PHPMySQL connections:
  • In preferences added an option to ‘force disable FK check throughout HTTP import batch process’. Selecting this will have same effect as above when importing external files with SQLyog (from tools .. restore from SQL-dump) over an HTTP-connection. It is selected as default.
  • Bug Fixes:
  • On Wine selecting individual objects (like a single table) for export/copy could export/copy all. This was yet another issue with the tree-view control in Wine.
  • Autocomplete with table alias failed if “FROM” in FROM-clause was written UPPERCASE.
  • It was not possible to create the Primary Key on with the Migration tool if using option to import using a user-specified query.
  • Dropping a table ON which a TRIGGER was defined did not refresh the TRIGGERs folder for the database in the Object Browser. Also ‘reorder columns’ did not automatically refresh the COLUMNs folder for a table.
  • The display in Object Browser could garble if program was minimized/maximized while a query was running.
  • Right-clicking a only partially visible cell in DATA/RESULT tab would not select properly.
  • The CREATE USER privilege (introduced in MySQL 5.03) was not handled by SQLyog user management.
  • Fixed a painting issue in ‘manage privileges’ dialogue introduced with resizability in 7.11.
  • Fixed an issue with the CSV import dialogue that could result in a ‘hang’ or ‘crash’.
  • When nothing was selected for SQL export an empty file was generated. Now an error pops up.
  • Fixed a crash in data sync. This issue affected only empty tables (or empty WHERE results) without a PK.
  • CSV-export escaped wrong inside enclosed/quoted strings. Only the enclose character itself should be escaped, but also field seperator character and linebreaks were.

New in SQLyog 7.11 (Sep 29, 2008)

  • Pressing Crtl+end in GRID did not show the last row. This bug was introduced in 7.1.
  • Fixed a flickering issue in Data tab. It was a threading issue related to the STOP button introduced in 7.1.
  • When executing a query not returning a result set, focus would leave editor (unless the ‘keep focus on editor’ option was set). This made no sense. Now focus will be kept on editor if there is no result set.
  • Data sync could fail with column names containg a SPACE character and if specific keywords was used for column names.

New in SQLyog 7.1 (Sep 22, 2008)

  • Features:
  • Added keyboard shortcut (F6) for Edit Index.
  • The behaviour of Ctrl+R shortcut was slightly changed. It will now position cursor inside the active tab in Result pane. Before it was functional only with DATA tab and RESULT tabs.
  • Added tab-navigation (for query tabs) entries in Edit-menu. Also the active Query tab can now be closed from menu.
  • In certain situations Schema Sync would generate CHANGE-clauses for a column that basically did nothing (changing column to what it was). This is now ‘cleaned up’.
  • A tab in the Query pane (a Query tab, a Schema Designer tab and a Query Builder tab) can now be closed with Alt+L keyboard shortcut and can now be navigated with Ctrl+pgup and Ctrl+pgdn keyboard shortcuts.
  • Favorites are now displayed using Scintilla editor component. For statements with complex formatting this makes the preview more readable.
  • Autocomplete now supports alias in UPDATE and DELETE statements.
  • BLOB viewer and the program dialogues for schema sync, create/alter table, manage indexes (including sub-dialogues) manage foreign keys (including sub-dialogues) and manage privileges are now resizable. From now resizable dialogues have a ‘gripper’ icon in right bottom corner.
  • Added a movable ’splitter’ between the object area and the script area in schema sync dialogue.
  • Preferences dialogue was redesigned.
  • Added an option in Preferences to ‘Automatically refresh DATA tab on focus’. This was the program behavior before 7.0. In 7.0 to 7.02 it was not. Now it is optional.
  • Shift+click is now functional for multiple selection everywhere in GRIDS (before it was only in Result/Table Data tabs).
  • ’show in text’ (Ctrl+L) is now functional for both DATA tab and RESULT tab. Also ‘Find’ (Ctrl+F) now works with DATA tab in text mode.
  • Stop option implemented in data tab. This is in particular useful if accidentially the ’show all’ option was selected for a huge table.
  • Added an icon in data tab tool bar indicating if current display is filtered. Also from this icon ‘reset filter’ can be applied directly.
  • Added option in Schema Sync to compare all objects or compare only tables.
  • Now the result tab displays the query as a ribbon at the bottom. This is useful where more queries are executed from the same editor tab.
  • Refresh option included for show variables, show processlist and show status.
  • Changed functionality for shortcut F3; now it pops up ‘Find’ dialog (before it was for keyboard shortcut dialog - F12 is used for this now).
  • The sync script generated by Schema Sync could fail when a change in columns used for Foreign Key(s) or a change with the Foreign Key itself was attempted.
  • The display of execution time etc. for queries (in MESSAGES tab, HISTORY tab and statur bar) was reorganised for better clarity.
  • Bug Fixes:
  • The GRID would truncate the display of strings longer than 511 characters.
  • When a user-defined DELIMITER and a comment occured close to another in the program editor, the editor tokenizer component could fail to identify exactly where a statement began and ended.
  • Data Sync could fail with a table having no Primary Key, but more Unique Keys, if the same column was used for defining more than one of the Unique Keys of the table. This was introduced with the new Data Sync code of 7.0 (before 7.0 Unique Keys were not used by Data Sync at all - only Primary Keys were).
  • Fixed an escaping bug in Data Sync.
  • Fixed an issue with WHERE clause in Data Sync.
  • Proxy authentication details were not written correctly to jobfile by SJA wizards.
  • Since 7.0 the WHERE clause defined by user in migration wizard was not written to jobfile.
  • In Wine Schema Sync could generate an erroneous sync script (specific functions on Wine functioned slightly different than the original Win32 API).
  • Fixed a number of GUI related issues.

New in SQLyog 7.1 RC (Sep 18, 2008)

  • Stop option implemented in data tab. This is in particular useful if accidentially the ’show all’ option was selected for a huge table.
  • Added an icon in data tab tool bar indicating if current display is filtered. Also from this icon ‘reset filter’ can be applied directly.
  • Added option in Schema Sync to compare all objects or compare only tables.
  • Now the result tab displays the query as a ribbon at the bottom. This is useful where more queries are executed from the same editor tab.
  • Refresh option included for show variables, show processlist and show status.
  • Changed functionality for shortcut F3; now it pops up ‘Find’ dialog (before it was for keyboard shortcut dialog - F12 is used for this now).
  • Now also ‘manage privileges’ dialogue is resizable. From now resizable dialogues have a ‘gripper’ icon in right bottom corner.
  • Fixed an escaping bug in Data Sync.
  • Fixed an issue with WHERE clause in Data Sync.
  • Proxy authentication details were not written correctly to jobfile by SJA wizards.
  • Since 7.0 the WHERE clause defined by user in migration wizard was not written to jobfile.
  • In Wine Schema Sync could generate an erroneous sync script (specific functions on Wine functioned slightly different than the original Win32 API).
  • The sync script generated by Schema Sync could fail when a change in columns used for Foreign Key(s) (or a change with the Foreign Key itself) was attempted.

New in SQLyog 7.02 (Aug 7, 2008)

  • Bug fix: If a reconnect took place shortly after �Compare� button in Schema Sync was clicked, the �MySQL server has gone away� error could occur (details: data from a not updated internal buffer was used - in reality it was before the reconnect that the server �went away�!).
  • Reconnects are now written to HISTORY (as a comment)

New in SQLyog 6.56 Final (May 24, 2008)

  • Structure Sync could miss the concluding quote around column comments. This bug was introduced in 6.5.
  • Migration from SQL Server could fail with empty tables.
  • Migration (UPDATE and DELETE) triggers could fail with specific schemas on source (afffected were small tables with short column types only - like integers and very short string types). This bug was introduced early in 6.x with the full Unicode support added here.
  • Migration could generate non-matching columns-count with specific schemas. This was also introduced early in 6.x
  • Message about �Successful rows� could display twice in Migration (sja.log). Note: This was a cosmetical issue with the message only. Rows were only migrated once!

New in SQLyog 6.54 Final (Apr 29, 2008)

  • When executing Structure Sync between a 5.1.x server and an earlier version, Structure Sync could try to access a non-existing Information_Schema.Events table, what returned an error (it depended on the exact 5.1 version).

New in SQLyog 6.53 RC2 (Apr 25, 2008)

  • The various fixes for BIGINT PK's in data sync in the 6.1x tree had slowed down data sync with BIGINT PK's.

New in SQLyog 6.52 (Apr 17, 2008)

  • Features:
  • Data Sync now has SMTP (mail) functionalities similar to other SJA modules.
  • Autocomplete now supports column alias'es.
  • Zooming in Schema Designer can be done with 'Ctrl ' and 'Ctrl -'.
  • Added an option to specify (in preferences .. powertools) storage position for TAGS files (used by Autocomplete). On networks where 'roaming profiles' are stored on a domain server specifying a local folder will reduce network traffic and save storage on the server.
  • Bug fixes:
  • ALTER TRIGGER template did not display DEFINER.
  • Create/Alter table .. advanced properties generated the string '[default]' where it should be 'default' only.
  • Fixed an issue with 'abort on error' in Scheduled Backup. The job was always aborted on error. Now if set to NO it will proceed to next statement.
  • Notifications Service could crash if query was not SELECT. In particular HTTP tunnelled connections were affected by this.
  • Migration from an Access database could leave a .ldb file behind (that should be deleted after the migration process was over).
  • On Vista a graphical artifact could occur on right side of screen when program was maximized.
  • Some other small GUI fixes.

New in SQLyog 6.16 (Feb 27, 2008)

  • Features.
  • SJA SMTP (mail) code will now use ESMTP if available and fall back on ('ordinary') SMTP if not (before only ESMTP was supported what failed with some specific routers).
  • Added an option to specify CHARSET parameter for CSV-import. Unicode (UTF8 and UCS2/UTF16) will be detected automatically. For files encoded with a non-unicode encoding, user must select the MySQL charset used for the import. Alternatively there is a option that will not use the CHARSET parameter at all (= old program behaviour).
  • Bug fixes:
  • The HTTP-tunneller was updated to 'work around' an issue with 'foreach' loops on PHP 4.3.10. HTTP-tunnelling to a server with that specific PHP version could cause a program crash.
  • The uninstaller would not remove Start Menu shortcuts on Windows Vista.
  • If SSH tunnel was used for both connections in DATA SYNC the plink process for the connection was not getting terminated properly.
  • Display in the CREATE/ALTER TABLE grid would be truncated if an ENUM or SET type was defined with a value containing the ")" character.
  • A crash could occur when backing up (using 'export' as well as 'scheduled backup') an object having a DEFINER different than the current user. This further depends on the MySQL version and whether user had SELECT privilege to the`mysql`database or not. Now a message will appear (on the screen or in the sja.log file) that this object was skipped due to lack of privileges when it is not possible to back up.
  • When exporting to HTML, XML or CSV -formats from the RESULT tab one row could be missing if the RESULT tab dropdown was in edit-mode. EXCEL and SQL formats were not affected.
  • When data were inserted or updated from RESULT tab, SQL and EXCEL export options would not export the new/changed rows unless after a reconnnect.
  • When connected to MySQL 3.x and 4.0 the ALTER TABLE GUI would generate invalid SQL if existing column(s) were edited and new column(s) added in one operation (a comma was missing).
  • Assigning privileges (from 'manage permissions) for a specific user to a specific Stored Function and Stored Procedure was buggy (wrong string identifying the ROUTINE type was inserted). Also a problem with VIEW-related privileges was fixed.
  • A jobfile for 'scheduled backup' created with versions 6.x before 6.1 contains a tag (with the values "yes" or "no") that indicates if the backup shall be utf8-encoded. This tag was not properly ignored as it should from version 6.1 - instead it could occur that a non-existing charset (named 'yes' or 'no' respectively) was requested from the server. That would return an error that would cause the job to abort.
  • Data Sync would not identify that rows containing data like ('data',NULL) and (NULL,'data') are different, as NULL-values did not 'contribute' to the checksums calculated. No update would take place.
  • The fix in Data Sync for BIGINT Primary Keys containing very large numbers in 6.11 was not complete. Internal data could be truncated what again could result in wrong identification of rows to be inserted, updated or deleted.
  • Certain queries (when performing GRID operations) were not 'piped through' the reconnection wrapper module. This could with low 'wait_timeout' server setting result in the 'server has gone away' error message if affected operations were executed with longer intervals between.
  • Structure Sync failed to sync a specified index length.

New in SQLyog 6.16 Beta 1 (Jan 24, 2008)

  • Added an option to specify CHARSET parameter for CSV-import. Unicode (UTF8 and UCS2/UTF16) will be detected automatically. For files encoded with a non-unicode encoding, user must select the MySQL charset used for the import. Alternatively there is a option that will not use the CHARSET parameter at all (= old program behaviour).
  • A crash could occur when backing up (using 'export' as well as 'scheduled backup') an object having a DEFINER different than the current user. This further depends on the MySQL version and whether user had SELECT privilege to the`mysql`database or not. Now a message will appear (on the screen or in the sja.log file) that this object was skipped due to lack of privileges when it is not possible to back up.
  • When exporting to HTML, XML or CSV -formats from the RESULT tab one row could be missing if the RESULT tab dropdown was in edit-mode. EXCEL and SQL formats were not affected.
  • When data were inserted or updated from RESULT tab, SQL and EXCEL export options would not export the new/changed rows unless after a reconnnect.
  • When connected to MySQL 3.x and 4.0 the ALTER TABLE GUI would generate invalid SQL if existing column(s) were edited and new column(s) added in one operation (a comma was missing).
  • Assigning privileges (from 'manage permissions) for a specific user to a specific Stored Function and Stored Procedure was buggy (wrong string identifying the ROUTINE type was inserted). Also a problem with VIEW-related privileges was fixed.
  • A jobfile for 'scheduled backup' created with versions before 6.1 contains a tag (with the values "yes" or "no") that indicates if the backup shall be utf8-encoded. When set to "no" it could occur (with versions 6.1 and higher) that SJA tried to use a non-existent charset for the backup and the job would abort.

New in SQLyog 6.15 (Jan 3, 2008)

  • Fixed a bug with migration of a Access 'text' type that could occur when when more/many such columns were migrated.
  • When the content of an editor tab was changed using 'search and replace' the tab was not properly 'flagged' internally as changed. As a consequence the (*) indicator for this 'change-status' would not display and program would not prompt user if changes should be saved.
  • fixed a bug in validating the SP/VIEW/... name while creating. A symptom was that an empty name could be used.
  • With a TINYINT having (-1) as default Structure Sync would use COLLATE specification and thus generate an invalid statement when connected to a MySQL 4.1.x server.
  • When expanding/collapsing the folder tree in the Object Browser by clicking the " " and "-" in a very fast manner, data could be copied to the editor when it should not.
  • When connected to MySQL 3.23 and 4.0.x < 4.0.18 'reorder columns' could generate invalid SQL with a Primary Key definition.
  • Improper message was returned when invalid or non-existing path was used for exporting a dump.
  • After an unsuccessfull import (because of syntax error in the file for instance) the file handler was not properly free'd. As a result next attempt would fail with 'Error saving ... ' message. Only HTTP-connections were affected.
  • "SET FOREIGN_KEY_CHECKS = 0" is now default where it applies (exports, data sync).
  • The display for F5/F9 shortcut settings in 'preferences' was changed. 'reverse' setting now means that F5 executes! It is 'reversed' as compared to what help .. keyboard shortcut tells.
  • This build does not use 'urlencode' in HTTP header. This is probably not the final solution, but we realize that it is more rare that it is needed compared to the situations where it won't work!

New in SQLyog 6.15 RC (Dec 21, 2007)

  • With a TINYINT having (-1) as default Structure Sync would use COLLATE specification and thus generate an invalid statement when connected to a MySQL 4.1.x server.
  • When expanding/collapsing the folder tree in the Object Browser by clicking the " " and "-" in a very fast manner, data could be copied to the editor when it should not.
  • "SET FOREIGN_KEY_CHECKS = 0" is now default where it applies (exports, data sync)
  • The display for F5/F9 shortcut settings in 'preferences' was changed. 'reverse' setting now means that F5 executes! It is 'reversed' as compared to what help .. keyboard shortcut tells.

New in SQLyog 6.14 Beta (Nov 16, 2007)

  • ALTER TABLE would generate invalid SQL with column-level comments.
  • COMMUNITY version (not ENTERPRISE) could crash when editing connection details.
  • On Wine a meaningless error message when selecting a table could occur.

New in SQLyog 6.13 (Nov 15, 2007)

  • Empty or incomplete lines in sqlyog.ini would cause stop reading from the file. As a consequence details that could not be read would not be written. Those details that could not be read were lost.
  • Reading from sqlyog.ini was slow with huge number of connections.

New in SQLyog 6.12 Final (Nov 9, 2007)

  • SQLyog could crash when trying to connect to a server when the thread used for establishing the previous connection had not yet stopped executing (connection code wasn't thread-safe)
  • Structure Sync could generate DROP statements where the name of the object to be dropped was empty.
  • Scheduled Backup threw the error "incorrect table name" when backing up all tables from MySQL 4.0 and before ('export' had no such issue).
  • Fixed an issue with Migration Tool where importing Foreign Keys could fail when migrating from Microsoft Access.
  • Fixed an encoding issue with special characters and Data Sync when syncing between MySQL versions where one supports SET NAMES and the other one does not.
  • Fixed an issue that could cause SMTP authentication to fail.
  • Fixed a pointer corruption when importing from a file. This corruption could result in a crash.

New in SQLyog 6.12 RC (Nov 6, 2007)

  • Structure Sync could generate DROP statements where the name of the object to be dropped was empty.
  • Fixed an issue with Migration Tool where importing Foreign Keys could fail when migrating from Microsoft Access.
  • Fixed an encoding issue with special characters and Data Sync when syncing between MySQL versions where one supports SET NAMES and the other one does not.

New in SQLyog 6.1 (Oct 24, 2007)

  • Fixed a crash that could occur in Migration Tool when opening a saved jobfile.

New in SQLyog 6.06 Beta 1 (Aug 16, 2007)

  • Files used by SQLyog that are not read-only (.ini, .log, .err) are now no longer created in 'program files' files tree (or what localized name it has). The storage follows Microsoft recommendations for the various Windows versions. Existing files will be moved when program is started first time and a backup created in the original position. Windows Vista has actualized this.
  • CREATE/ALTER TABLE GUI now supports '' (two singlequotes) in the DEFAULT column of the grid for defining an empty string as column default. If column type is not char, varchar, varbinary, set or enum a warning will display (that is also true for binary and bit types, where MySQL accepts '' as default - but with strange results!). To use the literal string '' (two singlequotes) as column default enclose it in backquotes like `''`.
  • Fixed an issue with 'auto-complete' introduced in version 6.05 where autocomplete windows did not show if cursor was in last position of the editor.
  • Fixed an issue with empty strings when migrating data from the Sage accounting software on Win2K.

New in SQLyog 6.03 (Jun 20, 2007)

  • Program could crash when opening a migration jobfile containing a query
  • Importing with the Migration Tool using a 'file-DSN' was broken since version 6.0. Various errors could result when trying to use such DSN. 'user-DSN' and 'system-DSN' worked as expected.
  • The special PLINK build shipped with SQLyog ENTERPRISE failed to authenticate if there were spaces in the password/passphrase
  • When connected to MySQL 3.23/4.0 there were problems when editing data in RESULT TAB with certain special characters . The fix for this in version 6.02 was not complete.
  • Fixed an issue where SQLyog threw a 'meaningless' error message.