ITADN
Azure/typespec-azure

版本发布 8

typespec-azure@0.67.0
? · 2026-04-07

## @azure-tools/typespec-autorest ### Bug Fixes - [#4088](https://github.com/Azure/typespec-azure/pull/4088) Fix sorting of x-ms-paths entries that start with `?` (query-only paths). Previously these paths were not sorted alphabetically. ## @azure-tools/typespec-azure-core No changes, version bump only. ## @azure-tools/typespec-azure-portal-core No changes, version bump only. ## @azure-tools/typespec-azure-resource-manager ### Deprecations - [#4132](https://github.com/Azure/typespec-azure/pull/4132) Updated `@locationResource` documentation to mark it as deprecated and recommend using `@parentResource(ArmLocationResource<...>)` instead. ### Features - [#4188](https://github.com/Azure/typespec-azure/pull/4188) Add GenericResource template in Azure.ResourceManager.Legacy with new "Generic" resource kind - [#4004](https://github.com/Azure/typespec-azure/pull/4004) Add new templates to support operationStatus endpoints - [#4184](https://github.com/Azure/typespec-azure/pull/4184) Support singleton resources in `resolveArmResources` ### Bug Fixes - [#4005](https://github.com/Azure/typespec-azure/pull/4005) Fix `resolveArmResources` returning duplicate resources for versioned specs. - [#4072](https://github.com/Azure/typespec-azure/pull/4072) Fix `resolveArmResources` incorrectly merging cross-scope `LegacyOperations` into a single resource. Operations at different scopes (e.g., subscription vs tenant) with the same model but no explicit resource name are now resolved as separate resources. - [#4183](https://github.com/Azure/typespec-azure/pull/4183) Fix default resource name for extension resources using `Extension.ScopeParameter` scope. Previously the name was incorrectly prefixed with "ScopeParameter", now it uses just the extension resource name. ## @azure-tools/typespec-client-generator-core ### Breaking Changes - [#3997](https://github.com/Azure/typespec-azure/pull/3997) For multiple service case, remove the use of `@useDependency` to decare each service's API version, but use the latest version instead. Remove related tests. - [#3997](https://github.com/Azure/typespec-azure/pull/3997) Consolidated `SdkOperationGroup` into `SdkClient`. The `SdkOperationGroup` interface has been removed. All operation groups are now represented as `SdkClient` instances. **Migration Guide:** - Replace all references to `SdkOperationGroup` with `SdkClient` - Replace `subOperationGroups` with `subClients` - Replace `groupPath` with `clientPath` - Replace `SdkClient.service` (removed) with `SdkClient.services` (array of namespaces) - Replace `listOperationGroups()` with `listSubClients()` - Replace `listOperationsInOperationGroup()` with `listOperationsInClient()` - Replace `isOperationGroup()` / `getOperationGroup()` — use `getClient()` and check `parent` instead - [#3997](https://github.com/Azure/typespec-azure/pull/3997) Added multi-service client support with `autoMergeService` property on `@client` decorator. The `service` property now accepts an array of services (e.g., `service: [ServiceA, ServiceB]`). When `autoMergeService: true`, all services' operations and sub clients are auto-merged into the client. Supports advanced scenarios including services as direct children (nested `@client` with `autoMergeService: true` on children) and fully customized client hierarchies using explicit `is` operation mapping. ### Deprecations - [#3997](https://github.com/Azure/typespec-azure/pull/3997) Deprecated `@operationGroup` decorator in favor of `@client`. The `@operationGroup` decorator now delegates to `@client` internally and will be removed in a future release. Use `@client` to define sub clients instead. ### Features - [#3995](https://github.com/Azure/typespec-azure/pull/3995) Add experimental extern functions for operation transformations: - `replaceParameter`: Replace a parameter in an operation - `removeParameter`: Remove a parameter from an operation - `addParameter`: Add a new parameter to an operation - `reorderParameters`: Reorder parameters of an operation according to a specified order These functions enable composable transformations that work with `@@override` to customize method signatures in client SDKs. - [#4063](https://github.com/Azure/typespec-azure/pull/4063) Add `.crossLanguageVersion` to `SdkPackage` to track equivalent API surfaces across different language sdks ### Bug Fixes - [#4164](https://github.com/Azure/typespec-azure/pull/4164) Fix `@clientLocation` not working for subscriptionId parameter when another operation had already elevated it to client level - [#4135](https://github.com/Azure/typespec-azure/pull/4135) Fix synthetic union created from split HTTP union responses not getting generated name and creating union-of-union when there are more than 2 response types. - [#4124](https://github.com/Azure/typespec-azure/pull/4124) Fixed `@clientLocation` operations being lost when targeting a sub client that gets merged in multi-service `autoMergeService` scenarios - [#4030](https://github.com/Azure/typespec-azure/pull/4030) Fix File type contentType/accept header handling: add a new branch in `createContentTypeOrAcceptHeader` for File type bodies to produce constant (single content type) or enum (multiple content types) for both contentType and accept params, and fix response contentType header serializedName fallback to "Content-Type" when `@header` is missing - [#4177](https://github.com/Azure/typespec-azure/pull/4177) Multi services' client should not honor the specific `api-version` set in config. The `api-version` config value is now cleared when dealing with multi-service clients during the versioning mutation and cache steps. - [#4062](https://github.com/Azure/typespec-azure/pull/4062) Add support to use `@scope` to specify generation of parameters for certain languages - [#4125](https://github.com/Azure/typespec-azure/pull/4125) Synthetic content type and accept parameters now honor HTTP library's result directly. Single content type produces a constant, multiple content types produce an enum, for both File and non-File body types. ## @azure-tools/typespec-azure-rulesets No changes, version bump only.

