All notable changes to Radius are documented in this file.
The format is based on Keep a Changelog, and Radius follows Semantic Versioning with the version policy documented in the release process.
0.62.0 - 2026-10-27
- Remove legacy Azure Container Instances support (#13293) by @radius-release[bot] in #13483
- Remove unused --preview helpers and stale preview wording by @lakshmimsft in #13326
- Require gated promotion of external channel tags by @DariuszPorowski in #13333
- Make rad resource list target Radius.Core without --preview by @lakshmimsft in #13317
- Make rad init and rad workspace create target Radius.Core without --preview by @lakshmimsft in #13316
- Make rad app commands target Radius.Core without --preview by @lakshmimsft in #13306
- Make rad resource expose and logs target Radius.Compute/containers without --preview by @lakshmimsft in #13319
- Retire legacy paths and consume snapshots by @DariuszPorowski in #12956
- Pin chart images to full release versions by @DariuszPorowski in #12953
- Make rad env commands target Radius.Core without --preview by @lakshmimsft in #13290
- Remove rad recipe register/unregister/list/show commands by @lakshmimsft in #13236
- Add expression evaluator for direct module recipe parameters (#13297) by @radius-release[bot] in #13486
- Create the Deployment Engine tag after release approval by @DariuszPorowski in #13384
- Add manual authz trust-boundary test kit by @sk593 in #13216
- Fail functional tests on authz dry-run would-deny logs by @sk593 in #13215
- Make the async worker dequeue interval configurable by @itpropro in #13327
- Add authorization error codes by @sk593 in #13213
- Add authorization mode setting (off/dryRun/enforce) by @sk593 in #13212
- Always write bicepconfig.json in rad init --preview by @willdavsmith in #13164
- [stack 2/3: default k8s recipe pack] build the default recipe pack from the embedded Kubernetes pack by @nithyatsu in #13249
- [stack 1/3: default k8s recipe pack] sync and embed the pinned Kubernetes recipe pack by @nithyatsu in #13248
- Publish release SBOMs by @DariuszPorowski in #12869
- Support S3 and Azure Blob backends with registered credentials by @lakshmimsft in #13078
- Add flaky-test investigation skill and automation by @nicolejms in #13190
- Add conventional commit title generation by @DariuszPorowski in #13138
- Honor KUBECONFIG when selecting the Kubernetes cluster (#13488) by @radius-release[bot] in #13517
- Dispatch fresh sample tests when resuming failures (#13512) by @radius-release[bot] in #13514
- Align make install destinations with CLI installers (#13511) by @radius-release[bot] in #13513
- Stop rad upgrade from failing on field manager conflicts (#13474) by @radius-release[bot] in #13509
- Update release-backport action to specific commit (#13504) by @radius-release[bot] in #13505
- Recover upmerges and share backport automation (#13498) by @radius-release[bot] in #13503
- Match Bicep registry credentials to the registry Radius pulls from (#13489) by @radius-release[bot] in #13501
- Stop retrying permanent Bicep delete errors (#13451) by @radius-release[bot] in #13487
- Sort release history by revision (#13435) by @radius-release[bot] in #13484
- Include unchanged changelog in plan snapshots (#13445) by @radius-release[bot] in #13447
- Include maintenance commits in changelogs (#13444) by @radius-release[bot] in #13446
- Align backports, changelogs, and sibling releases (#13433) by @radius-release[bot] in #13441
- Allow reviewed root changelog edits (#13434) by @radius-release[bot] in #13440
- Authenticate docs and samples coordination (#13431) by @radius-release[bot] in #13438
- Pin changelog rendering to the product commit (#13425) by @radius-release[bot] in #13426
- Preserve encryption Secret state during upgrades (#13413) by @radius-release[bot] in #13424
- Cache AWS DescribeType results and log AWS errors returned as 500 (#13412) by @radius-release[bot] in #13423
- Stop running Test_GetVersion subtests in parallel (#13411) by @radius-release[bot] in #13422
- Handle delayed GitHub release visibility (#13409) by @radius-release[bot] in #13421
- Wait for Azure blob read access before Terraform deployment by @nicolejms in #13383
- Retain legacy changes and deduplicate release notes by @DariuszPorowski in #13399
- Link release-note mentions and compact contributors by @DariuszPorowski in #13392
- Filter release-metadata-only PR checks by @DariuszPorowski in #13396
- Skip k3d load balancer in Repo Radius GHCR state test by @kachawla in #13386
- Skip last tagged version refusals by @nicolejms in #13378
- Avoid GraphQL node limit when collecting backports by @DariuszPorowski in #13381
- Fall back to parent types for Azure API version lookup by @nicolejms in #13379
- Keep the Git server port-forward alive for Flux tests by @kachawla in #13373
- Select supported Azure API versions for resource deletion by @nicolejms in #13370
- Support digest-pinned Bicep recipe sources and keep registry ports in publish URLs by @AzureMike in #13258
- Skip versions protected by download limits by @nicolejms in #13363
- Preserve response metadata after retry timeout by @nicolejms in #13353
- Delete Key Vault secrets through managed parent vaults by @nicolejms in #13342
- Report rejected deletes and handle rate limits by @nicolejms in #13341
- Hand off Copilot threads and author responses by @DariuszPorowski in #13332
- Standardize bounded external fetch retries by @nicolejms in #13322
- Retry transient Terraform provider discovery failures by @nicolejms in #13321
- Install pinned tools without building tool-updater by @nicolejms in #13313
- Tolerate action SHA updates in release controller tests by @brooke-hamilton in #13308
- Add provider alias placeholders before terraform get by @nicolejms in #13300
- Bound retries for Bicep downloads by @nicolejms in #13291
- Retry GitHub OIDC request timeouts before Azure login by @nicolejms in #13287
- Retry transient Helm chart downloads by @nicolejms in #13286
- Retry image pushes after unknown blob by @nicolejms in #13288
- Retry transient API server errors when reading resources by @nicolejms in #13277
- Retry managed secret delete while it is still updating by @nicolejms in #13278
- Prevent missing base commit errors in fork PR change detection by @brooke-hamilton in #13272
- Resolve API versions consistently for generic resource operations by @lakshmimsft in #13232
- Isolate the recipe pack missing-namespace test by @AzureMike in #13257
- Warn about Radius type version skew before deployment by @nicolejms in #13228
- Honor reviewer-specific re-review handoffs by @DariuszPorowski in #13255
- Authenticate the nightly CLI release lookup by @AzureMike in #13244
- Coordinate managed-secret deletion in preview cascades by @brooke-hamilton in #13193
- Add validation for release metadata changes before trusted validator installation by @DariuszPorowski in #13220
- Delete resource group contents in dependency order by @lakshmimsft in #13155
- Refuse to persist an empty control-plane snapshot in rad shutdown by @pujitha24 in #12849
- Restore trusted change-detection helper before execution by @brooke-hamilton in #13196
- Retry go mod download with HTTP/2 disabled to fix proxy.golang.org stream errors by @nicolejms in #13199
- Mitigate flaky Install Radius timeout by waiting for Deployment Engine image in CI by @nicolejms in #13191
- Retry all curl errors in tool install scripts by @nicolejms in #13189
- Make resource type lookup case-insensitive in rad resource list/resource-type show by @nicolejms in #13184
- Retry transient registry failures when downloading Bicep recipes by @nicolejms in #13185
- Prebuild rad for Windows process tests by @brooke-hamilton in #13151
- Share required Helm overrides across setup by @brooke-hamilton in #13145
- Reconcile release tags and branches idempotently by @DariuszPorowski in #12770
- Wrap long descriptions in rad resource-type show by @nicolejms in #13158
- Validate default namespace in rad env create by @nicolejms in #13156
- Prevent MongoDB recipe scheduling timeout by @brooke-hamilton in #13146
- Preserve change filtering in the merge queue by @DariuszPorowski in #13139
- Bound bicep download with a timeout in the PowerShell installer by @sk593 in #12852
- Surface API response when CLI download test fails to parse version by @pujitha24 in #12907
- Recognize ruleset-backed PR approvals by @DariuszPorowski in #13111
- Require Azure resource groups in Radius.Core environments by @Copilot in #12495
- Remove Spec Kit, migrate Radius skills, and relocate MCP config by @DariuszPorowski in #13331
- Fold radinit/common back into radinit by @lakshmimsft in #13325
- Reduce Make startup overhead by @brooke-hamilton in #13285
- Remove unused code by @kachawla in #13140
- Update Azure SDK dependencies and refactor imports (#13419) by @radius-release[bot] in #13439
- Remove unused oav dev dependency (#13408) by @radius-release[bot] in #13420
- Update npm dependencies with open security alerts by @kachawla in #13402
- Bump @azure-tools/typespec-autorest from 0.73.0 to 0.73.1 in /typespec in the javascript-deps group across 1 directory by @dependabot[bot] in #13394
- Bump the github-actions group across 1 directory with 5 updates by @dependabot[bot] in #13397
- Bump the go-deps group across 2 directories with 8 updates by @dependabot[bot] in #13393
- Bump the docker group across 3 directories with 1 update by @dependabot[bot] in #13395
- Bump the docker group across 2 directories with 1 update by @dependabot[bot] in #13364
- Bump the javascript-deps group across 3 directories with 4 updates by @dependabot[bot] in #13366
- Bump the github-actions group across 2 directories with 3 updates by @dependabot[bot] in #13367
- Bump the go-deps group across 2 directories with 18 updates by @dependabot[bot] in #13365
- Bump the javascript-deps group across 2 directories with 11 updates by @dependabot[bot] in #13303
- Bump the github-actions group across 2 directories with 8 updates by @dependabot[bot] in #13305
- Bump the go-deps group across 2 directories with 30 updates by @dependabot[bot] in #13304
- Bump the docker group across 2 directories with 2 updates by @dependabot[bot] in #13302
- Bump the docker group across 2 directories with 2 updates by @dependabot[bot] in #13239
- Bump the github-actions group across 2 directories with 3 updates by @dependabot[bot] in #13241
- Bump ghcr.io/devcontainers/features/docker-in-docker from 4.1.2 to 4.1.3 in the devcontainers group by @dependabot[bot] in #13237
- Bump the go-deps group across 2 directories with 16 updates by @dependabot[bot] in #13240
- Bump the go-deps group across 1 directory with 12 updates by @dependabot[bot] in #13175
- Bump the docker group across 5 directories with 2 updates by @dependabot[bot] in #13170
- Bump the javascript-deps group across 3 directories with 7 updates by @dependabot[bot] in #13169
- Bump the github-actions group across 1 directory with 3 updates by @dependabot[bot] in #13171
- Bump the devcontainers group with 3 updates by @dependabot[bot] in #13167
- Bump the security group across 2 directories with 3 updates by @dependabot[bot] in #13150
- Bump the go-deps group across 1 directory with 3 updates by @dependabot[bot] in #13104
- Prepare v0.62.0-rc.6 (#13518) by @radius-release[bot] in #13519
- Clarify fresh-head upmerge retries (#13508) by @radius-release[bot] in #13515
- Prepare v0.62.0-rc.5 (#13506) by @radius-release[bot] in #13507
- Prepare v0.62.0-rc.4 (#13492) by @radius-release[bot] in #13493
- Point design note contributors to eng/design-notes (#13456) by @radius-release[bot] in #13490
- Add functional spec for ECS and Azure Container Apps core resource mappings (#13233) by @radius-release[bot] in #13485
- Prepare v0.62.0-rc.3 (#13449) by @radius-release[bot] in #13450
- Bump versions (#13442) by @radius-release[bot] in #13448
- Add a concise release runbook (#13390) by @radius-release[bot] in #13437
- Prepare v0.62.0-rc.2 (#13428) by @radius-release[bot] in #13429
- Prepare v0.62.0-rc.1 by @radius-release[bot] in #13403
- Synced file(s) with radius-project/.github by @radius-files-sync[bot] in #13405
- Clarify bug and private vulnerability reporting by @vinayada1 in #13404
- Pr followup: - cover rejected parent API versions when deleting child resources by @nicolejms in #13380
- Bump versions by @radius-dependabot-manager[bot] in #13401
- Remove remaining Spec Kit agent definitions by @Copilot in #13400
- Updates by @radius-resource-types[bot] in #13314
- Bump to 1.27.3 by @DariuszPorowski in #13385
- Cover direct-module object parameters and conditions by @Copilot in #13375
- Synced file(s) with radius-project/.github by @radius-files-sync[bot] in #13371
- Add authz functional test suite and rogue client helper by @sk593 in #13214
- Use shared PR lifecycle label automation by @DariuszPorowski in #13356
- Label automated resource type update PRs by @brooke-hamilton in #13360
- Correct RAD_LOCATION override in CLI installation example by @allexistence in #13318
- Simplify local non-cloud functional testing by @brooke-hamilton in #13270
- Bump versions by @radius-dependabot-manager[bot] in #13338
- Harden release discovery and snapshot builds by @DariuszPorowski in #12970
- Use github.sha for trusted pull_request_target checkouts by @DariuszPorowski in #13315
- Re-enable custom terraform recipe functional test by @nicolejms in #13312
- Gate publication and automate coordination by @DariuszPorowski in #12948
- Bump versions by @radius-dependabot-manager[bot] in #13310
- Clarify reviewer testing instructions in PR descriptions by @brooke-hamilton in #13309
- Decouple functional-test teardown from rad app delete and upd background cleanup logging by @lakshmimsft in #13260
- Deploy the functional-test environment from a Bicep template by @lakshmimsft in #13283
- Capture Terraform provider failure diagnostics by @nicolejms in #13289
- Replace skipped Terraform PostgreSQL test with Azure provider coverage by @nicolejms in #13296
- Introduce release controller and swap triggers by @DariuszPorowski in #12872
- Retry registry image pull in create-local-registry by @nicolejms in #13276
- Update RBAC feature spec for multi-resource operations by @willtsai in #13266
- [stack 3/3: default k8s recipe pack] document the compiled Kubernetes recipe pack by @nithyatsu in #13250
- Bump Go to 1.27.2 by @DariuszPorowski in #13263
- Bump versions by @radius-dependabot-manager[bot] in #13262
- Add S3 and Azure backend lifecycle E2E coverage and pin the Radius.Core API version by @lakshmimsft in #13110
- Add ranked resource-type catalog design note by @Reshrahim in #13122
- Add guide for adding a recipe pack for a new platform by @nithyatsu in #13182
- Updates by @radius-resource-types[bot] in #13254
- Cut tag releases over to GoReleaser by @DariuszPorowski in #12828
- Skip managed-secret cleanup tests in the long-running workflow by @AzureMike in #13253
- Bump the javascript-deps group across 1 directory with 2 updates by @dependabot[bot] in #13238
- Update RBAC spec with
rad authcommand details by @willtsai in #13235 - Re-enable recipe-pack tests in the long-running workflow by @AzureMike in #13229
- Add internal component authorization design note by @sk593 in #13086
- Configure PR lifecycle labels from JSON by @DariuszPorowski in #13197
- Automate release preparation and backports by @DariuszPorowski in #12823
- Adopt dotted RC identifiers by @DariuszPorowski in #12793
- Bump versions by @radius-dependabot-manager[bot] in #13207
- Synced file(s) with radius-project/.github by @radius-files-sync[bot] in #13192
- Fix race and vacuous assertions in Flux functional tests by @nicolejms in #13187
- Functional spec for built-in Radius RBAC by @willtsai in #13089
- Rename azure recipe pack to azure-aks and add azure-aci by @zachcasper in #12662
- Release recipe packs and publish Bicep recipes during Radius releases by @nithyatsu in #13153
- Add functional tests for rad upgrade kubernetes by @nicolejms in #13157
- Release v0.61.1 by @brooke-hamilton in #13163
- Correlate publisher runs by release identifier by @DariuszPorowski in #12783
- Hand off approved review feedback to authors by @DariuszPorowski in #13162
- Hand off unresolved human review threads to authors by @DariuszPorowski in #13148
- Derive expected resourceNameHash instead of hardcoding it by @kachawla in #13117
- Require the Conventional Commit title check by @DariuszPorowski in #12763
- Bump versions by @radius-dependabot-manager[bot] in #13125
- Release resource type namespaces before Radius by @sk593 in #13121
- Bump supported version to v0.61.0 and add release notes by @sk593 in #13107
- Retry post-deploy port-forward probe with backoff by @pujitha24 in #12972
- Automate pull request status labels by @DariuszPorowski in #13106
@radius-release[bot], @AzureMike, @DariuszPorowski, @brooke-hamilton, @kachawla, @nicolejms, @willdavsmith, @Reshrahim, @Copilot, @radius-dependabot-manager[bot], @radius-files-sync[bot], @vinayada1, @dependabot[bot], @radius-resource-types[bot], @sk593, @lakshmimsft, @itpropro, @allexistence, @willtsai, @nithyatsu, @pujitha24, @zachcasper
- @radius-release[bot] made their first contribution in #13519
- @itpropro made their first contribution in #13327
- @allexistence made their first contribution in #13318
0.60.0 - 2026-08-19
- Added preview support for fully extensible, recipe-driven resource types in the
Radius.*namespace. - Added direct use of standard Bicep and Terraform modules as Radius Recipes.
- Replaced SHA-1 with SHA-256 for internal resource identifiers, Terraform recipe state keys, ETags, and change-detection tokens while preserving compatibility with existing state.
For curated highlights, upgrade guidance, contributors, and the complete change list, see the Radius v0.60.0 release notes.
Release history before v0.60.0 remains available on GitHub Releases.