Releases: dataplat/dbatools
v2.7.1
What's Changed
- Add-DbaAgDatabase: Fix spelling - use JoinAvailablityGroup with the typo as this is what the SMO uses by @andreasjordan in #9793
- Copy-DbaSystemDbUserObject - fix typo by @potatoqualitee in #9794
Full Changelog: v2.7.0...v2.7.1
v2.7.0
Named 2.7.0 due to breaking changes in DAC and XESmartTarget
The Windows/Linux/Mac SqlPackages have been removed. The size of dbatools.library grew too large (like 700mb!) because previously, I used to spend ours figuring out dependencies and this delayed library releases. Now I just include everything which is what packages usually do anyway, including SqlServer.
Export-DbaPackage relies on sqlpackage and that used to be included but it added like 500MB to the library, so now you have to install it with Install-DbaSqlPackage
when you need it. Works on Windows, Mac and Linux.
I also had to remove XESmartTarget commands because the the packaging changed and I didn't have time to address it. If anyone is interested in making dbatools.xesmarttarget, we're happy to host it on the dataplat org.
What's Changed
- Refactor Get-TestConfig for safety and better readability by @andreasjordan in #9751
- Ignore docs and config changes in CI workflows by @potatoqualitee in #9752
- More tests in the new pester 5 design by @andreasjordan in #9753
- Restructure AI Automation & Pester v5 Test Migration Config by @potatoqualitee in #9754
- Availability is misspelled by @jeffw66 in #9757
- Test which tests still fail by @andreasjordan in #9765
- Fixes for a lot of tests that outputed unwanted warnings by @andreasjordan in #9764
- Refactor and enhance Pester tests batch by @potatoqualitee in #9762
- Cleanup AppVeyor configuration scripts by @andreasjordan in #9766
- Refactor and enhance Pester tests batch by @potatoqualitee in #9760
- August 2025 SQL Server GDR releases by @rwestMSFT in #9774
- Standardization of BeforeAll/AfterAll in tests by @potatoqualitee in #9781
- Move SqlPackage & XESmartTarget from bundled to installer-based dependencies by @potatoqualitee in #9776
- Fix tests that needed extra care after migration to pester 5 by @andreasjordan in #9780
- Remove XESmartTarget Commands and Fix DAC by @potatoqualitee in #9783
- Formatting tests by @andreasjordan in #9784
- Remove redundant global variable by @potatoqualitee in #9785
- More fixes for pester 5 tests focusing on parameter tests by @andreasjordan in #9787
- Save-DbaDiagnosticQueryScript - fix downloader and update files by @potatoqualitee in #9788
New Contributors
Full Changelog: v2.5.5...v2.7.0
v2.5.5
This release makes a major change to the digital signing by switching from DigiCert to Azure Trusted Signing. Read https://blog.netnerds.net/2025/08/dbatools-azure-trusted-signing/ for more.
What's Changed
- DbaDeprecatedFeature - Refactor Get- and remove Test- by @andreasjordan in #9719
- Read-DbaAuditFile / Read-DbaXEFile / Watch-DbaXESession - Refactoring and bugfixing by @andreasjordan in #9720
- Invoke-DbaDbDataGenerator - Add workaround for DateTimeReference by @andreasjordan in #9716
- Add SecureString support for AccessToken in Connect-DbaInstance by @potatoqualitee in #9722
- New-DbaConnectionString - Fix issues with parameter EncryptConnection by @andreasjordan in #9724
- Update macOS tests to work more reliably by @potatoqualitee in #9725
- Test-DbaAvailabilityGroup - Fix bug in error message by @andreasjordan in #9726
- Skip PR builds if push build exists in AppVeyor by @potatoqualitee in #9734
- constants.local.ps1.example - Fix example for defaults for $PSDefaultParameterValues by @andreasjordan in #9730
- Get-TestConfig - Added configuration for temp folder by @andreasjordan in #9728
- Get-TestConfig - Cleanup code by @andreasjordan in #9727
- Refactor the Endpoint related tests by @andreasjordan in #9732
- Get-DbaDbBackupHistory - Change warning to verbose for recovery fork message by @potatoqualitee in #9736
- Refactor the Credential related tests by @andreasjordan in #9737
- Added IsCdCEnabled to Get-DbaDatabase by @ReeceGoding in #9670
- Add Get-Runspace compatibility function for PS v3/v4 by @potatoqualitee in #9731
- Refactor some tests by @andreasjordan in #9738
- A pester 5 test as a blueprint by @andreasjordan in #9729
- Invoke-ManualPester - Fix some issues by @andreasjordan in #9739
- Fix SSIS Connection Logic by @potatoqualitee in #9743
- Rewrite test for Backup-DbaDatabase for pester 5 by @andreasjordan in #9744
- Small fixes for a lot of tests by @andreasjordan in #9746
- Fix test for Copy-DbaDbMail by @andreasjordan in #9745
- Another round of fixes for tests by @andreasjordan in #9747
Shoutout to @andreasjordan for all the PRs and fixes!
Full Changelog: v2.5.1...v2.5.5
v2.5.1
What's Changed
- Fix some tests by @andreasjordan in #9709
- Export-DbaLogin - add 2022 support by @jpomfret in #9569
- New-DbaLogin - Fix bug in PasswordMustChange by @andreasjordan in #9713
- Copy-DbaDatabase - Fix enabling broker on prefixed databases by @andreasjordan in #9714
- Update PS Requirement, CI Workflows, and Docs by @potatoqualitee in #9715
Updated dbatools.library to to handle some edge-case loading.
Full Changelog: v2.5.0...v2.5.1
v2.5.0 - Major library updates
Overview
This release updates dbatools to use the new dbatools.library v2025.7.19 and includes significant improvements to CI/CD workflows and assembly management which will make quickly addressing library dependency vulnerabilities a whole lot easier.
This release should resolve a lot of the issues we have all run into with connecting to SQL Server 2022. Newer (but not too newer) .NET versions are now required. The dbatools.library will now be pretty big because I'm including complete packages (like dac) for each OS, without trimming it. The previous trims I did kept the library small but it also kept me from releasing library updates as regularly as I'd like because it made everything hard. So, we're now at about 250mb for all the assemblies from Microsoft that we need to cover as many platforms as possible.
Thanks a hell of a lot to @niphlod who helped get this version update in motion.
Major Changes
📚 Library Update
- Updated dbatools.library dependency to v2025.7.19
- Added centralized version management via
.github/dbatools-library-version.json
- Implemented dynamic library installation script for both stable and preview versions
🔒 Security Improvements
By updating to dbatools.library v2025.7.19, this PR addresses significant security vulnerabilities:
Critical Vulnerabilities Resolved
- CVE-2017-0160 (CVSS 10.0): .NET Framework remote code execution
- CVE-2018-8284 (CVSS 9.8): .NET Framework remote code execution
- CVE-2019-0613: .NET Framework XML parsing remote code execution
- CVE-2020-0646: .NET Framework input validation remote code execution
- CVE-2024-35264: Kestrel HTTP/3 data corruption remote code execution
- CVE-2024-30045: .NET Double Parse buffer overrun remote code execution
High Severity Vulnerabilities Resolved
- CVE-2024-0056 (CVSS 8.7): SQL client information disclosure via AiTM attacks
- CVE-2023-28260 (CVSS 7.8): .NET DLL hijacking vulnerability
- CVE-2023-36049: .NET FTP command injection elevation of privilege
- CVE-2024-38229: HTTP/3 use-after-free remote code execution
- CVE-2023-44487: HTTP/2 "Rapid Reset" denial of service
- CVE-2024-43485: System.Text.Json algorithmic complexity DoS
Medium Severity Vulnerabilities Resolved
- CVE-2023-36013 (CVSS 6.5): PowerShell Web cmdlets information disclosure
- CVE-2024-0057: X.509 certificate validation bypass
- CVE-2023-36558: Blazor server form validation bypass
- CVE-2024-21319: JWT authentication memory exhaustion
- CVE-2024-21386: SignalR server denial of service
- CVE-2024-38095: ASN.1 parsing excessive CPU consumption
Security Enhancements
- Assembly loading improvements prevent DLL hijacking attacks
- SQL connections now use encrypted connections by default (via DacFx)
- Enhanced credential management with Azure token support
- Improved certificate validation logic
- Removed hardcoded paths that could be exploited
Security Impact: This update resolves 30+ CVEs across all dependencies, including 6 Critical, 12 High, and 12+ Medium severity vulnerabilities.
🔄 CI/CD Improvements
- Centralized Library Version Management: All workflows now read from
dbatools-library-version.json
- Preview Version Support: CI can now handle preview versions of dbatools.library
- Dynamic Installation: New
install-dbatools-library.ps1
script handles version detection and installation - Improved Test Scripts: Moved test scripts to
.github/scripts/
for better organization
🏗️ Assembly & Platform Updates
- Updated sqlpackage paths to use new dac folder structure:
- Windows:
lib/dac/windows/sqlpackage.exe
- Linux:
lib/dac/linux/sqlpackage
- macOS:
lib/dac/mac/sqlpackage
- Windows:
- Enhanced
Get-DbaManagementObject
to better handle:- Loaded assemblies detection
- SNI module tracking
- Cross-platform assembly resolution
- Added support for SQL Server 2025 instance detection
🔧 Export-DbaDacPackage Improvements
- Updated sqlpackage path resolution for new directory structure
- Better cross-platform path handling
- Distinction between Core and Desktop paths on Windows
📋 Version Management Documentation
Added comprehensive version management guide (.github/DBATOOLS_LIBRARY_VERSION_MANAGEMENT.md
) covering:
- Version update procedures
- Testing requirements
- Rollback procedures
- CI/CD pipeline usage
🧪 Testing Enhancements
- Added SQL Server engine installation to Windows tests (not just LocalDB)
- Improved credential handling for SQL Server connections
- Better error messages for assembly loading issues
- Enhanced copyright compliance in web search functionality
Non-Breaking Changes
- All changes maintain backwards compatibility
- Existing scripts and modules will continue to work
- Version management is transparent to end users
Testing Checklist
- Verified module imports successfully on Windows PowerShell 5.1
- Verified module imports successfully on PowerShell 7.4+
- Integration tests pass on all platforms
- Gallery installation tests pass
- Replication tests pass (when fixed)
- Assembly loading diagnostics show correct versions
Related PRs
- Requires dbatools.library PR dataplat/dbatools.library#18
Notes
- Some replication tests are currently disabled pending fixes
- The library version can be updated by modifying
.github/dbatools-library-version.json
v2.1.32
What's Changed
- Update dbatools-buildref-index.json SQL 2022 CU19 by @MikeyBronowski in #9676
- Export-DbaDbTableData, changed examples to make them usable by @niphlod in #9677
- Get-DbatoolsChangelog, direct to the "correct" page by @niphlod in #9678
- New-DbaDbSnapshot: Add Basic Availability Group Support by @ReeceGoding in #9632
- support lower-than-2012 instances (using RAISERROR instead of THROW) by @niphlod in #9659
- Get-DbaAgDatabase: Fix example by @andreasjordan in #9683
- Invoke-DbaDbDataMasking - fix up decimal & bit support by @AdamJKoehler in #9664
- Set-DbaAgentJobOutputFile: Made it more clear that the Job and Step parameters expect names. by @ReeceGoding in #9675
- Enable-DbaReplPublishing, fix example by @niphlod in #9660
- Connect-DbaInstance / Invoke-DbaQuery - Open a correct new connection when ConnectAsUserName is used and fix usage of AppendConnectionString by @andreasjordan in #9680
- Added table schema to Get-DbaDbForeignKey by @pollusb in #9685
- July 2025 GDR by @rwestMSFT in #9703
- 2022 CU 20 by @rwestMSFT in #9705
- Remove-DbaDbOrphanUser, avoid readonly dbs by @potatoqualitee in #9704
- Remove-DbaDatabaseSafely and Remove-DbaDatabase: added "Name" as an alias for "Database" by @ReeceGoding in #9698
Full Changelog: v2.1.31...v2.1.32
v2.1.31
What's Changed
- New-DbaConnectionStringBuilder, param reorganization by @niphlod in #9613
- Update dbatools-buildref-index.json SQL 2017 Azure Connect Pack by @MikeyBronowski in #9620
- Update dbatools-buildref-index.json SQL 2022 CU18 by @MikeyBronowski in #9625
- Set-DbaAgentOperator, better docs by @niphlod in #9617
- New/Remove-DbaAgentOperator, better docs by @niphlod in #9621
- New-DbaDbMaskingConfig, handle numeric by @niphlod in #9622
- Get-DbaDbUser, faster enumeration when targeting single db by @niphlod in #9623
- Start-DbccCheck, better extraction of errors by @niphlod in #9624
- New-DbaDbMaskingConfig, account for lots of tables by @niphlod in #9642
- buildref, "touch" LastUpdated even if no new CU have been shipped by @niphlod in #9661
- Install-DbaDarlingData: Added new stored procedures, documented abbreviations, and gave every procedure an abbreviation by @ReeceGoding in #9652
- Set-DbaAgentJobOutputFile: also report the current output file name by @ReeceGoding in #9646
Full Changelog: v2.1.30...v2.1.31
v2.1.30
What's Changed
- Update dbatools-buildref-index.json SQL 2019 CU32 by @MikeyBronowski in #9611
- Set-DbaDbQueryStoreOption, use correct postfix for STALE_CAPTURE_POLI… by @niphlod in #9605
- Get-DbaBackupHistory, better docs for Since parameter by @niphlod in #9604
- Set-DbaResourceGovernor - Pass Credentials to Get-DbaDbUdf by @darrenmaginnis in #9609
New Contributors
- @darrenmaginnis made their first contribution in #9609
Full Changelog: v2.1.29...v2.1.30
v2.1.29
What's Changed
- Update dbatools-buildref-index.json SQL2019 CU30 by @MikeyBronowski in #9560
- Update-DbaInstance, fix documentation by @niphlod in #9559
- Get-DbaExternalProcess - Test failing by @jpomfret in #9571
- Install-DbaMaintenanceSolution - don't drop tables if not readding by @jpomfret in #9570
- Update dbatools-buildref-index.json by @rwestMSFT in #9577
- BuildRef, add 2019CU31 by @niphlod in #9587
- Test-DbaWindowsLogin, add property for mismatch on samaccountname by @niphlod in #9589
- Set-DbaLogin, report correct name for -WhatIf by @niphlod in #9582
- Find-DbaAgentJob, work with multiple wildcards by @niphlod in #9583
- New-DbaSqlParameter, check bound parameters correctly by @niphlod in #9584
- Backup-DbaDbMasterKey, add FileBaseName by @niphlod in #9599
- Backup-DbaServiceMasterKey, add FileBaseName parameter by @niphlod in #9598
- Backup-DbaDbCertificate, new FileBaseName parameter by @niphlod in #9597
- Invoke-DbaDbShrink, accept pipelined databases by @niphlod in #9596
- Get-DbaNetworkCertificate, propagate credentials by @niphlod in #9595
- Enable/Disable-DbaTraceFlag, support -WhatIf by @niphlod in #9588
- Connect-DbaInstance, honor -Database parameter by @niphlod in #9585
- Invoke-DbaQuery, re-wire connection with integrated as another user by @niphlod in #9592
Full Changelog: v2.1.28...v2.1.29
v2.1.28
What's Changed
- Security updates for SQL 2022, 2019, 2017, 2016 by @MikeyBronowski in #9547
- SQL Server 2022 CU 16 by @rwestMSFT in #9551
- Include new version of SQL Server Maintenance Solution by Ola Hallengren by @andreasjordan in #9550
- Fix for installation of SQL Server Maintenance Solution by Ola Hallengren: Changed name of branch from master to main by @andreasjordan in #9549
Full Changelog: v2.1.27...v2.1.28