SSMSBoost changelog

History of changes in add-in since beginning till up to latest version

UPGRADES from previous versions:
In case Windows asks you for .msi of the previous version which you do not have anymore, you can download it under the following URL:

Versions history of SSMSBoost add-in for SQL Server Management Studio
SSMSBoost v3.12
- NEW: Added support for the latest Release of SSMS 18.8 (15.0.18369.0)
- COMING SOON: we have prepared 2 new features: 
    -Pivoting assist (that will allow you to transform the standard SQL Query into PIVOT construct)
    -"Expand *" - will allow to "explode" the * into single fields in the select statements.
    Both features are already operational, but we have decided to exclude them from the current release, because
    of the UI, that still must be polished. If you are interested in the evaluation of these features, please
    drop us an e-mail to the support@ and we will provide you with the beta version. We will release these
    features shortly, 95% of the work is already done.
- RESTORED: "Old Fashion Formatter" is available again under formatting options.
    Some history:Poor Man's T-SQL Formatter was created by Tao Klerk a long time ago. He has also
    implemented SSMS Add-in, which stopped working some day, because of the quickly changing
    SSMS architecture. This is where we have asked him for permission to use the command-line
    version of his formatter and connect it to our add-in. (You will find the SqlFormatter.exe in the 
    installation folder of SSMSBoost). After several years of pause he has reanimated the SSMS support and
    we thought we can remove it from our project, but many users have asked us to bring it back, because
    sometimes the author needs more time to keep the pace with changing SSMS environment.
    The original project URL:

SSMSBoost v3.11

- NEW: Added support for the latest Release of SSMS 18.7.1 (15.0.18358.0)

- IMPROVED: Better split between "Cell data Visualizer" and "Files bulk exporter": 
            "Cell data Visualizer" is shown when 1 cell was selected, otherwise "Files bulk exporter"
            is invoked. Bulk exporter has also got some additional options. (Both features allow 
			to view/export files from VARCHAR/BLOB/TEXT fields directly in Results Grid)
- IMPROVED: Find in Editor history dialog improved. Added "Match filename only" option (Ignore Path)
- IMPROVED: Improved "crash detection": when opening script files that have "autosave" backup copies in 
            autosave archive SSMSBoost will show the popup allowing to restore that copies. This function 
            is similar to MS Excel "recover unsaved versions" notification.
- IMPROVED: Added "IndentStyle" option to Format templates editor.
- IMPROVED: Added Settings->System page with the overview of all paths used in SSMSBoost.
- IMPROVED: Many internal improvements and refactoring. Some users might notice additional speed improvements
            when connecting to Azure servers.

- FIXED: In some cases {PASTE} token inserted truncated text in Autoreplacements feature

SSMSBoost v3.10

- NEW: Added support for the latest Release of SSMS 18.5.1 (15.0.18333.0)
- NEW: Added possibility to exlude blocks of code from formatting using custom tokens. Default tokens are:

- IMPROVED: Format templates editor has new "Preview" button which forces formating of the SQL Query in current SQL Editor.
- IMPROVED: Auto-position input field when opening "Objects Search".
- IMPROVED: Added special handling of conflicts for better compatibility with other add-ins.

- FIXED: Source Highlighting feature would stop working under several conditions under SSMS 18.5

SSMSBoost v3.9

- NEW: Added support for the latest Release of SSMS 18.5 (15.0.18330.0)
- NEW: Added new JSON grid scripting template
- IMPROVED: "Export to Excel" (XML Spreadsheet) scripting template was improved to export text string "NULL"
            for NULL values.
- IMPROVED: Source Code Formatting templates Editor has now possibility to filter template options by name
- FIXED: "Fatal actions guard" option "Exclude temp tables" was not working under certain conditions.
- FIXED: Several minor fixes and improvements

SSMSBoost v3.8

- NEW: Added support for the latest Release of SSMS 18.4 (15.0.18206.0)
- NEW: You can now Comment/Uncomment selected statement with Ctrl+Num* shortcut.

