Skip to content

February 2023

Release Notes February 2023 (2023-02-07)

See TypeSpec Core release notes

New Features

typespec-autorest

  • Added reference docs for typespec-autorest emitter to the website

typespec-azure-core

  • Allow customization of error types in the second parameter to the Azure.Core.ResourceOperations interface.
  • Added documentation to the website

typespec-client-generator-core

  • Add abstractions for client and json naming getClientName and getJsonName
  • Add @include and exclude decorators to control type emission
  • Use DPGContext instead of Program
  • Add usage and reference documentation to the website

Breaking Changes

typespec-autorest breaking changes

  • Removed deprecated @pageable decorator, use Azure.Core.Page<T> instead
  • Removed deprecated @asyncOperationOptions decorator. Use @extension("x-ms-long-running-operation-options", {options}) directly instead

typespec-azure-core breaking changes

Client sidecar types and decortors move to typespec-client-generator-core library

  • Removed @client, @clientDefinition and @returnsSubclient decorators. Use @client from the typespec-client-generator-core library instead.
  • Removed getClientItems, getClientDefinition, getClientDefinitions, getReturnedSubclient, gatherOperations and getClientOperations functions. Use the getClient operation from typespec-client-generator-core instead
  • Removed ClientDefinition interface.
  • Removed Subclient operation template.

typespec-azure-resource-maneger breaking changes

  • Removed deprecated @armNamespace decorator. Use @armProviderNamespace instead.
  • Removed deprecated TenantResourceList model. Use ResourceListByParent or ResourceListAtScope instead.
  • Removed deprecated ResourceCommonParameters model. Use BaseParameters<TResource> instead.
  • Removed ExtensionResourceCommonParameters model. Use ExtensionBaseParameters or Baseparameters<TResource> instead.
  • Removed CommonTenantScope model. Use TenantBaseParameters or BaseParameters<TResource> instead.

typespec-client-generator-core breaking changes

  • Removed @convenienceAPI decorator. Use @convenientAPI and @protocolAPI instead.
  • Removed getConvenienceAPIName function. Use shouldGenerateProtocol and shouldGenerateConvenient functions instead.

Deprecations

typespec-azure-resource-manager deprecations

Azure.ResourceManager ResourceOperations interface will be changed to TrackedResourceOperations

The standard interface template for resource operations was called ResourceOperations<T, TProperties>. This has changed to TrackedResourceOperations<T, TProperties> to avoid name clashes with similar resource operations interfaces in @typespec/rest and @azure-tools/typespec-azure-core.

Migrating to the new model

Change references to ResourceOperations<T, TProperties> to TrackedResourceOperations<T, TProperties>:

interface Widgets extends ResourceOperations<Widget, WidgetProperties> {}

should be changed to:

interface Widgets extends TrackedResourceOperations<Widget, WidgetProperties> {}