Releases: dataplat/dbatools
v2.7.12
What's Changed
- Import-DbaCsv - Move library to Dataplat.Dbatools.Csv 😍 + Export-DbaCsv by @potatoqualitee in #10005
All new Csv library! Coming soon to nuget.
Full Changelog: v2.7.10...v2.7.12
v2.7.10
v2.7.9 had a library version error and has been delisted, on to v2.7.10!
What's Changed
- Export-DbaDacPackage - Add thread-safe database enumeration and SQL Server version check by @potatoqualitee in #9981
- Copy-DbaAgentJob - Fix regression where -Job parameter prevents copying all jobs by @potatoqualitee in #9983
- Set-DbaAgReplica - Fix silent failure with simple ReadOnlyRoutingList arrays by @potatoqualitee in #9988
- Get-DbaAgentSchedule - Fix SMO cache refresh issue by @potatoqualitee in #9989
- Copy-DbaLogin - Add safety check to prevent self-lockout when dropping Windows groups by @potatoqualitee in #9948
- New-DbaAvailabilityGroup - Warn when ConnectionModeInSecondaryRole is used on Standard Edition by @potatoqualitee in #9991
- New-DbaDbTable - Fix IsNode and other switch parameters being ignored by @potatoqualitee in #9990
- Compare-DbaAgReplica* commands - Remove invalid EnableException parameter by @potatoqualitee in #9994
- Install-DbaInstance - Add SQL Server 2025 support by @potatoqualitee in #9995
- SQL 2025 SupportedUntil 2036-01-06 by @MikeyBronowski in #9998
- Get-DbaDatabase - Add T-SQL fallback for Size/SizeMB property by @potatoqualitee in #9996
- Service commands - Fix credential passing through Update-ServiceStatus by @potatoqualitee in #9997
- Get-DbaDatabase - Fix Azure SQL Database sys.master_files error by @potatoqualitee in #10001
Full Changelog: v2.7.8...v2.7.10
v2.7.8
What's Changed
- SQL Server 2022 CU22 by @MikeyBronowski in #9975
- Adds SQL 2025 GA by @MikeyBronowski in #9978
Full Changelog: v2.7.7...v2.7.8
Thanks to super-star @MikeyBronowski for this one! 🤩
v2.7.7
Thank you to our 4 new contributors + claude 🤖 This is a big one which includes updates to dbatools.library. Also, check out the updated website at https://dbatools.io.
New Commands Added
- Add-DbaDbFile - Create new command to add files to database filegroups
- Compare-DbaAgReplicaAgentJob - Compare Agent Jobs between Availability Group replicas
- Compare-DbaAgReplicaCredential - Compare Credentials between Availability Group replicas
- Compare-DbaAgReplicaLogin - Compare Logins between Availability Group replicas
- Compare-DbaAgReplicaOperator - Compare Operators between Availability Group replicas
- Compare-DbaAvailabilityGroup - Compare Availability Group configurations
- Copy-DbaExtendedStoredProcedure - Copy Extended Stored Procedures between SQL Server instances
- Copy-DbaServerRole - Copy Server Roles between SQL Server instances
- Get-DbaAgDatabaseReplicaState - Get the replica state of databases in Availability Groups
- Sync-DbaLoginPassword - Synchronize login passwords between SQL Server instances
Renamed Commands
- Invoke-DbaAzSqlDbTip → Invoke-DbaDbAzSqlTip (renamed for consistency)
What Else's Changed
- Fix Get-DbaSchemaChangeHistory when no trace file exists by @SylvainDuran in #9852
- Test-DBALsnChain - Fix NullArray exception by @Philippe-Eversa in #9856
- Add server name to removal message in Remove-DbaDbUser for WhatIf clarity by @SylvainDuran in #9858
- Correct retrieval of server name in Remove-DbaCredential by @SylvainDuran in #9860
- Fix Set-DbaAgentJobStep: Add proxy removal support and prevent unwanted parameter resets by @SylvainDuran in #9861
- Fix Remove-DbaAgentJob to continue processing when jobs don't exist by @SylvainDuran in #9863
- Add Claude Code GitHub Workflow by @potatoqualitee in #9868
- Add secure credential storage guidance to readme by @potatoqualitee in #9872
- Copy-DbaDbTableData - Add documentation for temporal tables by @potatoqualitee in #9869
- Write-Progress - Add Completed and fix in multiple commands by @potatoqualitee in #9870
- New-DbaDbSnapshot - Add .Refresh() calls to fix AG secondary snapshots by @potatoqualitee in #9875
- Test-DbaLastBackup - Add Checksum parameter support by @potatoqualitee in #9874
- Restore-DbaDatabase - Fix ReplaceDbNameInFile to only replace filename, not directory path by @potatoqualitee in #9873
- Add-DbaAgDatabase - Add NoWait parameter to skip seeding wait by @potatoqualitee in #9878
- Sync-DbaAvailabilityGroup - Fix null reference errors when syncing empty Agent objects by @potatoqualitee in #9877
- Test Suite Runner - Add auto test selection based on changed files by @niphlod in #9882
- Copy-DbaDatabase - Fix SetSourceOffline to only run on successful copy by @potatoqualitee in #9880
- Stop-DbaService, Start-DbaService - Add PolyBase and Launchpad service type support by @potatoqualitee in #9879
- Invoke-DbaDbPiiScan - Fix TEXT, NTEXT, XML column handling by @peterkruis in #9890
- Update-DbaInstance - Fix NoPendingRenameCheck parameter not being passed to Test-PendingReboot by @niphlod in #9893
- Update Claude Code GitHub Workflow by @potatoqualitee in #9894
- Rename-DbaDatabase - Fix ReplaceBefore parameter error with empty strings by @potatoqualitee in #9888
- Enable-DbaAgHadr - Improve error message to show actual failure reason by @potatoqualitee in #9887
- Import-DbaCsv - Add support for custom delimiters by @potatoqualitee in #9884
- Compare-DbaAvailabilityGroup - Add commands to compare AG replica configurations by @potatoqualitee in #9886
- Remove-DbaReplArticle - Add replication library loading to fix Article type error by @potatoqualitee in #9892
- cut down appveyor's env matrix since we're now running serially by @potatoqualitee in #9896
- Publish-DbaDacPackage - Restore DacFxPath parameter functionality by @potatoqualitee in #9899
- Copy-DbaLogin - Protect BUILTIN\Administrators on SQL Server on Linux by @potatoqualitee in #9901
- Get-DbaDatabase - Add Pattern parameter for wildcard database filtering by @potatoqualitee in #9897
- Restore-DbaDbSnapshot - Add retry logic for deadlock errors by @potatoqualitee in #9900
- Invoke-DbaDbAzSqlTip - Rename function to match manifest exports by @jpomfret in #9903
- Get-DbaSchemaChangeHistory - Fix incorrect object type for indexes by @potatoqualitee in #9906
- Get-DbaCmObject - Add configurable CIM operation timeout by @potatoqualitee in #9905
- import.ps1 - Remove AlwaysBuildLibrary configuration by @potatoqualitee in #9907
- Connect-DbaInstance - Exclude ActiveConnections for SQL Server 2022+ to fix performance issue by @potatoqualitee in #9908
- Invoke-DbaAdvancedInstall - Add /q switch for Server Core compatibility by @potatoqualitee in #9898
- Add command Get-DbaAgDatabaseReplicaState as a first step for AG monitoring and health check by @andreasjordan in #9910
- Format-DbaBackupInformation - Fix cross-platform path handling for Windows to Linux restores by @potatoqualitee in #9913
- *-DbaDbTable - Add parameter aliases to standardize table name parameter by @potatoqualitee in #9912
- Get-DbaMemoryCondition - Remove outdated Microsoft KB URL reference by @potatoqualitee in #9914
- skip claude-issue* branches by @niphlod in #9920
- Export-DbaSysDbUserObject - Fix ScriptingOptionsObject parameter being ignored by @potatoqualitee in #9918
- Copy-DbaLinkedServer - Add DAC connection to prevent multiple DAC connection attempts by @andreasjordan in #9921
- Get-DbaNetworkCertificate - Fix warning parameter forwarding by @potatoqualitee in #9922
- Update-DbaInstance - Add UseSSL and Port parameters with configuration defaults by @potatoqualitee in #9923
- Copy-DbaDbTableData - Add support for ignoring computed columns by @potatoqualitee in #9915
- Add-DbaComputerCertificate - Add support for importing full certificate chain by @potatoqualitee in #9924
- Start-DbaDbEncryption, Stop-DbaDbEncryption - Add -Parallel switch for async execution by @potatoqualitee in #9916
- Remove-DbaDbUser - Fix Azure SQL Database compatibility by @potatoqualitee in #9933
- New-DbaAgent* - Add enhanced error handling for contained AG listeners by @potatoqualitee in #9925
- Copy-DbaDbTableData - Fix data ordering issue when copying tables without explicit ORDER BY by @potatoqualitee in #9927
- Add-DbaComputerCertificate, Start/Stop-DbaDbEncryption - Fix PFX certificate chain import and improve parallel encryption handling by @potatoqualitee in #9936
- Complete Pester 5 migration - Migrate final 4 meta-tests and fix duplicate test execution by @potatoqualitee in #9937
- New-DbaDbTransfer - Infer SSL/TLS settings from source connection by @potatoqualitee in #9930
- Get-DbaAgentJob, Remove-DbaAgentJob - Add validation for null/empty Job parameter by @potatoqualitee in #9931
- Get-DbaAgentJob - Optimize Database filter with hashtable lookup by @potatoqualitee in #9932
- Invoke-DbaDiagnosticQuery - Fix Azure SQL DB query execution with limited permissions by @potatoqualitee in #9917
- Copy-DbaDbMail - Fix InvalidCastException by explicitly casting SMO name properties to string by @potatoqualitee in #9926
- Sync-DbaLoginPassword - Add command to sync passwords using hashed values by @potatoqualitee in #9883
- Install-DbaMaintenanceSolution - Add backup parameters (ChangeBackupType, Compress, CopyOnly, Verify, CheckSum, ModificationLevel) by @potatoqualitee in #9939
- Tests - Filter and fix by @p...
v2.7.6
What's Changed
- Update CI skip rules and buildref index by @potatoqualitee in #9848
- New-/Get-/Remove-DbaFirewallRule: New rule for database mirroring or Availability Groups by @andreasjordan in #9846
- New-DbaAgentSchedule: Add new parameter FrequencyText by @andreasjordan in #9847
Full Changelog: v2.7.5...v2.7.6
v2.7.5
What's Changed
- gdr for november by @niphlod in #9837
- SQL Server 2022 CU 21 by @rwestMSFT in #9839
Full Changelog: v2.7.3...v2.7.5
v2.7.3
What's Changed
- More fixes to stabilize the pester 5 tests by @andreasjordan in #9813
- Some pester improvements by @andreasjordan in #9819
- Invoke-DbatoolsRenameHelper - fix command and tests by @andreasjordan in #9822
- Invoke-DbaDbDecryptObject - Support trust server certificate by using Connect-DbaInstance by @andreasjordan in #9826
- Set-FileSystemSetting - Move from WMI to CIM to support pwsh by @andreasjordan in #9820
- Enhance tests by @andreasjordan in #9825
- Added db.Refresh() to Test-DbaAvailabilityGroup by @ReeceGoding in #9812
- Refactor Filestream related tests by @andreasjordan in #9828
- Copy-DbaDbAssembly - refactor test by @andreasjordan in #9827
- Expand-DbaDbLogFile - Fix command and test by @andreasjordan in #9830
- Fix test for Copy-DbaDatabase by @andreasjordan in #9829
- Remove duplicate 'PSAvoidUsingWriteHost' rule from analyzer by @slang25 in #9834
- Copy-DbaDbCertificate - Fix command and test by @andreasjordan in #9831
- September 2025 GDR by @rwestMSFT in #9836
- Fix and enable some more tests by @andreasjordan in #9832
New Contributors
Full Changelog: v2.7.2...v2.7.3
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