0.67.0
0.67.0
Section titled “0.67.0”Breaking Changes
Section titled “Breaking Changes”@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”-
#3997 Consolidated
SdkOperationGroupintoSdkClient. TheSdkOperationGroupinterface has been removed. All operation groups are now represented asSdkClientinstances.Migration Guide:
- Replace all references to
SdkOperationGroupwithSdkClient - Replace
subOperationGroupswithsubClients - Replace
groupPathwithclientPath - Replace
SdkClient.service(removed) withSdkClient.services(array of namespaces) - Replace
listOperationGroups()withlistSubClients() - Replace
listOperationsInOperationGroup()withlistOperationsInClient() - Replace
isOperationGroup()/getOperationGroup()— usegetClient()and checkparentinstead
- Replace all references to
-
#3997 For multiple service case, removed the use of
@useDependencyto declare each service’s API version, using the latest version instead. -
#3997 Added multi-service client support with
autoMergeServiceproperty on@clientdecorator. Theserviceproperty now accepts an array of services (e.g.,service: [ServiceA, ServiceB]). WhenautoMergeService: true, all services’ operations and sub clients are auto-merged into the client. Supports advanced scenarios including services as direct children (nested@clientwithautoMergeService: trueon children) and fully customized client hierarchies using explicitisoperation mapping.
Deprecations
Section titled “Deprecations”@azure-tools/typespec-azure-resource-manager
Section titled “@azure-tools/typespec-azure-resource-manager”- #4132 Updated
@locationResourcedocumentation to mark it as deprecated and recommend using@parentResource(ArmLocationResource<...>)instead.
@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #3997 Deprecated
@operationGroupdecorator in favor of@client. The@operationGroupdecorator now delegates to@clientinternally and will be removed in a future release. Use@clientto define sub clients instead.
Features
Section titled “Features”@azure-tools/typespec-azure-resource-manager
Section titled “@azure-tools/typespec-azure-resource-manager”- #4188 Add GenericResource template in Azure.ResourceManager.Legacy with new “Generic” resource kind
- #4004 Add new templates to support operationStatus endpoints
@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #3995 Add experimental extern functions for operation transformations:
replaceParameter,removeParameter,addParameter, andreorderParameters. These functions enable composable transformations that work with@@overrideto customize method signatures in client SDKs. - #4063 Add
.crossLanguageVersiontoSdkPackageto track equivalent API surfaces across different language SDKs
Bug Fixes
Section titled “Bug Fixes”@azure-tools/typespec-autorest
Section titled “@azure-tools/typespec-autorest”- #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-resource-manager
Section titled “@azure-tools/typespec-azure-resource-manager”- #4005 Fix
resolveArmResourcesreturning duplicate resources for versioned specs. - #4072 Fix
resolveArmResourcesincorrectly merging cross-scopeLegacyOperationsinto 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 Fix default resource name for extension resources using
Extension.ScopeParameterscope. Previously the name was incorrectly prefixed with “ScopeParameter”, now it uses just the extension resource name. - #4184 Support singleton resources in
resolveArmResources
@azure-tools/typespec-client-generator-core
Section titled “@azure-tools/typespec-client-generator-core”- #4164 Fix
@clientLocationnot working for subscriptionId parameter when another operation had already elevated it to client level - #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 Fixed
@clientLocationoperations being lost when targeting a sub client that gets merged in multi-serviceautoMergeServicescenarios - #4030 Fix File type contentType/accept header handling: add a new branch in
createContentTypeOrAcceptHeaderfor 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@headeris missing - #4177 Multi services’ client should not honor the specific
api-versionset in config. Theapi-versionconfig value is now cleared when dealing with multi-service clients during the versioning mutation and cache steps. - #4111 Add support to use
@scopeto specify generation of parameters for certain languages - #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.