3.1.3¶
Release Date: February 12, 2026
✨ New Features¶
Project Templates¶
Document Services Business Domain 📄¶
Templates: All SAIF templates with business domain support
Added Document Services to the available business domains across all SAIF templates, expanding governance and compliance capabilities.
Affected Templates:
saif-api-exp- Experience APIssaif-api-proc- Process APIssaif-api-sys- System APIssaif-event-service- Event servicessaif-feature-*- Feature templatessaif-nuget-package- NuGet packagessaif-terraform-module- Terraform modules
Impact:
- ✅ Enables teams to create document management services within the Document Services domain
- ✅ Provides standardized naming and governance for document-related APIs and services
- ✅ Extends the SAIF business domain taxonomy to support document workflows across all project types
🔧 Enhancements¶
Terraform Modules¶
Okta Auth Server Configurable Issuer Mode¶
Module: okta-oidc-client
Made Okta Auth Server Issuer Mode configurable with default to maintain backward compatibility, enabling custom branded domain URL support for Okta authentication.
What Changed:
Added issuer_mode variable to the okta-oidc-client module with default value "ORG_URL". This allows users to configure the Auth Server Issuer Mode to support custom domain URLs (login.saif.com, login-np.saif.com) while maintaining backward compatibility.
New Variables:
issuer_mode(string, default:"ORG_URL") - Controls which URL appears in JWTissclaims and.well-known/openid-configurationendpoint. Options:ORG_URL,CUSTOM_URL, orDYNAMIC
Example:
# Custom domain URLs
module "oktaApp-Api" {
source = "app.terraform.io/SAIFCorp/oidc-client/okta"
version = ">= 3.0.0, < 4.0.0"
project_id = "my-api"
okta_app_type = "API"
issuer_mode = "CUSTOM_URL"
# Tokens will contain iss: "https://login-np.saif.com/oauth2/..." (non-prod)
# or iss: "https://login.saif.com/oauth2/..." (production)
}
Benefits:
- ✅ Backward compatible - defaults to original
ORG_URLbehavior - ✅ Configurable for custom domain support via
CUSTOM_URLoption - ✅ Flexible with
DYNAMICoption to let apps choose based on request - ✅ Validated input - only accepts
ORG_URL,CUSTOM_URL, orDYNAMIC - ✅ APIM policies can validate tokens correctly when using custom domains
PR: #329
Expanded External Test User Configuration¶
Module: okta-external-test-users
Expanded External Test User configuration to include phone number and title attributes, enabling richer test data for applications requiring these identity claims.
What Changed:
Added primary_phone and title attribute configuration to the okta-external-test-users Terraform module. The title claim is now exposed through the reserved OIDC profile scope, and primary_phone is available through the phone scope.
New Attributes:
primary_phone- Phone number for external test users (exposed via OIDCphonescope)title- Job title for external test users (exposed via OIDCprofilescope)
Example:
user_map = [
{
login = "test.user@example.com"
email = "test.user@example.com"
first_name = "Test"
last_name = "User"
primary_phone = "+15551234567"
title = "Software Engineer"
}
]
Benefits:
- ✅ Expanded External Test User Configuration with phone and title
- ✅ Increased External Identity Claim Availability for testing scenarios
- ✅ Aligns with NGP payroll reporting requirements (email, phone, title)
Documentation:
PR: #391
🔧 Dependency Updates¶
.NET Packages¶
- ⬆️ Aspire.Hosting - Updated from 13.1.0 to 13.1.1 - Bug fixes for HTTPS port chaining, Vite config paths, Azure Bicep resources, and dev certificate filtering
- ⬆️ Aspire.Oracle.EntityFrameworkCore - Updated from 13.1.0 to 13.1.1
- ⬆️ Microsoft.Extensions.Configuration.AzureAppConfiguration - Updated from 8.4.0 to 8.5.0 - Added
ConnectAzureFrontDoormethod for CDN support - ⬆️ Microsoft.Extensions.* (10.0 packages) - Updated from 10.0.2 to 10.0.3
- ⬆️ Microsoft.Extensions.ServiceDiscovery - Updated from 10.2.0 to 10.3.0 - Improved retry logic and AI function support
- ⬆️ Microsoft.TemplateEngine.* - Updated from 10.0.102 to 10.0.103
TypeScript Packages¶
- ⬆️ @types/react - Updated from 19.2.13 to 19.2.14
🔄 Breaking Changes¶
None in this release ✅
📋 Additional Notes¶
- Total commits: 16
- User-facing commits: 9 (excluded 7 internal commits)
- Contributors: 6 (Copilot, dependabot[bot], Emmitt Johnson, GitHub, Jace Allison, Jason Corona Yue)
Impact Summary¶
This patch release expands SAIF Platform capabilities with Document Services business domain support, enhanced Okta authentication configuration for custom domains, and richer external test user attributes. Dependency updates include critical Aspire 13.1.1 bug fixes and Microsoft Extensions 10.3.0 improvements.
For Developers
- Document Services Domain - Now available across all SAIF templates when creating new projects (APIs, event services, features, NuGet packages, Terraform modules)
- Okta Custom Domains - Set
issuer_mode = "CUSTOM_URL"in your Terraform configuration for custom branded URLs - External Test Users - Add
primary_phoneandtitleto your test user configurations for richer testing scenarios - No Breaking Changes - All improvements are backward compatible
Support¶
- 📧 Teams Support Channel: Support