- IMPROVED: (Hugely) Formating templates editor has been upgraded and now allows you to show related formatting options
            based on the cursor position within the current SQL Statement.

- FIXED: Select current statement command did not work in split window mode.
- FIXED: Comments format was sometimes not preserved during formatting.
- FIXED: Several fixes and improvements in Results Grid Aggregates dialog.

SSMSBoost v3.7

- NEW: Added support for the latest Release of SSMS 18.2 (15.0.18142.0)
- NEW: Jump between bracket pairs:  Press CTRL-SHIFT-DOWN or CTRL-SHIFT-UP when cursor is located on the closing or
       opening bracket to navigate to the corresponding pair. In general, you can now use CTRL-SHIFT-DOWN/CTRL-SHIFT-UP
       hotkeys to navigate between the following pairs:
       - Brackets: ( )
       - BEGIN / END
       - Column name / Value in INSERT settings (also when using INSERT / SELECT variant)

- IMPROVED: UI improvements in advanced Object Search dialog:
            - added the possibility to search for columns/parameters of the specific object
              Double-click the object in results list to set it as context filter.
            - added context menu on the search results with additional options
            - improved documentation:
- IMPROVED: Grid Aggregates control enhancements:
            -added "DATALENGTH" aggregate function. It allows you to estimate the amount of bytes
             contained in Results Grid cells. Note that in some cases on complicated data types the value shown can
             refer to the field datatype declaration and not to the actual value.
            -added the possibility of defining the "Skip limit" in bytes for columns with big amounts of data. If the
             value of single cell exceeds specified limit, no aggregate will be calculated for such column.
             See Settings->Grid Aggregates.
- IMPROVED: ColumnsSearch, GridAggregates, Advanced Objects Search dialogs now have similar interface (as far as
            possible) including:
            -similar design/color scheme
            -context menu for search results (right-click) with the possibility of exporting data to Excel or
             comma-separated list ("Copy as newline", "Copy as comma separated")
- IMPROVED: Recent connections, Recent document dialogs now show full file path on hover and have auto-filter-row for
            quick navigation.
- IMPROVED: Added the possibility of defining the order of sections in the "Connection Switch" combo box control.
            You can also hide individual sections if required. See Settings->Preferred Connections.

- FIXED: Locate/Script object functionality sometimes failed to recognize objects with complex names (containing
         "[]", reserved words or triggers spelled without schema)
- FIXED: Formatter/Fatal Actions Guard failed to process sql scripts utilizing SQL Server support for GRAPHs.
         The reason is that the native SSMSparser crashes on such scripts. We have added proper handling of the
          situation. In the worst case the script will not be formatted/ignored.
- FIXED: It was not possible to activate SSMSBoost on additional PC for the same user using the same activation key if
         different username casing was used upon log-in.

SSMSBoost v3.6

- NEW: Added support for the latest Release of SSMS 18.0
- NEW: Added "Search for object by token" (Shift-F2) functionality: immediately sets current text string under the
       cursor as filter string in the Object Search dialog. This is useful, for example, when you want to find all
       occurrences of some column across all database objects.

- IMPROVED: Object Search dialog completely redesigned:
            - improved speed
            - improved UI
            - added Search for columns
            - added Search for parameters
            - added Favorite object types (limit search results to usable subset)
            - Information about column and parameter datatypes
            - Dbl-Click on object in search results sets it as a filter (quick way to see all columns of the table)
- IMPROVED: Source code highlighting can be now configured to reuse native fonts/colors formats which can be redefined
            under "Tools->Options->Environment->Fonts and Colors". For more information
            see SSMSBoost Settings->"Source Highlighting"
- IMPROVED: UI Improvement - "Show frozen" check box state in "Open Recent" dialog is now persistent
- IMPROVED: Fatal actions guard now recognizes "WHERE CURRENT OF" as safe condition

SSMSBoost v3.5

- NEW: Added support for the latest SSMS releases: SSMS 17.9 and SSMS 18.0 Preview 6
- NEW: Added "Select current statement" command. Default shortcut: Shift+F5
- NEW: Added "Show only frozen" filter to "Open recent.." dialogs
- NEW: Added "Restore connection" control option to "Open recent tab" dialog
- NEW: Added display of "NULLs count" and "Count" for binary columns in "Aggregates" dialog

