Repository navigation
Graduate extension deployment preview to stable v1 (azd 1.37.0) - #10628
Conversation
Target azd 1.37.0. Add the complete stable preview wire shape and SDK helpers, delegate retained beta routes to stable host handling, and preserve deprecated beta Go source compatibility. Record the second graduation and the release-gated consumer migration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b95f462d-d9e2-4fb6-b3c0-0b1cfc4aebb9
📋 Prioritization NoteThanks for the contribution! The linked issue isn't in the current milestone yet. |
|
Azure Pipelines: Successfully started running 2 pipeline(s). 23 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🔵 Needs a closer look
Permanent stable-contract additions and cross-version streaming compatibility warrant final human review.
1 open issue
4 files not reviewed
cli/azd/extensions/azure.ai.evaluations/internal/hostproject/descriptors_generated.go: Generated filecli/azd/pkg/azdext/contracts/v1/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts/v1beta/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts_v1_aliases.go: Generated file
What changed in this PR
Graduates extension deployment preview to stable v1, targeting azd host and SDK 1.37.0 while retaining beta compatibility.
Changes:
- Adds stable preview contracts, SDK helpers, and shared host handling.
- Expands stable, beta, and frozen legacy compatibility tests.
- Documents graduation and release sequencing; consumer migration remains separate.
| File | Description |
|---|---|
| docs/reference/feature-status.md | Lists stable preview graduation. |
| docs/guides/creating-an-extension.md | Updates preview registration guidance. |
| docs/architecture/extension-framework.md | Describes stable routing and compatibility. |
| cli/azd/pkg/azdext/service_target_preview_manager.go | Shares preview dispatch with beta adapters. |
| cli/azd/pkg/azdext/service_target_preview_manager_test.go | Tests stable and beta providers and streams. |
| cli/azd/pkg/azdext/service_target_preview_envelope.go | Deprecates retained beta envelope APIs. |
| cli/azd/pkg/azdext/service_target_manager.go | Adds stable preview provider interface. |
| cli/azd/pkg/azdext/service_target_envelope.go | Handles stable preview messages. |
| cli/azd/pkg/azdext/preview/service_target.go | Deprecates the compatible beta provider interface. |
| cli/azd/pkg/azdext/extension_host.go | Adds stable registration alongside beta support. |
| cli/azd/pkg/azdext/contracts/versioning_test.go | Checks graduation and beta deprecation. |
| cli/azd/pkg/azdext/contracts/v1beta/service_target.pb.go | Regenerates beta deprecation metadata. |
| cli/azd/pkg/azdext/contracts/v1/service_target.pb.go | Generates stable preview bindings. |
| cli/azd/pkg/azdext/contracts_v1_aliases.go | Exposes stable preview aliases. |
| cli/azd/pkg/azdext/azd_client.go | Deprecates beta client accessor. |
| cli/azd/internal/grpcserver/versioned_services.go | Removes automatic beta preview override. |
| cli/azd/internal/grpcserver/service_target_service.go | Routes preview streams and guards legacy access. |
| cli/azd/internal/grpcserver/service_target_service_preview.go | Moves preview handling to stable types. |
| cli/azd/internal/grpcserver/service_target_service_preview_test.go | Adds cross-channel preview coverage. |
| cli/azd/internal/grpcserver/service_target_service_beta_test.go | Removes replaced beta-only tests. |
| cli/azd/grpc/README.md | Documents the second graduation. |
| cli/azd/grpc/proto/azd/extensions/v1beta/service_target.proto | Deprecates retained preview fields and messages. |
| cli/azd/grpc/proto/azd/extensions/v1/service_target.proto | Adds stable preview wire shapes. |
| cli/azd/extensions/azure.ai.evaluations/internal/hostproject/descriptors_generated.go | Refreshes the descriptor snapshot. |
| cli/azd/docs/extensions/extension-sdk-reference.md | Documents stable helpers and beta compatibility. |
| cli/azd/docs/extensions/extension-framework.md | Updates preview examples and requirements. |
| cli/azd/docs/extensions/contract-versioning.md | Records compatibility and release sequencing. |
| cli/azd/.vscode/cspell.yaml | Allows the legacy bridge identifier. |
| .github/skills/azd-grpc-contracts/references/graduate-to-v1.md | Updates graduation workflow guidance. |
Review effort: Balanced
Use the existing GPT-5.6 Terra model for judging and expect CommandResultService instead of the graduated TelemetryService in the beta-only service check. Preserve the evaluation threshold and document model selection. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b95f462d-d9e2-4fb6-b3c0-0b1cfc4aebb9
There was a problem hiding this comment.
🔵 Needs a closer look
Permanent public contract additions and retained beta/legacy compatibility warrant human sign-off on runtime validation.
4 files not reviewed
cli/azd/extensions/azure.ai.evaluations/internal/hostproject/descriptors_generated.go: Generated filecli/azd/pkg/azdext/contracts/v1/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts/v1beta/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts_v1_aliases.go: Generated file
Review effort: Balanced
|
/check-enforcer override |
Kristen Womack (kristenwomack)
left a comment
There was a problem hiding this comment.
Will you check the two suggestions? Otherwise looks good!
Distinguish telemetry/principal and deployment-preview host requirements, preserve stricter extension minima, and clarify the independent Go SDK dependency. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b95f462d-d9e2-4fb6-b3c0-0b1cfc4aebb9
Bring in the dependency updates from #10572 and the latest main changes while preserving the deployment-preview graduation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b95f462d-d9e2-4fb6-b3c0-0b1cfc4aebb9
There was a problem hiding this comment.
🔵 Needs a closer look
Permanent stable API commitments and compatibility across stable, beta, and frozen legacy routes warrant final human validation.
No open issues 🎉
1 resolved since last review
4 files not reviewed
cli/azd/extensions/azure.ai.evaluations/internal/hostproject/descriptors_generated.go: Generated filecli/azd/pkg/azdext/contracts/v1/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts/v1beta/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts_v1_aliases.go: Generated file
Review effort: Balanced
There was a problem hiding this comment.
🔵 Needs a closer look
Permanent stable-contract additions and compatibility across stable, beta, and legacy routes require final human validation.
No open issues 🎉
4 files not reviewed
cli/azd/extensions/azure.ai.evaluations/internal/hostproject/descriptors_generated.go: Generated filecli/azd/pkg/azdext/contracts/v1/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts/v1beta/service_target.pb.go: Generated filecli/azd/pkg/azdext/contracts_v1_aliases.go: Generated file
Review effort: Balanced
azure.ai.evaluations PR buildNote This is an unsigned development build. Install it only if you trust this PR. Install the extension: azd ext install "https://azuresdkartifacts.z5.web.core.windows.net/azd/extensions/pr/10628/azure-ai-evaluations.zip"
|
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|

