# 3.7.3

**Release Date:** June 8, 2026

---

## ✨ New Features

### Project Templates

#### Self-Service DLQ Access Configuration 📬

**Template:** `saif-feature-event-subscription`

**Commit:** [`d6845ebd`](https://github.com/saif-corp/forge/commit/d6845ebd) · Closes [#696](https://github.com/saif-corp/forge/issues/696) · [#765](https://github.com/saif-corp/forge/pull/765)

Teams can now grant Entra ID users and groups access to browse and manage dead-letter queue (DLQ) messages via YAML config — no portal steps or platform team intervention required. This follows the same self-service pattern used by `saif-feature-database-cosmosdb` for CosmosDB data readers.

**Key Features:**

- ✅ **DLQ Readers** — Grant `Azure Service Bus Data Receiver` role via `dlq_readers` config block
- ✅ **DLQ Managers** — Grant `Azure Service Bus Data Owner` role via `dlq_managers` config block
- ✅ **Per-Environment Control** — Omit an environment key to restrict access (e.g. exclude `prod` for reader-only non-prod access)

**Example:**

```yaml
# feature-event-subscription-dlq-vars.yaml
dlq_readers:
  dev:
    - object_id: 00000000-0000-0000-0000-000000000001
      display_name: "My Dev Team"
  test:
    - object_id: 00000000-0000-0000-0000-000000000001
      display_name: "My Dev Team"

dlq_managers:
  dev:
    - object_id: 00000000-0000-0000-0000-000000000002
      display_name: "Platform Team"
  test:
    - object_id: 00000000-0000-0000-0000-000000000002
      display_name: "Platform Team"
  prod:
    - object_id: 00000000-0000-0000-0000-000000000002
      display_name: "Platform Team"
```

**Documentation:**

- [Event Subscription Guide](../guides/development/eventing/event-subscription.md)

---

## 🐛 Bug Fixes

### Terraform Modules

#### Drop Broken OTEL Moved Block Chain 🔧

**Module:** `identity`

**Commit:** [`e050c98d`](https://github.com/saif-corp/forge/commit/e050c98d) · [#774](https://github.com/saif-corp/forge/pull/774)

Removes all OTEL-related `moved` blocks that were left in an invalid state after the `_uami` resource rename in [#770](https://github.com/saif-corp/forge/pull/770). Terraform validates all `moved` block targets against the current configuration and would error when a target address no longer exists. Dropping the chain is safe because RBAC role assignments are idempotent — Terraform will destroy and recreate them cleanly.

**Affected files:**

- `src/terraform/saif-resources/modules/identity/moved.tf` — deleted (contained only broken OTEL blocks)
- `src/terraform/saif-web-service/moved.tf` — OTEL blocks removed
- `src/terraform/saif-event-subscriber-service/moved.tf` — OTEL blocks removed
- `src/terraform/saif-api-service/moved.tf` — OTEL blocks removed
- `src/smithy/infra/bot/moved.tf` — OTEL blocks removed

---

## 🔄 Breaking Changes

None in this release ✅

---

## 📋 Additional Notes

- Total commits: 2
- Files changed: 14
- Contributors: Emmitt Johnson, Jason Coria Corona Yue

---

### 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)

---