- IMPROVED: COLUMN/VALUE pairs are now highlighted in INSERT .. SELECT statement.
            (Previously feature worked only in INSERT .. VALUES statement)
- IMPROVED: "Highlight repetitions" feature can now be configured to work case sensitive. It uses
            customizable regex pattern to look for repetitions of the selection
- IMPROVED: Safety: "No" is now default action button in "Fatal actions guard" confirmation dialogs
- IMPROVED: Wildcards can now be used to define tables ignored by "Fatal actions guard"
- IMPROVED: Preferred connections can now be tested directly from Settings dialog
- IMPROVED: Floating info tooltips have now "copy to clipboard button"

- FIXED: DataGrid returns max 10MB of data in a single cell which affects "Visualize" functionality.
         If this situation occurs and data gets truncated SSMSBoost will now show warning message

SSMSBoost v3.4

- NEW: Added new Source Highlighting feature (works from SSMS 2012 and above):
- NEW: BEGIN/END pairs of current block are highlighted
- NEW: Highlighting of occurrences currently selected in the script
- NEW: Highlighting of ColumnName/Value pairs in INSERT statements
- NOTE: More highlighters will follow in next versions. Write us your ideas and proposals to

- IMPROVED: Improved speed of Locate/Script object functionality
- IMPROVED: Improved Azure support
- IMPROVED: Improved error handling/reporting
- IMPROVED: Verified against SSMS v17.8

- FIXED: Handling of special characters, like CHAR(1), which would sometimes lead to crash

SSMSBoost v3.3

- NEW: Added support for SSMS 17.5/17.6/17.7
- NEW: Added "Trace" button, that allows to preview/copy to clipboard Post-Execution handler command in
       live environment (mostly required to test newly created handlers)

- IMPROVED: Improved preferred connection switching logic: connection will be completely closed and re-opened,
            if one of these parameters differ from the current connection: Server, User credentials, Additional
            connection parameters. If not only a database context will be performed ("USE DATABASE")
- IMPROVED: Improved compatibility with the latest version of SQL Server Azure Locate/Script object, Switch connection
            and other functionality.
- IMPROVED: Autoreplacements now have new "{TrueServer}" parameter that will return real SQL Server name when used
- IMPROVED: Grid Visualizers now support multi-row operations: Previously it was possible to export cell contents
            to file and preview it in associated viewer only in one-by-one mode. Now you can select multiple values,
            select same visualizer and export all cells to separate files at once. Moreover you will be prompted to
            indicate the column that should provide filename for the exported files. For example, if you have database
            table that stores PDF Invoices in one column, you can export them all to separate files, and have files
            named by value provided in ID column.
- IMPROVED: Floating messages that SSMSBoost shows in the right-top corner now have "copy" button that allows to
            quickly save their contents to the clipboard.
- IMPROVED: Post-Execution handlers are now a powerful tool that allows you to trigger different actions in SSMS
            after query execution is finished. SSMSBoost can be configured to execute command line
            (or PowerShell) script if query execution exceeds specific time-limit. Script can reference
            executed query text, execution result and ResultsGrid data. Handlers can be triggered manually using
            Post-Execution handlers tool window (see new icon on the toolbar).
            Possible use cases:
            - Configure SSMS to send you an e-mail via outlook when very long queries finish execution.
                Start long-running db maintenance query and go home. Get the execution result by email when
                it is finished.
            - For debugging or educational purposes: save long-running queries source text to some specific
                file location or database table for later analysis and improvement
            - Pre-configure automatic steps for manual post-execution like: script ResultsGrid to File as
                Excel / Send it per E-mail as attachment
            - Send "query execution complete" to yourself using your favorite messaging system, if it allows
                to send messages from command line.
            NOTE: Here we provide only a couple of examples of possible usage of the functionality. We would be
            glad to hear about your usage cases and receive your scripts. NONE of default Post-Execution
            handlers is enabled for automatic triggering. Please review the list and set your preferred
            parameters / triggering limits.

