February 2023
Release Notes February 2023 (2023-02-07)
Section titled “Release Notes February 2023 (2023-02-07)”See TypeSpec Core release notes
New Features
Section titled “New Features”typespec-autorest
Section titled “typespec-autorest”- Added reference docs for
typespec-autorestemitter to the website
typespec-azure-core
Section titled “typespec-azure-core”- Allow customization of error types in the second parameter to the
Azure.Core.ResourceOperationsinterface. - Added documentation to the website
typespec-client-generator-core
Section titled “typespec-client-generator-core”- Add abstractions for client and json naming
getClientNameandgetJsonName - Add
@includeandexcludedecorators to control type emission - Use
DPGContextinstead ofProgram - Add usage and reference documentation to the website
Breaking Changes
Section titled “Breaking Changes”typespec-autorest breaking changes
Section titled “typespec-autorest breaking changes”- Removed deprecated
@pageabledecorator, useAzure.Core.Page<T>instead - Removed deprecated
@asyncOperationOptionsdecorator. Use@extension("x-ms-long-running-operation-options", {options})directly instead
typespec-azure-core breaking changes
Section titled “typespec-azure-core breaking changes”Client sidecar types and decortors move to typespec-client-generator-core library
Section titled “Client sidecar types and decortors move to typespec-client-generator-core library”- Removed
@client,@clientDefinitionand@returnsSubclientdecorators. Use@clientfrom thetypespec-client-generator-corelibrary instead. - Removed
getClientItems,getClientDefinition,getClientDefinitions,getReturnedSubclient,gatherOperationsandgetClientOperationsfunctions. Use thegetClientoperation fromtypespec-client-generator-coreinstead - Removed
ClientDefinitioninterface. - Removed
Subclientoperation template.
typespec-azure-resource-maneger breaking changes
Section titled “typespec-azure-resource-maneger breaking changes”- Removed deprecated
@armNamespacedecorator. Use@armProviderNamespaceinstead. - Removed deprecated
TenantResourceListmodel. UseResourceListByParentorResourceListAtScopeinstead. - Removed deprecated
ResourceCommonParametersmodel. UseBaseParameters<TResource>instead. - Removed
ExtensionResourceCommonParametersmodel. UseExtensionBaseParametersorBaseparameters<TResource>instead. - Removed
CommonTenantScopemodel. UseTenantBaseParametersorBaseParameters<TResource>instead.
typespec-client-generator-core breaking changes
Section titled “typespec-client-generator-core breaking changes”- Removed
@convenienceAPIdecorator. Use@convenientAPIand@protocolAPIinstead. - Removed
getConvenienceAPINamefunction. UseshouldGenerateProtocolandshouldGenerateConvenientfunctions instead.
Deprecations
Section titled “Deprecations”typespec-azure-resource-manager deprecations
Section titled “typespec-azure-resource-manager deprecations”Azure.ResourceManager ResourceOperations interface will be changed to TrackedResourceOperations
Section titled “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
Section titled “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> {}