Skip to content

3.2.5

Release Date: March 11, 2026


🐛 Bug Fixes

Terraform — Azure Front Door

Front Door Route Names Now Use project_id to Ensure Uniqueness 🔧

Module: src/terraform/saif-api-service

Fixed a conflict error occurring during terraform apply when multiple projects share the same Azure Front Door profile and endpoint. Route names were generated from var.api.name, which is not unique across projects on the same shared Front Door profile, causing already exists errors on subsequent applies.

Root Cause:

The saif-api-service module used var.api.name as the route name suffix. When two or more API services deployed to the same shared Front Door profile, their routes produced the same name (e.g., PremiumAudit-api-route), and Terraform could not reconcile the state, resulting in an apply failure.

The Fix:

Changed the route name to use var.project_id, which is unique per project:

Before (conflicting):

name = "${var.api.name}-api-route"

After (unique):

name = "${var.project_id}-api-route"

Migration:

On the next terraform apply, workspaces that change from the old route name to the new var.project_id-based name will see a forced replacement of the Azure Front Door route (destroy + create). This does not normally require a terraform import, but you should be aware of the brief window where the old route is removed before the new one is created. If you have an existing Front Door route that is not tracked in state (for example, it was created manually or state was lost), use terraform import as described in PR #501.

Note: The saif-web-service module's route naming (var.application_name) was intentionally left unchanged — web service paths are unique per application and do not conflict.

PR: #501


📦 Dependencies

.NET Packages

The following .NET packages were updated (#500):

Package Version
Microsoft.AspNetCore.Authentication.JwtBearer 10.0.4
Microsoft.AspNetCore.Authentication.OpenIdConnect 10.0.4
Microsoft.AspNetCore.TestHost 10.0.4
Microsoft.Extensions.Caching.* 10.0.4
Microsoft.Extensions.Configuration.* 10.0.4
Microsoft.Extensions.DependencyInjection.* 10.0.4
Microsoft.Extensions.Diagnostics.HealthChecks 10.0.4
Microsoft.Extensions.Hosting.* 10.0.4
Microsoft.Extensions.Http 10.0.4
Microsoft.Extensions.Http.Resilience 10.4.0
Microsoft.Extensions.Logging.* 10.0.4
Microsoft.Extensions.Options.* 10.0.4
Microsoft.Extensions.Primitives 10.0.4
Microsoft.Extensions.ServiceDiscovery 10.4.0
Microsoft.Identity.Client 4.83.1
Microsoft.Identity.Client.Broker 4.83.1
Microsoft.Identity.Client.Extensions.Msal 4.83.1
Microsoft.TemplateEngine.Authoring.TemplateVerifier 10.0.200
Microsoft.TemplateEngine.IDE 10.0.200
ModelContextProtocol 1.1.0

TypeScript / Node Packages

The following TypeScript packages were updated (#498, #496, #493):

Package Version
@typespec/compiler 1.10.0
@typespec/http 1.10.0
@typespec/http-server-csharp 0.58.0-alpha.26
@typespec/library-linter 0.80.0
@typespec/openapi 1.10.0
@typespec/openapi3 1.10.0
@typespec/rest 0.80.0
@typespec/versioning 0.80.0
eslint 9.39.4

🔄 Breaking Changes

None in this release ✅


📋 Additional Notes

  • Total commits: 5
  • Files changed: ~4
  • Contributors: Emmitt Johnson, dependabot[bot]

Support

  • 📧 Teams Support Channel: Support