- FIXED: Fixed Aggregates functionality, that did not show "count" for binary values.

SSMSBoost v3.2

- NEW: Added "Locate object" and "Script object" support for SEQUENCE object type

- IMPROVED: Value separators used when copying Headers or Data from Results Grid
            with the help of SSMSBoost functions can now be easily switched by running the command with SHIFT or
            CTRL button. Try SHIFT+"Copy all headers" and CTRL+"Copy all headers" in Results Grid to see the difference.
            Also check Settings->"Grid - data copy" for customization options.
- IMPROVED: Grid Visualizers can be configured to directly open the document in the current SSMS instance. This is
            useful when visualizing .SQL or .XML documents, saved in your database. Check Settings->"Grid visualizers"
            for more Info.
- IMPROVED: Find Matching BEGIN/END and COLUMN/VALUE features are now available in Community edition

- FIXED: "Edit top N Rows" command did not work under SSMS 2017
- FIXED: Scripting exception for decimal data types with extended precision

SSMSBoost v3.1

- FIXED: When switching the database, Intellisense sometimes did not update the context
- FIXED: issues with preferred connections switching on Microsoft Azure servers
- FIXED: Other internal improvements

- IMPROVED: SSMSBoost now has one installer for all SSMS versions.

- NOTE : It is important to un-install all previous versions, before installing this new release.
         All your user data (settings, templates, connections) will not be deleted during the deinstallation and will be
         re-used by the new version after the installation.

Accumulated Changelog since v 2.19

- NEW: Added support for SSMS 2017! Note: SSMS 2017 brought further changes in internal structure so we had to
       re-implement some hooks and interaction routines. We have done full test by now and fixed all issues that were
       found. One known issue is in progress: "OUTPUT" keyword within "EXECUTE" statement will not be formatted.
       We would be thankful if you report us any issues, that you encounter.
- NEW: Jump between COLUMNS and VALUES in INSERT statement. Press CTRL-SHIFT-DOWN (when you are in Columns
       block) or CTRL-SHIFT-UP (when you are in VALUES block). Cursor will jump to the corresponding
       Column/Value. (These hotkeys also allow to jump between BEGIN/END statements)
- NEW: Query post execution actions: get notification after query completes execution.
       This is useful when you start long-running queries and switch to another script or
       application. You will be notified by popup or system tray message. We will extend this
       functionality in further releases, adding the possibility to send e-mail on query completion
       or execute another action. Write us your ideas and send your post-execution scripts !
- NEW: Added native search in execution history. SSMSBoost already had logging of all executed queries and
       execution results but search had to be done with native feature of SSMS "Find in Files".
       Now using History->Find in Execution History you can search through queries that you have executed
       in the past.
- NEW: TRANSACTION REMINDER: whenever execution of last SQL batch leaves open transactions
       SSMSBoost will show floating information window with the reminder. There will be one
       reminder window shown per SQL Editor tab. Reminder can be closed or will close itself
       when @@TRANCOUNT reaches 0. Feature re-uses native SSMS functionality that checks open
       transactions whenever you try to close SQL Editor window with open transactions. Due to
       this fact we do not show the number of open transactions. You can always check the number of
       open transactions using SELECT @@TRANCOUNT statement. (Can be disabled in Settings)
- NEW: "Copy as Values list": copy values from Results Grid as native SQL values list that
       can be re-used in SQL statements. Strings are quoted, date time values are in canonical
       form. Result is placed to clipboard and is ready to be pasted to your "WHERE in ()" and
       other statements.
- NEW: "Preferred connections" drop down is now extended with "Recent connections" section.
       The number of recent connections can be configured in Settings->Preferred Connections.

- IMPROVED: Added {ColumnType} parameter to grid scripting template. Now based on any grid content you can
            automatically generate CREATE TABLE scripts. Useful, for example, when you want to create #tempTable
            CREATE statement based on Stored Procedure output. (See CREATE TABLE scripting template)
