This release is massive and has a couple breaking changes. All 4000+ (oops, its 4000+ not 6000+. Soon though ;)) tests still pass but all functionality not necessarily tested. Please file an issue if you encounter any problems.
Breaking changes:
- Install-DbaMaintenanceSolution changed -Compress, -Verify, -CheckSum from switches to strings.
- Breaking for SQL 2005 users: Get-DbaHelpIndex now requires SQL Server 2008+.
- Copy-DbaSsisCatalog now emits output objects.
What's Changed
- Set-DbaPrivilege, Get-DbaPrivilege - Add CreateGlobalObjects privilege support by @andreasjordan in #10235
- Get-DbaDbRestoreHistory - Add BackupStartDate, StopAt, and LastRestorePoint columns by @andreasjordan in #10249
- New-DbaDbMailAccount, Set-DbaDbMailAccount - Add Port, SSL, and authentication parameters by @andreasjordan in #10257
- Restore-DbaDatabase, Invoke-DbaAdvancedRestore - Add ErrorBrokerConversations parameter by @andreasjordan in #10253
- Connect-DbaInstance - Set NonPooledConnection on ServerConnection for… by @mbentham in #10260
- Get-DbaCmObject - Apply CimOperationTimeout to all CIM connections by @andreasjordan in #10252
- Import-DbaXESessionTemplate - Add event_file target when TargetFilePath specified but template has none by @andreasjordan in #10250
- Connect-DbaInstance - Trust server certificate for localhost DAC connections by @andreasjordan in #10263
- Restore-DbaDatabase - Add examples for filtering partial backup files by @andreasjordan in #10242
- Read-DbaXEFile, Get-DbaXESessionTargetFile - Document Windows-only admin share requirement and full pipeline usage by @andreasjordan in #10243
- Test-DbaLastBackup - Add -Path parameter to test backups from folder paths by @andreasjordan in #10241
- New-DbaComputerCertificate - Add DocumentEncryptionCert switch for Always Encrypted by @andreasjordan in #10264
- Get-DbaAgDatabase - Add -ExcludeDatabase parameter by @andreasjordan in #10269
- New-DbaDbTable - Handle bracket-quoted names and two-part names by @andreasjordan in #10279
- Save-DbaKbUpdate - Add UseWebRequest switch and BitsTransfer fallback by @andreasjordan in #10278
- Get-DbaWaitStatistic - Add ExcludeWaitType and IncludeWaitType parameters by @andreasjordan in #10276
- Expand-DbaDbLogFile - Add -TargetVlfCount parameter by @andreasjordan in #10272
- Test-DbaLastBackup - Add DbccOutput property with detailed DBCC messages by @andreasjordan in #10239
- Update-DbaInstance - Add early validation for empty -Path parameter by @andreasjordan in #10283
- Get-DbaAgRingBuffer - Add command for HADR ring buffer diagnostics by @andreasjordan in #10282
- Invoke-DbaDbDataMasking - Fix StaticValue empty string fallback and FilterQuery in Actions by @andreasjordan in #10281
- Update-ServiceStatus - Fix WinRM error on machines without WinRM configured by @andreasjordan in #10274
- Add Remove-DbaAgentJobSchedule cmdlet by @andreasjordan in #10273
- Connect-DbaInstance - Add -AuthenticationType parameter for Entra ID support by @andreasjordan in #10271
- Get-DbaDbOrphanUser - Skip SQL login orphan check for contained databases by @andreasjordan in #10270
- Test-DbaAgPolicyState - Add new command for Always On policy state checks by @andreasjordan in #10246
- Install-DbaMaintenanceSolution: change Compress/Verify/CheckSum to ValidateSet string params by @andreasjordan in #10247
- Get-DbaDbMailAccount, Get-DbaDbMailProfile - Add Account-Profile link details by @andreasjordan in #10280
- Invoke-DbaDbShrink - Add error message output for failed shrink operations by @andreasjordan in #10258
- Export-DbaUser - Add schema ownership to exported scripts by @andreasjordan in #10275
- Test-DbaPath - Handle xp_fileexist execution failures gracefully by @andreasjordan in #10288
- Invoke-DbaCycleErrorLog - Fix example command names by @andreasjordan in #10290
- Update-SqlPermission - Remove unnecessary SqlConnectionObject.Close() calls by @andreasjordan in #10291
- Restore-DbaDatabase - Add -StopAtLsn parameter for LSN-based restore by @andreasjordan in #10245
- New-DbaFirewallRule - Fix binary path extraction and remove dead code by @andreasjordan in #10294
- Add ReleaseDate for SQL Server 2017, 2019, 2022 and 2025 releases to dbatools-buildref-index.json / Show ReleaseDate in Get-DbaBuild and Test-DbaBuild / Add -MaxTimeBehind to Test-DbaBuild by @andreasjordan in #10277
- Export-DbaCredential - Add IF NOT EXISTS guard to exported SQL scripts by @andreasjordan in #10295
- Compare-DbaDbSchema - Add new command for schema comparison via sqlpackage by @andreasjordan in #10299
- Get-DbaNetworkEncryption - Add command to retrieve TLS certificate from SQL Server network by @andreasjordan in #10293
- Add manual instance autocomplete list (Add/Get/Remove-DbaInstanceList) by @andreasjordan in #10300
- Invoke-DbaDbShrink - Add WAIT_AT_LOW_PRIORITY support by @andreasjordan in #10307
- Copy-DbaLogin - Add -ExcludeDatabaseMapping to sync only server permissions by @andreasjordan in #10305
- Get-DbaHelpIndex - Fix SQL injection and remove SQL 2005 code path by @andreasjordan in #10302
- Install-DbaMaintenanceSolution - Fix AutoScheduleJobs schedule bugs by @andreasjordan in #10303
- Copy-DbaAgentJob - Add AD group membership check for job owner login validation by @andreasjordan in #10297
- Invoke-DbaBalanceDataFiles - Add -TargetFileGroup parameter by @andreasjordan in #10296
- ConvertTo-DbaTimeline - Add support for Find-DbaDbGrowthEvent input by @andreasjordan in #10304
- Refactor Set-DbaNetworkCertificate by @andreasjordan in #10232
- Set-DbaDbCompression, Invoke-DbaBalanceDataFiles, Invoke-DbaDbPiiScan - Normalize table names via Get-ObjectNameParts by @andreasjordan in #10312
- Invoke-TlsWebRequest - Auto-detect system proxy by @andreasjordan in #10310
- New-DbaDatabase - Support Azure Blob Storage paths for data and log files by @andreasjordan in #10315
- Test-DbaDbCompression, Get-DbaDbPageInfo - Normalize table names via Get-ObjectNameParts by @andreasjordan in #10313
- Export-DbaCsv, Export-DbaDacPackage - Normalize table/schema names via Get-ObjectNameParts by @andreasjordan in #10314
- Remove-DbaDbTableData - Normalize table name via Get-ObjectNameParts by @andreasjordan in #10316
- Fix AppVeyor dbatools.library cache miss by installing to AllUsers scope by @andreasjordan in #10335
- Fix test for Invoke-DbaAdvancedUpdate by @andreasjordan in #10334
- Fix test for Test-DbaSpn by suppressing the warning on AppVeyor by @andreasjordan in #10331
- Refactor test for Stop-Function by @andreasjordan in #10332
- Test-DbaBuild: Fix bug introduced in last change by @andreasjordan in #10328
- Test-DbaLinkedServerConnection - Fix test failure when Named Pipes is disabled by @andreasjordan in #10326
- Get-DbaWaitStatistic - Fix bug from recent refactoring by @andreasjordan in #10323
- Find-DbaInstance - Fix TcpConnected false for default instances by @andreasjordan in #10327
- Get-DbaPermission - Fix Azure SQL DB compatibility by @andreasjordan in #10320
- Get-DbaDbIdentity, Set-DbaDbIdentity, Invoke-DbaDbDbccUpdateUsage - Normalize table names via Get-ObjectNameParts by @andreasjordan in #10318
- Copy-DbaDbTableData - Add -ScriptingOptionsObject parameter by @andreasjordan in #10317
- Backup-DbaDbCertificate: Don't use decryption password if certificate is encrypted by the database master key by @andreasjordan in #10329
- Find-DbaObject - Add unified command to search database objects by name by @andreasjordan in #10321
- Add Compare-DbaLogin command by @andreasjordan in #10319
- Copy-DbaSsisCatalog - Add standard MigrationObject output, integrate with Start-DbaMigration by @andreasjordan in #10311
- Get-DbaService - Add PowerBI Report Server detection by @andreasjordan in #10298
- Get-DbaBackupInformation - Fix inconsistencies with Get-DbaDbBackupHistory by @andreasjordan in #10308
- Import-DbaCsv, Export-DbaCsv - Normalize table/schema names via Get-ObjectNameParts by @andreasjordan in #10306
- Security updates for SQL 2022, 2019, 2017, 2016 - April 14, 2026 by @MikeyBronowski in #10345
- Export-DbaUser - Use server version instead of db compat level for scripting by @andreasjordan in #10344
- Install-DbaWhoIsActive - Select version-appropriate SQL file based on server version by @andreasjordan in #10341
- SQL Server 2025 CU4 by @MikeyBronowski in #10348
- Various bug fixes and hooks by @potatoqualitee in #10346
Full Changelog: v2.7.27...v2.8.0