# 3.0.11

**Release Date:** January 16, 2026

---

## ✨ New Features

### NuGet Packages

#### OAuth Scope Control

**Package:** `SAIF.Platform.Authentication`

Added `DisableDefaultScopes` configuration flag to prevent automatic injection of tenant-specific OAuth scopes (`user-groups`, `user_impersonation`, `.default`, `access`).

**Key Features:**

- ✅ **Explicit Scope Control** - Opt-out of automatic scope injection across all authentication components
- ✅ **Backward Compatible** - Defaults to `false` to maintain existing behavior
- ✅ **Multi-Component Support** - Available in `ScopeBuilder`, `OpenIdConnectServiceOptions`, and `HttpClientConfigurationOptions`

**Example Usage:**

```csharp
// OpenIdConnect - Full control over scopes
builder.AddOpenIdConnectServices(options =>
{
    options.DisableDefaultScopes = true;
    options.AdditionalScopes = ["my-custom-scope"];
    // Only requests: openid, profile, offline_access, {projectId}.my-custom-scope
    // Does NOT auto-add: access, user-groups, or .default
});

// Kiota HTTP Client - Explicit scopes only
builder.ConfigureHttpClient<MyClient, MyProvider>(projectId, options =>
{
    options.DisableDefaultScopes = true;
    options.Scopes = ["read", "write"];
    // Does NOT auto-add: user_impersonation or user-groups
});
```

**Benefits:**

- 🎯 Enables precise control over requested OAuth scopes
- 🔒 Prevents unnecessary scope requests in service-to-service authentication
- 📚 Supports advanced authentication scenarios requiring custom scope configuration

**Documentation:**

- See code comments and unit tests for implementation details

---

### GitHub

#### Issue and Pull Request Templates

**Location:** `.github/ISSUE_TEMPLATE/`, `.github/PULL_REQUEST_TEMPLATE/`

Added comprehensive issue and pull request templates to provide structured guidance for contributions and streamline the development workflow.

**Templates:**

- ✅ **Bug Report** - Structured format for reporting bugs with reproduction steps
- ✅ **Feature Request** - Template for proposing new features with clear requirements
- ✅ **Pull Request** - Standardized PR description format with release notes section

**Benefits:**

- 📋 Consistent issue and PR formatting across the repository
- 🚀 Faster triage and response times
- 📚 Better documentation of changes for release notes
- ✨ Improved collaboration and communication

---

## 🔧 Enhancements

### Documentation

- ✅ **Scope Naming Conventions** - Added comprehensive scope naming guidance across security documentation (Authorization reference, App Permissions, Calling APIs)
- ✅ **Service-to-Service Authentication** - Updated API-Only Service example to use `Client.*` scopes instead of misleading `User.*` scopes
- ✅ **Tabbed Interface** - Added tabbed interface in App Permissions to separate User-Delegated vs Service-to-Service patterns
- ✅ **Platform Principles** - Consolidated pillars into decision-making principles for platform engineers with new "Platform as a Product" principle
- ✅ **Local-First Orchestration** - Renamed and refined "Development-Production Parity" to emphasize architectural mirroring

### Agent Skills

- ✅ **Composable Skills** - Refactored legacy agents into consolidated, composable skills following Agent Skills standard
- ✅ **Skill Organization** - Created 9 domain-specific skills (forge-standards, git-workflows, release-management, etc.)
- ✅ **Progressive Disclosure** - Implemented references/ pattern for detailed documentation loaded on demand

### GitHub Workflows

- ✅ **Merge Gatekeeper Optimization** - Added concurrency control to auto-cancel obsolete runs, reducing GitHub Action minutes by 50%+
- ✅ **Polling Interval** - Increased polling interval from 30 to 60 seconds to reduce API calls

---

## 🐛 Bug Fixes

### Terraform Templates

- 🐛 **Application Permissions Dependency** - Added `depends_on = [module.saif-appservices]` to fix deployment failures where application lookup occurred before creation

---

## 📚 Documentation

### New Documentation

- 📖 **Scope Naming Conventions** - Comprehensive guidance for OAuth scope naming patterns (User-Delegated vs Service-to-Service)
- 📖 **Platform Principles** - Decision-making frameworks for platform engineering with 7 core principles
- 📖 **Agent Skills** - Documentation for composable skill system following Agent Skills standard

### Updated Documentation

- 📝 **App Permissions** - Updated examples with tabbed interface and correct scope naming
- 📝 **Authorization Reference** - Added scope naming conventions section
- 📝 **Calling APIs** - Added scope naming best practices with code examples
- 📝 **GitHub Copilot Instructions** - Updated to reference consolidated skills

---

## 🔄 Breaking Changes

**None in this release** ✅

---

## 📋 Additional Notes

- Total commits: **13**
- Files changed: **115**
- Contributors: **2** (Copilot, Emmitt Johnson)

### Dependency Updates

This release includes **5** dependency update PRs managed by Dependabot:

- `@types/node` updated from 24.10.4 to 24.10.9
- `@types/react` updated from 19.2.7 to 19.2.8
- Multiple TypeScript and .NET dependency group updates

---

### Support

- 📧 Teams Support Channel: [Support](https://teams.microsoft.com/l/channel/19%3Acb611810fb0b42b080cfff5590bdd51c%40thread.tacv2/Support?groupId=514d2dac-2d62-48ce-bf99-0fa0ce39469c&tenantId=a86cb8ed-369b-4df5-ace5-43811f6e08cf)

---