@azure-tools/azure-http-specs@0.1.0-alpha.39预发布
? · 2026-04-07

### Breaking Changes - [#3997](https://github.com/Azure/typespec-azure/pull/3997) For multiple service case, remove the use of `@useDependency` to decare each service's API version, but use the latest version instead. Remove related tests. ### Features - [#4158](https://github.com/Azure/typespec-azure/pull/4158) Add test for multiple services without explicit `@client` creating separate root clients. ### Bug Fixes - [#3950](https://github.com/Azure/typespec-azure/pull/3950) Update the `azure/client-generator-core/alternate-type` spec for Rust. - [#4058](https://github.com/Azure/typespec-azure/pull/4058) Add `@clientLocation` on operations in interface `AddOptionalParam` in resiliency srv-driven specs. To keep the client hierarchy unchanged after TCGC update. - [#3997](https://github.com/Azure/typespec-azure/pull/3997) Migrate `@operationGroup` to `@client` - [#4054](https://github.com/Azure/typespec-azure/pull/4054) Add required `service:` parameter to `@client` decorators in client-initialization spec files.

@azure-tools/typespec-client-generator-core@0.66.4
? · 2026-03-25

### Bug Fixes - [#4101](https://github.com/Azure/typespec-azure/pull/4101) Fix `getLroMetadata` to correctly handle scalar types (e.g., `string`) as LRO final results. Previously, scalar result types in status monitor `@lroResult` properties were not recognized, causing incorrect metadata. - [#4103](https://github.com/Azure/typespec-azure/pull/4103) Fix `@clientOption` diagnostic target to report on the decorator instead of the target model, enabling proper suppression - [#4112](https://github.com/Azure/typespec-azure/pull/4112) Allow `@access` overrides for types only used in scoped-out parameters - [#4111](https://github.com/Azure/typespec-azure/pull/4111) Add support to use `@scope` to specify generation of parameters for certain languages

@azure-tools/typespec-client-generator-core@0.66.0
? · 2026-03-11

### Features - [#3867](https://github.com/Azure/typespec-azure/pull/3867) Add `.streamMetadata` for sse events streamed in or out ### Bump dependencies - [#3986](https://github.com/Azure/typespec-azure/pull/3986) Upgrade dependencies ### Bug Fixes - [#3953](https://github.com/Azure/typespec-azure/pull/3953) Fix namespace duplication when `@clientNamespace` extends the namespace flag (e.g. `@clientNamespace("Azure.Search.Documents.Indexes")` with namespace flag `Azure.Search.Documents`)

@azure-tools/typespec-metadata@0.1.1
? · 2026-03-10

### Bump dependencies - [#3986](https://github.com/Azure/typespec-azure/pull/3986) Upgrade dependencies ### Bug Fixes - [#3992](https://github.com/Azure/typespec-azure/pull/3992) Ensure unrecognized emitter names use the full emitter name as the language key. Adds support for C# HTTP client emitters. ## 0.1.0 (TBD) Initial release - Initial implementation of TypeSpec metadata emitter - Support for YAML and JSON output formats - Generates structured metadata for APIView and other tooling

@azure-tools/typespec-client-generator-core@0.65.1
? · 2026-02-12

### Bug Fixes - [#3929](https://github.com/Azure/typespec-azure/pull/3929) Changed `InitializedByFlags.Default` back to `0` to indicate no user-specific initialization setting for sub clients. Renamed `InitializedByFlags.None` to `InitializedByFlags.CustomizeCode` (value 4) and `InitializedBy.none` to `InitializedBy.customizeCode` to indicate that client initialization should be omitted from generated code and handled manually in custom code.

@azure-tools/typespec-azure-rulesets@0.65.0
? · 2026-02-10

No changes, version bump only.

@azure-tools/typespec-metadata@0.1.0
? · 2026-01-30