You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Major update to v2025.7.19 - .NET 8 migration, improved assembly loading, and cross-platform enhancements (#18)
* Update .gitignore with new exclusions
Removed docker-compose.yml from ignored files and added exclusions for OLDLIB, .devcontainer/.env, dbatools.library.zip, /artifacts, and .roo/mcp.json to better manage project artifacts and environment files.
* Add devcontainer setup and AI
Introduces .devcontainer configuration for development environments, including Dockerfile, docker-compose, environment example, PowerShell setup scripts, and workspace settings. Adds project metadata files such as .mcp.json, .claude/settings.local.json, .vscode.code-workspace, and CLAUDE.md for guidance and context. These changes enable standardized development, testing, and module management workflows.
* Add preview release workflow and update build process
Introduces a new build-release.yml workflow for building and publishing preview releases, including multi-platform build, artifact upload, and release creation. Updates build.yml to improve build steps, artifact handling, and verification, and switches to workflow_dispatch trigger for manual builds.
* Refactor build scripts and add MSI install helper
Replaces build-core.ps1, build-full.ps1, and build-local.ps1 with a unified build.ps1 script that centralizes build logic, artifact management, and dependency handling. Adds Wait-MsiInstall.ps1 to provide robust MSI installation waiting and error handling. This refactor streamlines the build process, improves maintainability, and ensures safer MSI package operations.
* Update target frameworks and add publish profile
Upgraded test project to target net472 and net8.0, updated global.json to use .NET SDK 8.0.*, and added a folder publish profile for dbatools. These changes modernize the project and enable publishing to a local folder.
* Add DbaRenewableToken wrapper class
Introduces DbaRenewableToken, a thin wrapper around IRenewableToken to facilitate token usage in Connect-DbaInstance. Supports construction from various token sources including SqlAuthenticationToken and PSObject.
* Update target frameworks and package dependencies
Upgraded target frameworks from net462/net6.0 to net472/net8.0. Updated and replaced several NuGet package references to newer versions, added Microsoft.AnalysisServices and System.Runtime.CompilerServices.Unsafe, and removed obsolete configuration blocks for ps3/ps4. Adjusted output paths and language version settings for improved compatibility and build output.
* Update project configuration and dependencies (Claude minimal changes)
Moved OutputPath, DocumentationFile, and LangVersion properties into configuration-specific PropertyGroups. Added new PropertyGroups for 'ps3' and 'ps4' configurations. Replaced System.Runtime.CompilerServices.Unsafe with System.Threading.Tasks.Dataflow in package references.
* Update SQL Server and AnalysisServices DLLs
Added new SQL Server related DLLs and updated several existing ones. Removed multiple Microsoft.AnalysisServices DLLs from both core and desktop directories, possibly reflecting a change in dependencies or supported features.
* Simplify SqlClient and LumenWorks import logic
Removed platform-specific win-sqlclient handling and macOS logic, as SqlClient is now directly in the lib folder. LumenWorks import is now explicit and not included in the names array. Updated Bogus import to use correct casing.
* Update default dbatools branch in build workflow
Changed the default branch for dbatools downloads from 'newver' to 'newestver' in the build-release GitHub Actions workflow.
* Azure.Core - Update assembly list for PowerShell editions
Reordered and added missing assemblies to the $names array for both Core and non-Core PowerShell editions. Ensures consistent loading of Azure and identity-related assemblies, and corrects duplication and ordering issues.
* Add Azure.Core and Azure.Identity to assembly list
Included 'Azure.Core' and 'Azure.Identity' in the list of assemblies for loading when not running on PowerShell Core. This may be required for new Azure-related functionality or dependencies.
* Bump module version to 2025.7.19
Updated the ModuleVersion in dbatools.library.psd1 to reflect the new release version.
* Refactor sqlpackage path detection in build workflow
Simplifies and unifies the logic for locating sqlpackage executables across platforms in the build-release workflow. The new approach iterates over possible paths and provides improved error reporting and directory listing for troubleshooting.
* Change sqlpackage error to warning in build workflow
Replaces Write-Error with Write-Warning when sqlpackage is not found in the build-release workflow. This provides a less severe notification while still exiting with code 1.
* Update sqlpackage not found warning in build workflow
Refines the warning message when sqlpackage is not found and changes the directory listing to output full paths instead of just names. Removes the exit statement to prevent premature job termination.
* Improve sqlpackage search in build workflow
Refines the PowerShell command to recursively search for directories matching 'sqlpack' in the module path, making the sqlpackage lookup more accurate during the build-release workflow.
* Fix sqlpackage path casing in build workflow
Corrected the filename from 'sqlpackage.exe' to 'SqlPackage.exe' in the Windows path to ensure compatibility with case-sensitive file systems.
* Update build workflow for core library artifacts
Removes redundant Windows sqlpackage from core library as it matches the desktop version. Updates critical file verification to reflect this change by removing 'core\lib\dac\windows' and adding 'desktop\lib\dac'.
* Update NuGet package versions in dbatools.csproj
Upgraded Microsoft.Data.SqlClient to 6.0.2 and System.Threading.Tasks.Dataflow to 9.0.7 to ensure compatibility with latest features and bug fixes.
* Add Microsoft.Bcl.AsyncInterfaces to DLL imports
Included 'Microsoft.Bcl.AsyncInterfaces' in the list of DLLs imported for non-Core PowerShell editions to support async interfaces and improve compatibility.
* Add System.Text.Json to required assemblies
Included System.Text.Json in the list of assemblies loaded for non-Core PowerShell editions to support features that depend on JSON serialization.
* Add Windows-specific GAC reference for net472
Introduced a conditional ItemGroup to reference System.Management.Automation from the GAC only when targeting net472 on Windows. This ensures proper assembly resolution in Windows environments.
* Add PowerShell SDK reference for non-Windows net472
Adds a conditional PackageReference to PowerShellStandard.Library for net472 targets on non-Windows platforms to improve cross-platform compatibility.
* Update sqlpackage paths in CI workflows
Adjusted PowerShell scripts in build-release.yml and sqlpackage.yml to reference new sqlpackage locations for Windows, Linux, and Mac. Ensures correct executable is used for each platform and PowerShell edition.
* Remove handling of 'private' directory from build scripts
Eliminated references to the 'private' directory in GitHub workflow files and build.ps1. The creation and copying of the 'private' directory and its contents are no longer performed, streamlining the build process and artifact packaging.
* Remove mcp.json configuration file
Deleted the .roo/mcp.json file, which contained MCP server configuration for brave-search. This cleans up unused or obsolete configuration.
* Remove sqlpackage GitHub Actions workflow
Deleted the sqlpackage.yml workflow file from .github/workflows. This removes automated testing of sqlpackage across multiple platforms on pull requests.
4.**Platform Distribution**: Copies assemblies to appropriate platform directories
@@ -159,17 +159,20 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
159
159
## Development Commands
160
160
161
161
### Testing
162
+
163
+
> **Note:** The following test commands reference Appveyor and Windows PowerShell scripts. For modern Linux/macOS/PowerShell Core setups or non-Appveyor CI, substitute with appropriate Pester/Invoke-Pester commands, and paths using forward slashes as needed.
0 commit comments