VersionSQL Changelog See what's new in VersionSQL Significant table-scripting performance boost for large databases Data sensitivity classifications on table columns were not included in scripted output Object names with trailing whitespace could create unnecessarily long file paths; trailing whitespace is now trimmed, since SQL Server ignores it Permission statements could lose their GO batch separator in scripted output Saved credentials that could not be decrypted (for example after a Windows password reset or profile rebuild) would block operations instead of re-prompting Native ARM64 installer for SSMS 22 on Windows on 64-bit ARM devices Minor table scripting performance improvement Assembly version mismatches on SSMS 22.0 – 22.2 could prevent VersionSQL from loading correctly Clear Credentials did not erase the stored OAuth refresh token Dark mode now applies correctly to the VersionSQL flyout menu items in the SSMS context menu Extended properties on non-table objects could sort inconsistently between commits GO batch separators were added to trigger scripts even when the batch separator option was disabled Security policy scripting could fail on SQL Server versions that don't expose sys.security_policies Table scripting could fail on databases with unusually complex dependencies Security object scripting Version control for database users, roles, and schemas with permissions, role memberships, and security policies Redgate SQL Source Control compatibility mode with configurable folder layout and permission placement CREATE OR ALTER scripting Opt-in setting uses CREATE OR ALTER syntax for scripts Supports procedures, views, functions, and triggers Requires SQL Server 2016 SP1 or later "Drop objects not in source" toggle in the Deploy dialog Option to disable OAuth authentication per connection History window shows rename operations in Git repos Deploying from a different branch or revision could reset some connection settings to defaults Deployment script generator could pull non-static data scripts into the static data section Git push could fail with a null ref error when the tracked branch name differed from the remote Indexed view indexes were not scripted when batch scripting was turned off Leading slash or backslash in the Root Directory field caused commits to fail Repository list in the Deploy window could be out of date SSMS 22.3.0 compatibility Gitea and Forgejo OAuth authentication Option to add GO batch terminators to scripts Support for .gitignore files in repository Azure DevOps OAuth javascript errors TFVC support on SSMS 20 and earlier TFVC (Team Foundation Version Control) native support Connect databases to TFVC paths in Azure DevOps or on-premises TFS Full support for VersionSQL commit, history, undo, deployment, etc. workflows SQL Server Management Studio 22 support Note: x64 only, no ARM64 CPU support Full-text search option in History window Connection settings preview for the full script folder path, including server and database segments Trigger scripts include GO batch separators to separate trigger bodies from later statements Progress dialog could hide under the SSMS window after closing the commit message dialog StackOverflowException when dependency resolver resolved a 32-bit DLL in a 64-bit environment Installer corruption issue reported by some users. If you experienced issues installing version 2.4.1, please try again with 2.4.2. VersionSQL top menu would be hidden by an SSMS 21 bug and require the user to manually unhide it Static Data Scripting Right-click a table and select VersionSQL → Link Static Data Configurable scripting format and data directory name More under Connection Settings → Advanced → Static Data Context menu in Commit and History dialogs to copy paths, open script in editor window, etc. Scan for uncommitted changes Search box in History dialog Deployment script header now lists source and destination History dialog script textbox now selects all text when CTRL-A is pressed More database scripting errors now auto-retry Cancelling the deployment revision selection dialog no longer shows an error message Deleted object detection would not succeed when the Root Folder contained a forward slash Internal diff viewer now shows file contents during add and delete operations Scheduled commit settings would reset to every day of the week when opening multiple database connection settings back to back Scheduled commit would skip committing servers if connected using different case than when originally set up Servers would not appear in SSMS 21 drop-down lists if connected to before VersionSQL loaded Settings files would become corrupted if the write process was interrupted Automatic Scheduled Commits Configure once, then let VersionSQL commit unattended on the schedule you choose Runs all eligible databases in parallel for performance Important: SSMS must remain open and connectedSSMS 21 Support Full 64-/32-bit installer, no manual DLL hacks required Important for first-time SSMS 21 users: Microsoft hides extension menus by default. After installation open Extensions ➡ Customize Menu , un-check VersionSQL , click Save and Restart (see docs ).Option to open commit dialog with all objects unchecked Configurable table-scripting batch size for huge databases Commit dialog no longer modal so that SSMS remains usable while you type License-file filter relaxed to *.vkf (no more needing to rename renewal keys) Upgraded core libraries for better performance and compatibility Deployment repository drop-down would occasionally not populate due to a race condition Deploy Changes dialog's Select drop-down was showing revisions from the DB’s branch, not the selected branch Installer would fail on 32-bit Windows Various build/installer edge-cases cleaned up for smoother upgrades Fallback individual table scripting did not report progress Regression bug causing some fallback individual table scripting to fail "Start another commit after this one" option on commit dialog Easily separate changed objects into multiple commits without multiple database scans Diff with database tab on Undo Select Revision screen Quick Undo mode that skips dependency checking for non-tables (enabled by default; disable in settings) Show version control branch and path in commit dialogs History view sorts both the delete and add entries of a move operation to the top of the file list Subversion connections now support TLS 1.3 Table dependency gathering is more tolerant of connectivity and contention issues Azure DevOps 404 responses were treated as authentication failures during OAuth Null reference exceptions were being logged when closing SSMS during a commit Progress dialog contents would sometimes disappear upon resize Progress log would sometimes display aggregate exception instead of the actual error message Trigger script placement was inconsistent if bulk scripting option was disabled UI became unresponsive while scripting a very large number of triggers Was unable to undo to the state of an object directly following the file being moved in the repo Regression bug omitted brackets from object names SSMS 20 support Options for compatibility with SSDT Autodetect SQL Source Control folder structure for easier migration Automatically close connection dialog upon removing connection Updated script header to distinguish between scalar- and table-valued functions Removed shortcut key from VersionSQL top menu to avoid conflict Fallback credential store for cases when the Windows Credential Manager is unavailable ActiveX error when connecting to Azure DevOps via OAuth from onboarding notification SQL Jobs commit operation not detecting deleted jobs Connection settings import & export function For sharing connection settings with the team or between databases Option to place the schema in the file name instead of a separate folder Example: /Table/dbo.MyScript.sql instead of /dbo/Table/MyScript.sql Script indexes for indexed views in view script Per-connection Git author settings Azure DevOps connection setup prompts to enable third-party OAuth if necessary History window commit message summary line displays tabs and newlines Installer resets SkipLoading flag on reinstall Deploy script omitted stored procedure header comments FileNotFoundException during Git commit SQL Server Management Studio 19.0.2 support SQL Server Management Studio 19 preview 4 support Suggest possible solutions when the configured Git branch is not found Exception when deploying from a folder to a database with no other non-Folder connections on the server Failed notifications on pre-2014 versions of Windows Server disrupted VersionSQL's load process Unable to detect SSMS installation in some restricted-permission environments 👉 Read the VersionSQL 2.0 release notes
History of Changes See who made each change, when it was made, and what the old and new scripts were, all without leaving SSMS Undo Script Generation Quickly and easily roll back changes made to the database schema Deployment Script Generation Deploy recent changes from version control to a database or keep multiple environments in sync Dark mode Diff viewer New context menu icons Commit Entire Instance summarizes results Extended error handling Settings to control which operation states auto close Assembly conflict with another add-in Exception when committing a single table while other tables in the repo had extended properties SQL Server Management Studio 19 support SQL Server 2022 support .NET Framework 4.6.2 support. Now requires a minimum of .NET Framework 4.7.2 installed. 👉 Read the VersionSQL 1.9 release notes
Branch Creation and Switching Switch your database to target a different branch Create new branches from existing branches Pick from a list containing all the branches in the repo Git-based repositories only Ability to specify remote branch during initial connection setup, before switching becomes available All scripts now include any extended properties present on the object Experimental option to commit the entire SQL Server instance at once (enable under global advanced settings) Connection setup now understands a wider array of Git URLs Blocks multiple simultaneous commits for the same database to avoid resource conflicts Trial status banner now updates immediately after license activation 👉 Read the VersionSQL 1.8 release notes
SQL Server Agent Job scripting Connect SQL Server Agent to version control Script out jobs to your repository Build an audit trail of job changes Assembly scripting Commit reminder notifications Database trigger (DDL trigger) scripting Diff and merge presets for KDiff3 1.8+ First-time onboarding is now a proper walkthrough rather than a screenshot tour Minimized context menu delay by pre-caching server information on connect Now detects and correctly handles case-only object renames Scripts now terminate with a line ending character Table scripts now include spatial and full-text indexes Commit shows a warning instead of an error if a table is deleted during scripting Contact form now drops out to the browser if an unusable proxy is specified File overwrite bug caused script fragments to remain if the script being committed was shorter than the one already in the repo Ignored objects are now excluded from batch scripting, not just from change detection In rare circumstances, a Git commit could be created with the timestamp of a previous commit Manual update check now shows a descriptive message if the update server is unavailable No longer attempts to push an empty Git commit if an error occurred while building the commit No longer writes to the error log when a diff started from the commit message prompt aborts due to missing configuration "No error message has been provided by the native library" when cloning 👉 Read the VersionSQL 1.7 release notes
Scripting Performance Boost 5x faster scripting (on average) for tables, stored procedures, functions, and views Significantly faster change detection Lower SQL Server and client CPU usage Streamlined commit progress report Advanced blacklist/whitelist (following gitignore spec) Prompt to trust Git server self-signed certificates Settings search (in connection Advanced Options panel) Clustered table indexes now appear first in the table script's list of indexes, rather than mixed in alphabetically Context menu first load time reduced Git commit performance increased for large repos Progress dialog and cancel button responsiveness improved Availability Group detection no longer logs permission errors when users with limited permissions access a non-AG server Errors encountered while loading context menu items now display inline rather than in a dialog MSI silent install no longer opens thank-you page Progress dialog graphical glitches are resolved Windows folder reserved words are now escaped In-app contact form Update toast notifications and update check frequency settings Experimental batch table scripting was excluding some triggers Experimental batch table scripting method with improved performance (enable under advanced options) Trial period begins upon first use of non-free feature rather than upon install GitHub organization access auto-detection and help prompts Subversion folder-mode custom command presets Advanced Connection Settings Change the root script directory name Toggle whether or not to include the server name in the script directory path Create custom commands for cli repository operations, with a few presets Native Subversion file lock and unlock commands Buffer progress log writes to improve responsiveness Commit would abort if denied access to a schema - now displays a warning instead "Directory not found" when the folder-type repository directory contained spaces "git clone" pasted into the repository path was being interpreted as part of the url More responsive commit dialog when committing thousands of objects Friendlier error dialog Show clearer messages during Open and Merge operations if the object doesn't exist in the repository "An item with the same key has already been added" when enumerating cluster nodes "Malformed URL" when pasted URL ended in a space "NonFastForwardException" if another user pushed a change while the commit message window was open Connection form sized incorrectly while displaying a notification Long file name support Settings save errored if access to the global .gitconfig file was denied GitHub OAuth pulls Author information (and will request email address permissions in order to do so) Clear Credentials operation did not clear GitHub OAuth authorization "There is already an open DataReader associated with this Command" when connected to SQL Azure Authentication via OAuth Log in to Azure DevOps, BitBucket.org, GitHub.com, and GitLab.com via a web browser Supports two-factor authentication without the need to manually create access tokens Cloud/SaaS only - 2FA on self-managed servers still requires a personal access token Select All option to quickly check/uncheck all objects in the commit list Prominent visual indicator of commit result Cross-database query error when connecting to SQL Azure Error connecting to SQL Azure with SSMS version 2016 or older Error loading settings dialog on new installations Use Availability Group name in place of server name, if present Server setting read performance improved by 90% on SSMS 2014+ Subversion full-database scripting performance improved by 45% (first-time) to 70% (repeat) Subversion status log detailed messages Cleaned out a bunch of unused code (I know you don't care, but it makes me happy) Diff tool presets for Visual Studio and Visual Studio Code Merge tool preset for Visual Studio Diff and merge temporary files now use the .sql extension Diff and merge tool detection Commit dialog now resizes to fit very small screens Folder-based commit deleted object detection Rare issue causing update check to fail Write to folder + command-line operation Folder repository type writes .sql files directly to the target folder Optionally, enter a command-line operation to execute after the files are saved Preset operations for Mercurial, Team Foundation Server (TFS), etc. Connection Setup corrects more types of incorrect input paths Git commit dialog now auto-closes upon successful commit NotFoundException: reference 'refs/remotes/origin/master' not found Pressing enter on the path input field sometimes selected the Subversion repository type Cancel button operation during Git commit Merge tool presets for Araxis Merge and DiffMerge Scripts with mixed line endings always showed modified Git branch switching (in connection config file) Personal Access Token support Error when saved credentials contained an empty password Git operations would freeze when the temporary files were locked by another process Open Latest and Merge operations Open Latest loads an object's script from version control into a New Query window Merge passes an object's scripts from version control and the database into a merge tool, then opens the result in a New Query window Presets for popular merge tools KDiff3, WinMerge, Beyond Compare, and others. Diff operation shows progress dialog UDT scripting Git commit performance Crash on load if SSMS failed to supply context object Timeout while waiting for user to enter password New windows sometimes opened hidden behind SSMS Diff operation in context menu Disconnect from Version Control function Git branch selection (in connection config file) Synonym and Sequence scripting Database scripting performance Error on non-standard Git default branch name Special characters in object names interfere with Subversion commit SQL Server 2019 support Additional shortcut keys in commit message dialog Subversion checkout performance Git checkout now normalizes line endings Slashes in database name broke object parsing Delete files from repository that no longer exist in database SQL Server Management Studio v18 support Diff tool preset for Meld Diff tool presets for Araxis Merge, Code Compare, DiffMerge, and Meld Unicode support in object names Error if diff tool has been uninstalled NTLM credentials were being used instead of saved credentials Git operations would freeze when the temporary files were locked by another process Diff changes within commit dialog Double-click a modified item to open third-party diff viewer Presets for popular diff tools KDiff3, WinMerge, and Beyond Compare NTLM credential support Commit dialog hotkey support Commit dialog item sorting UI responsiveness during commit Auto update check failed to detect new updates The changelog may end here, but VersionSQL's history stretches all the way back to its first beta release in early 2016.