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

Versions history of SSMSBoost add-in for SQL Server Management Studio
UPGRADES from previous versions:
In case Windows asks you for .msi of the previous version and you do not have
one, you can download it under this URL:
Just add required .msi name to the URL above.

SSMSBoost v3.5
-Supports latest SSMS releases: SSMS 17.9 and SSMS 18.0 Preview 6 
-NEW feature "Select current statement" command. Default shortcut: Shift+F5
-COLUMN/VALUE pairs are now highlighted in INSERT .. SELECT statement.
 (Previously feature worked only in INSERT .. VALUES statement)
-"Highlight repetitions" feature can now be configured to work case-sensitive and uses 
 customizable regex pattern to look for repetitions of the selection
-Safety: "No" is now default action button in "Fatal actions guard" confirmation dialogs
-Wildcards can now be used to define tables, ignored by  "Fatal actions guard"
-Added "Show only frozen" filter to "Open recent.." dialogs
-Added "Restore connection" control option to "Open recent tab" dialog
-DataGrid returns max 10MB of data in a single cell which affects "Visualize" functionality. 
 SSMSBoost will now show warning message if this situation occurs and data was truncated
-Preferred connections can now be tested directly from Settings dialog
-Added display of "NULLs count" and "Count" for binary columns in "Aggregates" dialog
-Floating info tooltips have now "copy to clipboard button"

SSMSBoost v3.4

-NEW Source Highlighting feature (works from SSMS 2012 and above): 
-BEGIN/END pairs of current block are highlighted
-Highlighting of occurrences currently selected in the script
-Highlighting of ColumnName/Value pairs in INSERT statements
-More highlighters will follow in next versions. Write us your ideas and proposals to
-Improved speed of Locate/Script object functionality
-Improved Azure support
-Improved error handling/reporting
-Fixed handling of special characters, like CHAR(1), which would lead sometimes to crash
-Verified against SSMS v17.8

SSMSBoost v3.3
-Post-Execution handlers are now powerful tool, allowing 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, ResultsGrid data. Handlers can be triggered manually, using
 Post-Exection handlers tool window (see new icon on the toolbar). Possible usage scenarios: 
	-Configure SSMS to send you the e-mail via outlook, when very-long queries finish execution.
	 Start long-running db maintenance query and go home. Receive execution result per e-mail 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.
-Added support for SSMS 17.5/17.6/17.7 
-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 is performed ("USE DATABASE")

-Improved compatibility with the latest version of SQL Server Azure Locate/Script object, Switch connection
 and other functionality.
-Added "Trace" button, that allows to preview/copy to clipboard Post-Execution handler command in
 live environment (mostly required to test newly created handlers)
-Autoreplacements now have new "{TrueServer}" parameter, that will return real SQL Server name when used
-Grid Visualizers support now 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. Even more: you will be asked for 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.
-Floating messages, that SSMSBoost shows in the right-top corner now have "copy" button, that allows to 
 quickly save their contents to the clipboard.
-Fixed Aggregates functionality, that did not show "count" for binary values.

SSMSBoost v3.2

-You can easily switch value separators used when copying Headers or Data from Results Grid 
 using SSMSBoost functions, 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.
-Grid Visualizers can be configured to open the document directly in current SSMS instance. This is useful when 
 visualizing .SQL or .XML documents, saved in your database. Check Settings->"Grid visualizers" for more Info.
-Find Matching BEGIN/END and COLUMN/VALUE features are now available in Community edition

-"Edit top N Rows" command did not work under SSMS 2017
- Added "Locate object" and "Script object" support for SEQUENCE object type
- Fixed scripting exception for decimal data types with extended precision
- Added support for Microsoft Account log-ins into licensing engine

SSMSBoost v3.1

-SSMSBoost now has one installer for all SSMS versions. Note: it is important to uninstall all previous versions, before installing this new release. 
 All your user data (settings, templates, connections) will not be deleted when uninstalling and will be re-used by the new version after the installation.
-Fixed: When switching the database, Intellisense sometimes did not update the context
-Fixed issues with preferred connections switching on Microsoft Azure servers
-Other internal improvements

Accumulated Changelog since v 2.19
-SSMS 2017 Supported ! Note: SSMS 2017 brought further changes in internal structure, so that 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.
-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)
-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 !
-Added native search in execution history. SSMSBoost had already 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, you have executed
 in the past.
-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 number of open transactions. You can always check number of
 open transactions using SELECT @@TRANCOUNT statement. (Can be disabled in Settings)
-"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.
-"Preferred connections" drop down is now extended with "Recent connections" section.
 Number of recent connections can be configured in Settings->Preferred Connections.

-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)
-Added NString formatter to grid scripting templates. It allows to create own output formatting for
 NCHAR, NVARCHAR and other N-string types.
-Re-designed SSMSBoost menu structure. 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.
-Added SUM over BIT fields in Results Grid Aggregates
-Added parameter: Number of recent connection to remember.
-Fatal Action Guard has new setting for disabling it's functionality for scripts larger than X Mb. 
 Default setting is 10Mb.
-Added "nullable" property in columns list of "Find column" dialog (CTRL+F in results grid)
-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.
-Added "NULL Count" counter to grid aggregates and improved behavior on NULL values.
-Grid aggregates can be configured to stop automatic calculations, if there are too many cells selected in the grid. See settings.
-{StartTime} and {EndTime} parameters were added to message template of "post-execution notification" feature.
 NOTE: if you update from previous beta you will have to edit notification template yourself and add these tokens. For example you can use this template:
-Added an option to deactivate connection coloring
-"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.
-In several SSMSBoost Settings dialogs, like Autoreplacements, some strings can use 
 pre-defined parameters. Help-Text in dialog can be now clicked to copy parameter name to clipboard.
-Fixed behavior or {server} parameter in Autoreplacements and added new {serverDisplayName} parameter.
-Change log with notes about recent changes will now be displayed on first run after the installation.
-File names generated with "Visualize as" functionality will start with corresponding column name.
-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.
-Added "close all" (result tabs) for "Find in Grid" and "Find in History" dialogs.
-Added additional events for saving "Recent Tabs". See "Recent Tabs" settings. Improved management of 
 Recent Tabs/Recent Sessions/Recent Connections management.

-Improved usability of Objects Search dialog / UI fixes.
-Fixed bug with recursive regions parsing
-Fixed bug with Unicode strings, placed as HTML to clipboard. 
(Grid scripting as HTML with further insertion in Outlook or Word)
-Added new counters to "Usage statistics".
-Improved code guard to ignore cases, when aliased temporary #table is used.
-Further internal improvements to increase compatibility with mixed installations of several SSMS 
 versions, when several DLL versions are present in the system.
-Better handling of corrupted settings
-ENTER starts search in "Search in History"
-Performance improvements and bug fixes (mostly in SSMS2016 version)
-Improved dialog layout for Grid Scripting, Find column, Find data in grid dialogs
-Fixed broken sort order of servers, automatically connected in Object Explorer at start-up
-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.
-Increased of max length of Autoreplacement strings.
-Improved "Query complete" notification icon in system tray. Now dbl-click activates the query window, where the execution completed.