Skip to main content
Version: Next 🚧

Release Notes Version 0.44.0 - July 2024

See TypeSpec Core 0.58 release notes

warning

This release contains breaking changes and deprecation

Breaking Changes​

@azure-tools/typespec-autorest​

  • #1105 x-ms-client-flatten extension on some of resource properties property is now configurable to be emitted by autorest emitter(arm-resource-flattening option). Default is false which will skip emission of that extension. To revert to previous behavior update your tspconfig.yaml with the following

    options:
    "@azure-tools/typespec-autorest":
    # ...other options
    + arm-resource-flattening: true

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

  • #1093 Removing $armRenameListByOperation decorator so operation id is directly derived from operation name. Previously operation id is statically resolved and fixed :

  • For top level resources, [Resource]_ListByResourceGroup

  • For child resources, [Resource]_ListBy[ParentResource]

With this change, the operation name will form the second part of the operation id, just like other ARM operation templates.

-list is ArmResourceListByParent<Employee>;
+listByLocation is ArmResourceListByParent<Employee>;

You can modify the operation name to match existing spec to avoid breaking changes.

  • #1146 Moved @armRenameListByOperation into Azure.ResourceManager.Private namespace. Adding back original listByParent doc resolution logic to keep swagger changes to minimal.
  • #1105 x-ms-client-flatten extension on some of resource properties property is now configurable to be emitted by autorest emitter. Default is false which will skip emission of that extension.

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

  • #1078 remove experimental_ prefix from sdkPackage. Now it's just called sdkPackage.

Features​

@azure-tools/typespec-autorest​

  • #1116 Resolve Arm Common Definitions for enums and unions as well
  • #955 Use emit-lro--options emitter option to control emission of x-ms-long-running-operation-options
  • #955 Add support for displaying lro options in typespec-autorest based on lro metadata
  • #1123 Removed direct reference to OpenAPI extension x-ms-azure-resource in ARM library and replaced with @Azure.ResourceManager.Private.azureResourceBase decorator. It is only used internally on base resource types. autorest emitter has been updated to check the decorator and still emit x-ms-azure-resource extension in swagger.
  • #1081 Allow void in final result for Azure-AsyncOperation header

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

  • #1116 Link CommonTypes enums and unions to the swagger common types
  • #1161 Added an optional template parameter on TrackedResource, ProxyResource, and ExtensionResource ARM templates that allows brownfield services to customize the optionality of the ARM resource properties field.
  • #1123 Removed direct reference to OpenAPI extension x-ms-azure-resource in ARM library and replaced with @Azure.ResourceManager.Private.azureResourceBase decorator. It is only used internally on base resource types. autorest emitter has been updated to check the decorator and still emit x-ms-azure-resource extension in swagger.

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

  • #1152 add .generateConvenient and .generateProtocol for service methods. These booleans tell emitters whether to generate convenient and protocol versions for the method
  • #1129 add UsageFlags.Json. Will be set if a model is used with a JSON content type
  • #1045 filter api versions enum to only include GA versions if default value is GA

Bug Fixes​

@azure-tools/typespec-autorest​

  • #1081 Fix patch models for common-types

@azure-tools/typespec-azure-core​

  • #927 Remove explicit all rulesets

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

  • #1156 Minor fix to make foundations and common-type more consistent.
  • #1102 Fixing typo
  • #1139 LocationResourceParameter should be azureLocation instead of string
  • #1111 Fix the type discrepancy issue for property userAssignedIdentities in common types V5 ManagedServiceIdentity
  • #927 Remove explicit all rulesets
  • #1081 Fix ArmResourcePatch templates and incorporate common-types updates
  • #1144 Tweak regex to validate Arm keys

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

  • #1142 TCGC, Add description to SdkHttpResponse
  • #1102 Fixing typo
  • #1157 findContextPath need to handle nested operation group, also refine the logic for naming and composing cross language definition id