- IMPROVED: Added NString formatter to grid scripting templates. It allows to create own output formatting for
            NCHAR, NVARCHAR and other N-string types.
- IMPROVED: SSMSBoost menu structure re-designed . Now you can find all SSMSBoost commands under SSMSBoost menu.
            Study it and learn all available functionality. Re-design was necessary in preparation for SSMS 2016.
- IMPROVED: Added SUM over BIT fields in Results Grid Aggregates
- IMPROVED: Added parameter: Number of recent connection to remember.
- IMPROVED: Fatal Action Guard has new setting for disabling it's functionality for scripts larger than X Mb.
            Default setting is 10Mb.
- IMPROVED: Added "nullable" property in columns list of "Find column" dialog (CTRL+F in results grid)
- IMPROVED: Improved behavior of "Comment-Uncomment" feature. It does not require exact positioning of selection
            to uncomment the block (whitespace and newlines will be ignored.) Also several lines of "--" comments
            will be uncommented now as well.
- IMPROVED: Added "NULL Count" counter to grid aggregates and improved behavior on NULL values.
- IMPROVED: Grid aggregates can be configured to stop automatic calculations, if there are too many cells selected in
            the grid. See settings.
- IMPROVED: Added an option to deactivate connection coloring
- IMPROVED: "Preferred connections" drop down used native SSMS "Local databases" drop down to fill
            it's"local databases" part, which worked extremely slow when working on remote servers
            with heavy load or poor connection. Now this feature is improved and listing works
            much faster. Additionally there is a possibility to show only "accessible" databases
            for your DB user, based on native SQL has_dbaccess() function. For more options
            see in Settings->Preferred Connections.
- IMPROVED: Some strings can use pre-defined parameters in several SSMSBoost Settings dialogs (like Autoreplacements).
            Help-Text in dialog can be now be clicked to    copy parameter name to clipboard.
- IMPROVED: Fixed behavior or {server} parameter in Autoreplacements and added new {serverDisplayName} parameter.
- IMPROVED: Change log with recent changes notes will now be displayed on the first run after the installation.
- IMPROVED: File names generated by "Visualize as" functionality will start with corresponding column name.
- IMPROVED: Added full support for Shortcuts in SSMS 2016. Commands and Macros are now separated in settings.
            "Commands" page lists all SSMSBoost commands and assigned shortcuts. Shortcuts can be re-defined here
            directly. "Macros" - separate page in Settings to create simple command combos and manage their shortcuts.
- IMPROVED: Added "close all" (result tabs) for "Find in Grid" and "Find in History" dialogs.
- IMPROVED: Added additional events for saving "Recent Tabs". See "Recent Tabs" settings. Improved management of
            Recent Tabs/Recent Sessions/Recent Connections management.
- IMPROVED: {StartTime} and {EndTime} parameters were added to message template of "post-execution notification"

- FIXED: Improved usability of Objects Search dialog / UI fixes.
- FIXED: Fixed bug with recursive regions parsing
- FIXED: Fixed bug with Unicode strings, placed as HTML to clipboard.
         (Grid scripting as HTML with further insertion in Outlook or Word)
- FIXED: Added new counters to "Usage statistics".
- FIXED: Improved code guard to ignore cases when aliased temporary #table is used.
- FIXED: Further internal improvements to increase compatibility with mixed installations of several SSMS versions when
         several DLL versions are present in the system.
- FIXED: Better handling of corrupted settings
- FIXED: ENTER starts search in "Search in History"
- FIXED: Performance improvements and bug fixes (mostly in SSMS2016 version)
- FIXED: Improved dialog layout for Grid Scripting, Find column, Find data in grid dialogs
- FIXED: Fixed broken sort order of servers that automatically connected in Object Explorer at start-up
- FIXED: Added support for latest SSMS 2016 release (13.0.16000.28) which brought some breaking changes in API causing
         "Fatal actions guard" to stop working.
- FIXED: Increased max length of Autoreplacement strings.
- FIXED: Improved "Query complete" notification icon in system tray. Dbl-click now activates the query window where the
         execution was completed.