Skip to content

0.67.0

@azure-tools/typespec-client-generator-core

Section titled “@azure-tools/typespec-client-generator-core”
  • #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 For multiple service case, removed the use of @useDependency to declare each service’s API version, using the latest version instead.

  • #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.

@azure-tools/typespec-azure-resource-manager

Section titled “@azure-tools/typespec-azure-resource-manager”
  • #4132 Updated @locationResource documentation 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 @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.

@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, and reorderParameters. These functions enable composable transformations that work with @@override to customize method signatures in client SDKs.
  • #4063 Add .crossLanguageVersion to SdkPackage to track equivalent API surfaces across different language SDKs
  • #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 resolveArmResources returning duplicate resources for versioned specs.
  • #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 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.
  • #4184 Support singleton resources in resolveArmResources

@azure-tools/typespec-client-generator-core

Section titled “@azure-tools/typespec-client-generator-core”
  • #4164 Fix @clientLocation not 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 @clientLocation operations being lost when targeting a sub client that gets merged in multi-service autoMergeService scenarios
  • #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 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.
  • #4111 Add support to use @scope to 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.