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:
http://www.ssmsboost.com/installpackages/archive/
Just add required .msi name to the URL above.

Release history
v3.1 

BREAKING CHANGE for v2.x users:
-SSMSBoost now has one installer for all SSMS versions. It is important to uninstall all previous versions,
 before installing new release. All your user data (settings, templates, connections) will not be deleted
 when by uninstaller and will be re-used by the new version after the installation.

NEW FEATURES
-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.

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

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

2.19
-Intermediate Version, preparation to major release 3.0.
-Minor fixes
	
2.18
NEW FEATURES
-Results Grid aggregates: SUM, AVG, MIN, MAX and COUNT are shown for 
 selected range of cells in Results Grid.
-Copy Results Grid data as XML spreadsheet (Excel). Right-click selected data range in Results Grid
 and choose "Copy selection as XML Spreadsheet".

Improvements
-Region start (--#region) and end (--#endregion) tokens can be customized to meet your 
 team's standards.
-Wildcards (*,?) are now allowed in "Find column in Results Grid". + improved user experience.
-"Match full cell" option added to "Find Data in Results Grid". + improved user experience.
-"Grid Scripting", "Find column in Results Grid", "Find Data in Results Grid" dialogs are now
 implemented as tool windows and can be docked in SSMS environment. This improves user experience,
 if you use them frequently.
-Improved "Fatal Actions Guard" output. Dialog can now show long list of warnings in usable form.
-Improved UI experience when creating first custom formatting template.
-"Features usage statistics" dialog shows now approximate time, SSMSBoost saved you. You can also sort by
 usage count and saved time. Use this dialog to find out if you are using all SSMSBoost features !
 Note, "saved time" values are approximate. See "SSMSBoost menu"->"Feature usage statistics".
-Improved resistance against corrupt config files.
-Fixed non-latin symbols export when scripting data for excel.
-Fixed "inconsistent end of line" issue in templates. Open/Save settings to update your templates.
-Fixed performance issues, when object explorer is connected to slow or unreacheable servers.
-Fixed installer to work after Windows 10 TH2 update.
 
 
2.17
Improvements
-Added possibility to use {Server},{Database} and {UserName} parameters in script execution history
 path
-Added easy switching between search in results grid cells and column names
-Added possibility to specify "Exact match" when searching in results grid
-Fixed delimiting logic when copying column names from "find column" dialog
-Implemented Formatting option: SelectColumnsOptions.ListOptions.AlignAliases
-Fixed "Autoreplacement tigger" option persistence

2.16
NEW FEATURES
-New possibilities in Grid Visualizers: now you can use cell contents directly as command line
 command or arguments. This allows you to call external applications passing ID's of your database
 objects, or even better: search Google or Wikipedia directly for strings from your database !
 2 new templates ("Search in google" and "Search in Wikipedia") will be added to your collection.

-Run your database query directly in Excel: select single SQL expression, press Excel button on the
 toolbar. SSMSBoost will export query and current connection information as Microsoft Database Query
 (.dby) format, which can be directly opened by Excel. Advantage is that data exported to Excel is
 not static: you can refresh it anytime from excel and use for reports or pivot tables. Note that
 this format has some limitations: only single SQL statement is supported and some other limitations
 may apply. Read (.dby) documentation to learn about this format. And yes, this feature can be used
 to restore your forgotten SQL Server Authentication passwords, if you still have connection
 "remembered" in SSMS. See SSMSBoost Settings->"Database Query (.dby)" for more information.

-Added "Copy Full Name to Clipboard" functionality in Object Explorer context menu for 
 Tables/View/Stored Procedures/Functions and some other objects. Object name is copied along with
 Schema and Database.

-Now you can place grid scripting results to clipboard and set one of 3 available clipboard formats:
 Text, HTML or XMLSpreadsheet. Default templates are updated, so you can script results to clipboard
 as XML Spreadsheet using default template and paste them directly to Excel. Same will work with 
 HTML Template: you can paste results directly to Outlook. Note, that scripting of HUGE volumes of
 data might be limited by available memory. This functionality is designed for reasonable amounts
 of data. UI for this functionality will be improved in coming versions. This is kind ob preview
 release.

Improvements:
-Improved Find Grid Column dialog: added display of datatypes, added short in-place help.
-Regions: added possibility to expand automatically all regions on document open. 
 See "Regions" settings.
-Possibility to let SSMSBoost to try to keep database with the same name active, while switching
 between different servers (for example DEV and PROD servers). To allow this functionality to work
 you must use Quick Connections Switch to switch between Preferred Connections and destination
 Preferred Connection should not contain pre-set database name. See "Preferred Connections" settings
-Code Guard: added possibility to treat JOIN as WHERE (meaning that such expressions are not 
 "dangerous" anymore)
-Code Guard: added information about line number where dangerous expression was found.
-Fixed: Restored "Intellisense completion mode" option, that has disappeared in 2.14. This option
 allows to pre-define "Intellisense completion mode" for new windows. This possibility has
 disappeared in native SSMS settings since SSMS 2012.
-Fixed: Ctrl-F shortcut in Results Grid (sometimes Find in Grid form did not appear)
-Fixed {PASTE} token documentation in Autoreplacements dialog


2.15
NEW FEATURES: 
-Columns finder. Allows to find column by name within current or all result grids.
 Right-click results grid and choose "Find column" to use this feature.
-New real-time SQL Formatting styles templates editor. 
 See SSMSBoost menu->"SQL Formatting styles templates editor". Changes are applied directly
 to currently opened document during the modification of formatting template. This is our 
 first release. Test it. Write us your comments/proposals.
-Updates checker. SSMSBoost can not automatically check for udpdates. Feature is disabled by 
 default, you can enable it under Settings->Updates check.
 

Improvements:
-Pressing Ctrl-F in Results Grid will activate "Find in Grid" dialog. It was not possible
 to re-assign this shortcut using common way, so we have implemented a workaround.
-Added UPPERCASE/LOWERCASE option to formatting templates. See TextCase->KeywordCase parameter.
 Note, due to some limitations implementation of this function requires a lot of time and special
 handling for some keywords. If you find keywords not affected by this setting please report them
 in our formum.
-Now you can use regular expressions to search in Results Grid
-A lot of improvements to Fatal Actions Guard. Open Settings->"Fatal Actions Guard" and
 have a look at new options. We have added the possibility to ignore particular tables, to
 disable the guard with custom "magic tokens", ignore temporary tables and variables.


2.14
Important note:
-Please update all local installations of SSMSBoost to latest version of the same time. 
 For example SSMSBoost 2008, SSMSBosst 2012 and SSMSBoost 2014 should be updated to latest v 2.14.
 Mixing with 2.12 is not allowed.

NEW FEATURES: 
-Fatal Actions Guard: monitors executed batches and warns or blocks (configurable) 
 DELETE and UPDATE statements without WHERE clause, or TRUNCATE TABLE statements. Additionally you
 are free to define additional tokens that can be blocked or will cause warning to appear. Feature
 can be individually enabled or disabled for preferred connections as well as default state can be
 defined for all other connections. See settings dialog
-Edit Top N Rows: use this standard SSMS feature, previously available only from object explorer now
 directly in SQL Editor. Right-click any table and select "Edit Top N Rows". Standard table data
 editor will be opened. "N" - number of rows can be defines in Standart SSMS Settings under
 Tools->Options->SQL Server Object Explorer->"Value for Edit Top <n> Rows command.
-Fixed malfunction of SSMS connection option "Additional connection parameters". SSMS does not
 save this field correctly, so users who need to override current windows account or domain were
 doomed to re-enter "Additional connection parameters" over and over again. Now you can use
 "Preferred connections" to save required parameters permanently. Supported starting from SSMS 2012

Improvements:
-Grid Scripting: added "Open output files in SSMS or Assiciated application" option
-Grid Scripting: added "Paste result in New Script window" option (when scripting to clipboard)
-Grid Scripting: added "Close dialog after scripting" option
-Autoreplacements: added option to make replaced text selected after autoreplacement was triggered.
-Autoreplacements: added global option to trigger autoreplacement even if native SSMS Intellisense
 drop-down is shown
-GridVisualizers: added parameter to define default scripting folder for Grid Visualizers
-Editor History: new configurable trigger "write on on execute"
-Recent connections: added possibility to add recent connection to preferred connections
-Settings dialog: added "copy to clipboard" links for all template paths
-Settings dialog: settings tree has got keyword filter. Just type "connection", "delete", "grid" and 
 settings tree will be reduced to relevant pages
-UI Fixes: Worspaces are now sorted by name, restored ability to sort preferred connections
-Internal improvements to Installer, handling special security cases

2.13

NEW FEATURES:
-SSMS 2014 is now supported
-New flexible SQL Formatter with user-customizable templates. Allows deep customization of 
 formatter options. Note, this is first release with some kind of preview status. Previous formatter
 is available through "Old fashion formatter style" option on the toolbar. We encourage all 
 enthusiasts to use new formatter and write us your feedback and maybe even send your formatting 
 templates. Further development will be based on your feedback.
-Recent Connections list (see "Recent" menu). Keeps record of last connections.

Improvements:
-Added "Max document size" for SQL Editor history feature. Customize this value if you do not want 
 to create history entries for BIG files (like data dumps).
-Added "Max script size" and "Detail level" parameters to optimize Script Execution History feature.
-Unified headers of Script Execution History and Editor History features. Additional information
 includes now (whenever it is available): original file name, connection, event, execution time,
 result, execution duration.
-Recent sessions and recent tabs are moved to specialized launchers (see "Recent" menu)
-Changed the way Autoreplacements, Grid scripting templates, workspaces and 
 recent connections were saved: instead of using one big settings file, each entry is now saved as
 separate XML file on disk. This enables you to easily customize, share and backup your data.
 You can copy, share, delete XML files if you feel more comfortable this way. Be careful with 
 modifications: do not corrupt the files. Settings dialog displays links to file locations whenever
 it is appropriate.
-Completely new settings dialog. You can use filter to search for config pages. Try typing 
 "connection", "template", etc.. Template based-features
-Management of Autoreplacements, Grid Scripting and Grid visualizers templates in settings
 has new command "Add defaults". Use it to restore templates, originally provided with SSMSBoost.
 You can do it anytime: if you have already templates with the same name, new templates will be
 appended with unique suffix. If you are long-time user of SSMSBoost we encourage you to add
 default templates now and compare them to old ones (you can do it, by comparing XML files on the
 disk using any merge application, like WinMerge). We have updated default templates several times 
 already and recommend to use new editions.
-Recent tabs has 2 separate counters now: additionally you can specify now how many 
 unsaved "QueryX.sql" files should be remembered as recent tab. Even if you do not save files
 they are still saved in SSMSBoost history.
-New "Grid Scripting" dialog. Grid scripting can be now launched from the toolbar or grid context
 menu. Note, there is a breaking change in this version: due to shift to new technology old
 possibility to create toolbar buttons for particular scripting templates is temporary unavailable.
 We have plans to restore it and are glad to receive your feedback with proposals about usage
 scenarios.
-Overall SSMS startup speed was improved.
-Created "SSMSBoost" menu right after "Tools" menu. Cleaned-up SSMSBoost toolbar and moved some 
 commands there.
-Created custom icons for SSMSBoost commands for Toolbar, SQLEditor context menu and 
 grid context menu

2.12
NEW FEATURES:
-Added "Regions" functionality. SSMSBoost supports/reuses existing regions syntax 
	--#region [Name]
	--#endregion
 Additionally we have improved this functionality by adding an option to automatically scan for
 declared regions upon opening of file. "Regions" Menu on the toolbar includes commands: 
 "Create region", "Create named region" and "refresh regions". "Create region" commands can be
 executed when some part of code is selected to include selection into newly created region.
-Vertical Guidelines for both SSMS 2008 and SSMS 2012 environments. Now you can configure SSMSBoost
 to display vertical guidelines at one or more positions. This helps to keep lines width under 
 control. By default SSMSBoost comes with 3 vertical guidelines at positions 80,100 and 120. You are
 free do adapt this setting to your personal preference: define alternative column positions and 
 color. Please note, that due to implementation differences you need to restart SSMS 2008 
 for changes to take effect. Changes in SSMS 2012 are visible immediately.
-"Recover last closed tab" button added to toolbar. SSMSBoost allows you to recover even
 unsaved documents.
-SSMS 2012 always sets "IntelliSence autocompletion" to "On" whenever you open a new query window.
 This is unfixed bug confirmed by Microsoft. We have added the possibility to define global default
 setting for IntelliSense behaviour. See General Settings->"Intellisense enabled by default" option.

IMPROVEMENTS:
-When scripting objects to new window using SSMSBoost "script object" command (F2) the new 
 tab name is pre-initialized with configurable filename instead of "QueryN.sql". Filename can be
 customized in General Settings->Scripting->Filename Customizaion and can contain 
 object name and schema.
-Autoreplacements can be configured to be triggered not only by enter/tab/space but by any
 character as well, like "("
-Autoreplacements can be provided with optional Displayname, which can be helpful when scrolling
 through the list of existing autoreplacements.
-Autoreplacements can be disabled by setting "Autoreplacements trigger" to None
-Improved compatibility when working with SQL2000 databases
-Due to improvements of "Recent tabs" functionality we had to rename "Sessions" to "Workspaces".
 "Workspace" (old "Session") is a permanent set of documents and their connections that can be 
 loaded instantly loaded into SSMS. It is useful for daily recurring tasks, where you work with
 known set of documents.
-"Recent Tabs" functionality contains now list of recent documents including their connections. 
 "Recent tabs"->"Sessions" contains list of recent Sessions, where last working environment can be
 restored completely with all documents and their connections. SSMSBoost recovers documents even if
 they were not saved by user (unsaved QueryN.sql documents)
-Added "Max document size" parameter under "Editor Contents History".If document exceeds specified
 size in bytes neither it's contents history will be logged, nor the execution history will be
 saved. Set to 0 - to remove limitation. Default limit is 10MB. Used to prevent SSMSBoost from
 saving history of database content dumps loaded as huge .sql files, consuming disk space and
 decreasing performance.
-Objects Search form can now script/copy multiple objects selected in search results
-Selecting part of identifier and running locate/script command will force SSMSBoost to consider
 only selected sub-string.
-Editor Contents History: Added original file path, event and timestamp header to autosaved files.
-Improved GOTO BEGIN/END performance on large files
-Improved behaviour: to save start-up time SSMSBoost will not open documents mentioned in preferred
 connections (open at start-up) if SSMS is started with command-line parameters.
 
2.11
Improvements:
-added {PASTE} parameter to Autoreplacements. Whenever used in Autoreplacement text
 it will be replaced by contents from clipboard
-Added {GUID} parameter to Autoreplacements. If used it will be replaced by GUID. If you need
 to specify the format you can use {GUID:X} syntax, where "X" one of .NET formatting 
 characters "N", "D", "B", "P", or "X". For more information see MSDN 
 article: http://msdn.microsoft.com/library/97af8hh4(v=vs.110).aspx
-added support of Queues and Contracts in Locate & Script functionality
-Updated SQLFormatter to latest version 1.5.1, including support of new parameters:
 StatementBreaks,ClauseBreaks and ExpandInList
-Fixed bug in GridScripter when {SelectionN} would not be increased when scripting multiple grids
 Export of several grids as one excel file works again now.
-Several structural improvements
-This is an intermediate release we have decided to make to fix known issues and to publish
 small improvements we have made. Next version 2.12 should come shortly.

2.10
Improvements:
-Grid scripting engine is now disk-buffered and can script big amounts of data from 
 results grid.
-Updated parsing engine. "Locate object" and "Script Object" functionality now support
 objects in other databases and linked servers. Note, you should have enough rights at
 least to see those objects in Object Explorer to have possibility to locate/script them.
-Following parameters can be used in Autoreplacements: {User}, {Server}, {Database},
 {Connection}, {Timestamp} , {Timestamp:Format} (.Net datetime format). They will be
 replaced by current values from connection/time when autoreplacement is triggered.
-added new standard autoreplacement token "now" (case sensitive) as 
 '{Timestamp:yyyy-MM-dd HH:mm:ss.fff}'.
 Use it whenever you need current time in
 your scripts. The output will look like: '2013-07-29 12:43:45.487'. Users of previous
 versions can add it themselves using values provided above.
-SSMS template parameters syntax <name, type, default value> can be used in 
 autoreplacements. If autoreplacement has SSMS parameter the parameters replacement 
 dialog will be shown automatically (this behavior can be changed using global setting)
-New grid scripting template added: INSERT INTO (scripts results grid as a set of 
 INSERT INTO statements). Users of previous versions can get this template here:
 http://www.ssmsboost.com/social/yaf_postsm446_INSERT-INTO-from-v-2-10.aspx#post446
-added new autoreplacement "sis" (search in sources): simple SQL code to perform search
 in source code of database objects using own SQL Server capabilities. Users of previous
 versions can get this autoreplacement here:
 http://www.ssmsboost.com/social/yaf_postsm447_Search-in-Sources--sis--Autoreplacement.aspx#post447
-When SSMS environment has no active SQL Editor window the Preferred Connections dropdown
 on the toolbar is not disabled anymore. Instead if you choose any preferred connection
 a new SQL Editor window will be opened and connected.
 
FIXES:
-Objects Search window would sometimes not display if database diagram window was active
-Other minor improvements and bugs fixed


2.9
NEW FEATURES:
-Editor contents history: SSMSBoost regularly makes backup copies of your work to disk.
 You can choose events when checkpoints should be made. No copy will be saved if 
 nothing was changed since last checkpoint to save disk space. You can search in history 
 using new search form or use standard "find in files" functionality. Pay attention that
 this feature is disabled by default and should be enabled in settings.
-Recent Tabs: allows to save quickly current set of tabs. SSMSBoost remembers document
 names and their connections. If documents are new and were not saved they will be still
 remembered. This feature might help you recover lost work after SSMS crashes or restore
 last tabs on the next day. This feature is different to old "Sessions" functionality: 
 Sessions are kind of "Document sets" or "Projects", which are supposed to live a long 
 time. "Recent Tabs" is more like standard "Recent documents" functionality. Note: this
 feature is disabled by default, you will have to enable it in settings.
-Executed Statements Logging: Saves executed statements with information about execution
 results to specified folder. Allows you to find queries that you have run some time ago
 and reuse them. Note, that this is the PREVIEW of the feature. Currently only dumping of
 executed statements is implemented. In next version we are going to release search form. 
 Note that format of logging files might be changed.
-Added new command to toggle /*comment*/ of current selection
-New option for "Copy headers" Results Grid feature, allowing to specify if column [names]
 should be delimited: always, never or automatically.
-SSMS template parameters syntax <name, type, default value> can be now used in Results 
 grid scripting templates. We have added option allowing to show dialog for parameters
 replacement BEFORE scripting begins. If you want to specify parameters AFTER scripting,
 then you can use built-in Template Parameters replacement (Ctrl-Shift-M)
-SSMSBoost install files and .dll are now digitally signed with code-signing certificate.
 Hopefully this will make easier installing SSMSBoost in corporate networks.

IMPROVEMENTS:
-Added separate formatters for DATE and TIME types support to Results Grid 
 scripting templates
-Autoreplacements can now use case-sensitive tokens (can be configured per token)
-Autoreplacements can now use custom symbol to specify new cursor location after 
 replacement is done (can be different per Autoreplacement)
-Autoreplacement tokens can include now non alpha-numeric symbols except of ()<>"\'*+=/.,
-Multiline autoreplacements now keep indent of starting position
-Add {ProjectName} and {Connection} patterns to "Custom SSMS window title" feature
-"New query window" parameter will be now "false" by default when 
 adding Preferred connection.
-When searching in Editor Contents History it is possible to use external configurable 
 comparison tool to compare different versions or previous version against current file.
-More information is now shown if SSMSBoost fails to establish connection to dead server
-Improvements in "Find in Grid" functionality
	-added case-sensivity
	-add possibility to mask * and ? via \
	-improved working with search results. Just check all available options there.
-Other minor fixes in functionality and usability

FIXES:
-Added missing "LF" in CR/LF in Autoreplacements editor
-Fixed focus behavior, after "Find in Grid" command
-Fixed situation when command sometimes will not appear on toolbar, even if explicitly 
 configured in SSMSBoost.
-Remove SSMS Installation path checks from SSMSBoost installers
-Updated "F" to "G" formatting in standard scripting templates for numbers
-Other small and big fixes




2.8
IMPROVEMENTS:
-Improved Results Grid scripting performance x4 times
-Added "Max chars per value" parameter to Grid Scripting templates. Useful when
 generating documents, which can not hold large amount of data, or when it does not make any
 sense (like scripting BLOB data just to view the value). 
-Search in Results Grid: improved "Find all" results. Added possibility to select all matched
 cells in grid (single cells or whole rows). This allows to script selected rows/cells or
 perform subsequent search within new selection.
-Added Spatial data types support to scripting templates.

2.7
NEW FEATURES:
-Added "Find in Results Grid" functionality. Search for strings in results grid using wildcards,
 Search for single values or output all results using "Find All" option. 
 (Accessible via right-click on the Results Grid)

IMPROVEMENTS:
-improved settings editor: multiline text is now easier to edit.
-updated default scripting templates formatting.

FIXES:
-object explorer would sometimes not navigate to "located" object
-other minor fixes

2.6
NEW FEATURES:
-Jump to parent BEGIN or END statement in SQL code. 
 Command is available via Ctrl+Shift-UpArrow / Ctrl+Shift-DownArrow shortcuts or via SQL Editor
 context menu.

-Added support for Registered Servers functionality of SSMS (View->Registered Servers):
	-Added "Expand All"/"Collapse All" commands to "Local Server Groups" context menu as well as for
	 all subfolders.
	-Added commands to context menu of registered servers:
		-Set as active connection - makes connection active in current SQL Editor window
		-Add to preferred connections - adds registered server to SSMSBoost preferred connections
		 list

-New GridScripter functionality:
	-right clicking grid results allows to select range for data scripting:
		-selected data in current grid
		-all data from current grid
		-data from all returned grids
	-added possibility to specify output file name using flexible templates
	-added data-type specific formatting
	-new setting "Save Granularity", allowing to specify when to begin scripting into new file.
	 Choose between
		-Row (generates one output file per row)
		-Block (Selection or Grid)
		-Entire (all output is scripted into one file)
	-Post-process scripted values usage in SQL/HTML or XML documents,encoding special symbols 
	-IMPORTANT: GridScripter templates were updated to re-use the full power of new functionality.
		If you upgrade from v2.5 and already have Scripting Templates which you did not modify, we
		advise you to DELETE all of them, using Settings dialogue. After restart of SSMS environment
		SSMSBoost will fill Scripting Templates collection with default templates.

IMPROVEMENTS:
-Increased interval for community edition updates to 120 days. (Previous value was 45)

-Improved connection coloring logic (Status bar coloring logic), concerning Registered Servers
 support. Status bar color for current connection of SQL Editor window will be determined in the
 following sequence: 
	-Match current database with databases from preferred connections
	-Match current database with databases from registered servers
	-Match current server with servers from preferred connections
	-Match current server with servers from registered servers
	-Default status bar color from SSMS Settings

-Added "Set as active connection" and "Add to preferred connection" on SERVER nodes in 
 Object Explorer. Commands were previously availanle on database nodes only.
	
-Added possibility to copy/paste single config entries via Clipboard as XML. This feature is enabled
 for Scripting templates, Grid Visualisers and Connections. It allows you to copy configuration
 entries outside the SSMSBoost, process them in any text editor and paste them back. Purpose: 
 we will add a special "Scripting templates" thread in user forum, so users can exchange useful
 scripting templates with each other.
 
-Preferred connections can be sorted now in settings dialogue

-New option "General Settings"->"Focus Object Explorer After locate" controls whether to move focus
 to Object Explorer or leave it in SQL Editor
 
-Added General->"Show local databases in quick connections switch drop-down" Setting. You can decide
 if you want SSMSBoost quick connection switch drop-down to show only preferred connections or also
 local databases from current server (these databases are available in native SSMS connection switch
 drop-down)
 
-General->"Expand Object after locate" option defines whether to expand object's node after it was
 located in Object Explorer tree

-Updated Tao Klerks SqlFormatter.exe to v1.4.1 (Used for formatting feature)

FIXES:	
-Locate/Script object command did not work on Synonyms, if they were prefixed with schema name
-Fixed some minor bugs reported by users

2.5
-Improvement: Added progress indication for ResultsGrid scripter operations
-Improvement: Added possibility to jump to settings direct from ResultsGrid Visualizers and ResultsGrid
 scripter menu.
-Improvement: SSMSBoost functionality worked previously only for files with .sql extensions. Now it works
 for all extensions, configured to be edited with Query Editor (SSMS Tools->Settings->Text Editor)
-Improvement: Preferred connections settings: added up/down buttons allowing to sort connections
-Improvement: Settings editor has now "duplicate" function for Preferred Connections and ResultsGrid
 scripting templates
-Improvement: Added possibility to set width of "Important Database" alert tooltip
-Fix: Autoreplacements triggering sometimes ignored whitespace
-Fix: Shortcuts with special keys did not work on International versions of SSMS 
-Fix: Newly created objects were not visible to "locate" and "script" commands
-Fix: Sorting in Objects Search dialogue. Click on column sorts results now
-Fix: Preferred connections settings: It is possible to set "Datatabse" property to empty, enabling
 alerter and "connection color" feature to work for all databases on the specified server.
-Fix: In SSMS2012 user can drag-n-drop columns in grid, changing their order. SSMSBoost previously did 
 not recognize changed order and scripted data from other columns if order was changed. 
-Fix: If SSMSBoost Settings.xml file is corrupt it will be re-created using default settings

2.4
-NEW FEATURE: ResultsGrid scripter. Allows to script Results grid contents using user defined templates.
 After scripting is done results can be placed to clipboard, saved to file or saved to file&opened by
 specified application. For example, to open results grid contents in Excel you only need a few clicks:
 Select desired rows or Ctrl-A (select all) -> right click grid selection -> "Copy Data as" ->
 "XML (Excel tweak)" -> "Save & Open". Done. Templates can be customized & added by user.Feature is 
 shipped with these pre-defeined templates:
	*[XML (Excel tweak)] - saves results in XML format, that can be opened by Excel
	*[INSERT INTO #tmp exec sp_name] - generates CREATE/INSERT EXEC script for results of Stored 
	 Procedure execution. 
	*[WHERE] - selected values are copied as  'WHERE (ColumnName=Value) OR ...' allowing to generate 
	 WHERE filters by selecting required column values
	*[HTML <table>] - results are saved as HTML Table
	*[Property:Value] - copies results as ColumnName:Value
	*[XML (pure)] - results are saved as pure XML
	*[SELECT] - scripts results as SELECT VALUES. You can run generated SQL script and get same results 
	 once again
 LIMITATIONS: We wanted to give you the power of this feature as soon as possible, so we decided to 
 publish it now, though, there are some things that will be improved in next release: In current release 
 there is no possibility to work with data formatting. For example, if your scripted text values will 
 contain some special characters and data will be scripted as XML it will get broken. In next version we 
 will add datatype-based formatting which will allow you to make additional post-processing of scripted
 values, most probably with regex. If you like this featue and see improvement possibilities - please 
 write us your proposals.
-NEW FEATURE: GridResults visualizer. Allows to save contents of single cell to disk and open with
 specified program. Applications: if your database keeps Word documents, Excel files, pictures and other
 files in tables, you can open  these files directly from results grid. Just right-click the cell and 
 choose "Visualize as". Visualizers list is configurable. You can add your own datatypes. Feature is 
 pre-configured with visualisers for Excel, Word, Pictures, Text.
-NEW FEATURE: 'Important' Database/Server Alert: SSMSBoost already allows to define Statusbar color,
 depending on connection. Some users wanted to have additional warning, when they have worked with 
 "very important database". If you switch on this feature for Preferred Connection, a permanent tooltip 
 will appear at desired position in SQL Editor window, showing you Informational/Warning message, that
 you can customize. This is per-connection setting. You can choose color, font,location. Initial idea was
 to let you customize background color of active window per connection, but unfortunately due to some
 limitations in SSMS it came out to be impossible. 
-Scripting Objects: added additional command "Script as ALTER". Previously F2 shortcut would Script 
 database object "as CREATE". Now you can use Shortcuts editor of SSMSBoost to decide if F2 will 
 "Script as Create" or "Script as ALTER"
-Scripting Objects: added possibility to decide between global scripting options of SSMS or to define and
 use own scripting options for all SSMSBoost operations with database objects.
-Autoreplacements: Added possibility to use \r\n\t patterns  in replacement strings
-Autoreplacements: list is now sorted, when you open it in settings.
-Scripting Objects: generated scripts now have "GO" batch separator
-Shortcuts: improved international support for shortcut contexts.
-Fix: After installation of SSMSBoost for SSMS2008 under some user account other user accounts on the
 same machine got 'Class not registered' error when starting SSMS. Now SSMS is correctly installed for
 all users. We have changed installation type from "per user" to "per machine", so the problem 
 disappeared. Actually "per user" was better type, but unfortunately SSMS2008 has no mechanism to 
 register add-ins per user. This change does not affect SSMSBoost for SSMS 2012 as far as SSMS 2012 has
 correct Add-in registration mechanism.
-Formatter feature. Fixed: UNDO did not work sometimes after formating window contents.
-Improved settings dialogue.

2.3
-NEW FEATURE:Copy column names from results grid (Copy results grid headers)
-NEW FEATURE:Copy original cell contents from results grid (copy long strings preserving linebreaks)
-Improved connection coloring feature: If you define color for preferred connection, where no database is
 specified, this color will be applied whenever any database from that server is active
-added setting "Auto-Replacement triggers on" : tab/space/enter/all
-fixed unicode formatter bug
-fixed SQL debugging crash
-Split trace shortcuts command into separate: Trace Commands and Trace Shortcuts. Improved output
 formatting
-added possibility to copy usage statistics to clipboard as text

2.2
-NEW FEATURE:Added SQL Code formatting, re-using functionality of Tao Klerks Open Source 
 "Poor Man's T-SQL Formatter" (architectshack.com/PoorMansTSqlFormatter.ashx)
-Added possibility to select preferred connections for documents in sessions
-Locate object feature switches focus to Object Explorer after object is located
-small fixes and improvements

2.1
-Public release after internal testing and polishing of v2.0, minor fixes.

2.0
-added support of SSMS 2012 both x64 and x32 editions
-NEW FEATURE:Sessions management
-NEW FEATURE:SSMS window caption customization
-Fixed some issues with localized versions of SSMS

1.9
-Added Displayname property for Connections (see Preferred connections). Used in QuickSwitch combobox on
 toolbar
-Improved context menu in Object Explorer. Right-Click on database allows to add it to preferred 
 connections. (Compatibility with older SQL Server versions)

1.8
-Feature usage assistant helps to discover features of SSMSBoost. In trial mode it appears when SSMS 
 starts. After activation of SSMSBoost you can open it from "Extras" menu
-fixes & improvements

1.7
-add about box with version information and link to website
-added auto-replacements dump to clipboard
-allow to specify placement order of commands to SSMSBoost toolbar and SQLEditor context menu
-Installer: check if SSMS is running
-show config file location
-improved licensing/about dialog
-save settings in "OUR" location
-save license file in "OUR" location  
-general stability improvements

1.6
-Preferred connections are opened synchronously during start-up in same order, as saved in settings
-Added support for DDL&DML triggers for Script/Locate/Search functionality
-Right-click on Database in Object explorer allows to "Save connection to preferred connections" and
 "set as active connection" for current SQL Editor window

1.5
-Enabled Script/Locate in comments. To make it work: select the identifier and execute Script/Locate 
 command. In such case program relies on user and treats selected identifier as object name. It did not
 work, because comments are ignored by parser.
-SSMSBoost shortcuts  will be shown in Toolbar tooltip, if toolbar commands shortcuts are not displayed
 (SSMS Setting)
-AutoSync with Object Explorer: fix focus issue 2008 and 2008 R2
-AutoSync with Object Explorer: children nodes are not lost if connection is the same.
-Position cursor in "Object" column when "search window" opens.
-Reset own cache when user makes refresh in Object Explorer.
-Moved service commands to "Extras" menu
-Uninstaller correctly clears SSMSBoost commands from SSMS

1.4

-When locating connection, show connection title in tooltip.
-Auto locating database connection in Object Explorer functionality and corresponding checked button
 on toolbar.
-Ensure needed servers nodes are expanded in Object Explorer (controlled by ConnectOEAtStartup property)
-Sequential locating items(server/database/objects) in Object Explorer.
-Search Window: row indicator is eliminated to save space.
-Search Window: fix mouse click crash.

1.3

-When user open Search Window, automatically synchronize Search tree with  database of current sql window
 and ensure database objects are loaded.
-improvement: in "search window": Copy identifier into current document editor can be done by drag-n-drop
 or by double-click on identifier. Clicking on schema column tells program to copy identifier qualified
 with schema name
-Improved "search window" layout.
-improvement: In Search Window smart "Server", "Database" columns auto hide.

1.2
-NEW FEATURE:allow to Import/Export Settings. Allows to backup settings, or create "Team" Settings. When
 importing settings, user will be asked if imported settings conflict with local settings
-improvement: On Startup Expand object explorer Tree, so that all databases of each "preferred" servers
 will be shown
-improvement: Show shortcuts for commands, placed on context menu of SQL Editor
-fixes

1.1
-NEW FEATURE:allow to put any command to SQL Editor context menu via AddContextMenuButton property 
 in Shortcut settings
-fixes

1.0b
-SSMS 2008R2 compatibility
-NEW FEATURE:command shortcuts
-NEW FEATURE:locate object
-NEW FEATURE:script object
-NEW FEATURE:synchronize object explorer
-NEW FEATURE:preferred connections combobox on SSMSBoost toolbar
-NEW FEATURE:Auto-replacements.Exmple: entering "sel" and pressing space will replace it by
 "select * from"