Repository navigation
v1.5.4
D365FO Deploy Portal — Release Notes v1.5.4
Release Date: February 2026
Type: Feature & Bugfix — PAC auth isolation, Friendly Name options, deploy status fix
New Features & Improvements
PAC CLI auth isolation (deploy & Friendly Name)
- Isolated auth profile directory — Each deployment and each “Pull Friendly Name” / import flow uses a dedicated
PAC_AUTH_PROFILE_DIRECTORYso parallel runs do not share credentials. - Named profiles — All
pac auth createcalls use--name "Deploy_<env>"for clear separation. - Applied in: Deploy, Refresh Organization Friendly Name (environment edit), and Fill Friendly Name (import). Same behavior for native Windows and Docker.
Friendly Name: optional validation & manual pull
- No auto-fill on import — Organization Friendly Name is no longer filled automatically during “Import from Script Output” (avoids wrong names when PAC uses shared credentials).
- Pull Friendly Name — In the environment edit dialog, a Pull Friendly Name button fetches and saves the current environment’s friendly name on demand.
- Setting: “Additionally verify Friendly Name on deploy” — When enabled (Settings → Deployment safety), pre- and post-deploy checks use the stored Friendly Name; when disabled, Friendly Name validation is skipped.
Deploy status fix
- Auth failures no longer reported as Success — If
pac auth createfails with messages like “Could not connect to the Dataverse organization”, “The user is not a member of the organization”, or “invalid status code 'Forbidden'”, the deployment is now correctly marked as Failed (PAC CLI may still exit 0 in these cases; we parse stdout/stderr).
Service Principal setup (docs)
- Part 4 of the Service Principal setup guide (Environments page) now states clearly that the app must be added as an Application User in each target Power Platform environment (Power Platform Admin Center), with System Administrator role, to avoid Forbidden errors.
Technical Details
Modified / New Files
PacAuthService.cs—PAC_AUTH_PROFILE_DIRECTORY,--name, post-auth output parsing for connection/Forbidden errorsPacAuthWhoParser.cs— (new) parsing ofpac auth whooutputEnvironmentService.cs—RefreshOrganizationFriendlyNameAsync, no auto-fill on import, isolated dir per envEnvironments.razor— Pull Friendly Name button, import without Friendly Name fillSettings.razor/SettingsService.cs/ISettingsService.cs— “VerifyOrganizationFriendlyNameOnDeploy”PreDeployAuthValidator.cs— runs only when setting is enabledDeployService.cs/DeploymentContext.cs— pass-through of verify settingDeploymentServicesUnitTests.cs— tests for new behavior
Project: src/DeployPortal/DeployPortal.csproj — version 1.5.4
Installation & Upgrade
Docker (GitHub Container Registry)
docker pull ghcr.io/vglu/d365fo-deploy-portal:1.5.4
# or
docker pull ghcr.io/vglu/d365fo-deploy-portal:latestDocker Hub
docker pull vglu/d365fo-deploy-portal:1.5.4
docker pull vglu/d365fo-deploy-portal:latestWindows (ZIP from GitHub Release)
- Download
DeployPortal-1.5.4-win-x64.zipfrom the Releases page. - Extract and run
start.cmdorDeployPortal.exe.
What's Next?
- v1.5.3 Release Notes — Deployment queue settings (MaxConcurrentDeployments, delay)
- v1.5.0 Release Notes — SOLID refactoring, tests, E2E
- v1.4.0 Release Notes — Deployment History Archive
Support
For questions and issues, please open an Issue in the repository.