December 2023
Release Notes December 2023 (2023-12-06)
Section titled “Release Notes December 2023 (2023-12-06)”See TypeSpec Core release notes
New Features
Section titled “New Features”@azure-tools/typespec-autorest New Features
Section titled “@azure-tools/typespec-autorest New Features”- Add validation of formats emitted by the
@formatdecorator - emit a warning and do not emit formats that are not understood by autorest. - Support
EmbeddingVectortypes from Azure.Core by emittingx-ms-embedding-vectorextension. - Add support for representing unions of literals as fixed and open enumerations, using
enum []andx-ms-enum. - Support string interpolation through new
StringTemplatetypes.
@azure-tools/typespec-azure-core New Features
Section titled “@azure-tools/typespec-azure-core New Features”- Add
no-enumlinting rule to discourage the use of enumerations in favor of unions, but do not add to the default ruleset. - Add model template and supporting decorator to implement
EmbeddingVectortypes. - Add new helper
getUnionAsEnumto try to convert a union of literals to a fixed or extensible enum. - Add additional fields to
LroMetadatato support long-running operations with no logical response (void):finalResult: Model | "void": The intended result of the logical operation on successful completion.finalEnvelopeResult: Model | "void": The Http response body returned in the last request in the logical operation on successful completion.finalResultPath: string: The path to the final result in the final envelope result.
@azure-tools/typespec-azure-resource-manager New Features
Section titled “@azure-tools/typespec-azure-resource-manager New Features”- Add support for
SubscriptionLifecycleNotificationendpoint in generated RP code.
@azure-tools/typespec-client-generator-core New Features
Section titled “@azure-tools/typespec-client-generator-core New Features”- Generate names for anonymous models and unions
- Support
scopeparameter for@client,@operationGroup,@convenientApiand@protocolApidecorators. - Support core
decimaltypes. - Support unbranded client and operation group detection
@azure-tools/typespec-providerhub-controller New Features
Section titled “@azure-tools/typespec-providerhub-controller New Features”- Add generated endpoints for SubscriptionLifecycleNotification extension for subscription-based resources.
- Generate versioning classes regardless the number of API versions defined in the spec.
- Add
CancellationTokenparameter to generated controller methods for resource operations. - Allow enums as discriminator values for polymorphic classes.
@azure-tools/typespec-providerhub-templates New Features
Section titled “@azure-tools/typespec-providerhub-templates New Features”- Enable new features for
SubscriptionLifecycleNotification,CancellationToken, and always generating versioning classes. - Use Operation templates instead of interface templates to define resource operations.
Bug Fixes
Section titled “Bug Fixes”@azure-tools/typespec-azure-core Bug Fixes
Section titled “@azure-tools/typespec-azure-core Bug Fixes”- Fix inconsistent
logicalPathingetLroMetadataresults (#3725). - Fix incorrect
final-state-viaingetLroMetadataresults for custom PUT operations (#3724).
@azure-tools/typespec-client-generator-core Bug Fixes
Section titled “@azure-tools/typespec-client-generator-core Bug Fixes”- Fix corner cases for anonymous models.
Breaking Changes
Section titled “Breaking Changes”- There are breaking changes in the TypeSpec core libraries, see the release notes for details.