Summary
Graduate deployment preview from
azd.extensions.v1betato stablev1, targetingazd host and SDK 1.37.0. This is the second graduation batch, following #10439,
and follows the existing
/azd-grpc-contractsgraduation workflow.Fixes #10627 (source implementation only).
Permanent history: #10436. Second batch audit: #10625.
Preview consumer migration and releases: #10626.
Contract and implementation
supports_preview=2, envelopepreview_request=21andpreview_response=22,and the preview request/response/result messages.
beta
ServiceTargetService.Streamroute and all existing wire shapes.focused beta override; the generated beta adapter now reaches the same stable
implementation.
WithServiceTargetPreview,azdext.ServiceTargetPreviewProvider, stablefacade aliases, and stable preview envelope handling.
envelope APIs. Compatibility adapters preserve their original beta stream and
provider signatures, with no Go SDK source break in this batch.
consumed by evaluations with the pinned toolchain.
Preview remains read-only: fresh providers, no
Initialize, deployment instancecache, build/package/publish/deploy preparation, or deploy hooks. Registration
remains optional/best-effort on older hosts. Extension ownership checks, duplicate
registration rejection, provider errors, and missing-result errors are preserved.
Ordinary legacy service registration continues working; the frozen unversioned
route does not acquire preview support.
Structured predeploy/postdeploy messages and other ungraduated beta APIs remain
beta-only. This PR changes no telemetry events/fields, extension SDK pins, extension
versions, registry entries, or core release version.
Release sequencing
cli/azd/v1.37.0SDK.pin all nine affected extension modules to SDK v1.37.0 with host >=1.37.0.
and dates. Target 1.37.0 is not a claim that it is already released.
Beta wire routes have no removal date; removing them requires separately
approved migration policy. Already-built beta extensions and deprecated beta Go
source continue working on the new host/SDK.
Validation
ownership checks, missing result rejection, duplicate registration, and frozen legacy behavior.
and best-effort registration when preview is unavailable.
and whitespace checks.
against this checkout's graduated host, without replacements or Azure resources.
Live Azure scenarios and actual release/publication are not part of this PR.