Skip to content

December 2023

Release Notes December 2023 (2023-12-06)

See TypeSpec Core release notes

New Features

@azure-tools/typespec-autorest New Features

  • Add validation of formats emitted by the @format decorator - emit a warning and do not emit formats that are not understood by autorest.
  • Support EmbeddingVector types from Azure.Core by emitting x-ms-embedding-vector extension.
  • Add support for representing unions of literals as fixed and open enumerations, using enum [] and x-ms-enum.
  • Support string interpolation through new StringTemplate types.

@azure-tools/typespec-azure-core New Features

  • Add no-enum linting 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 EmbeddingVector types.
  • Add new helper getUnionAsEnum to try to convert a union of literals to a fixed or extensible enum.
  • Add additional fields to LroMetadata to 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

  • Add support for SubscriptionLifecycleNotification endpoint in generated RP code.

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

  • Generate names for anonymous models and unions
  • Support scope parameter for @client, @operationGroup, @convenientApi and @protocolApi decorators.
  • Support core decimal types.
  • Support unbranded client and operation group detection

@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 CancellationToken parameter to generated controller methods for resource operations.
  • Allow enums as discriminator values for polymorphic classes.

@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

@azure-tools/typespec-azure-core Bug Fixes

  • Fix inconsistent logicalPath in getLroMetadata results (#3725).
  • Fix incorrect final-state-via in getLroMetadata results for custom PUT operations (#3724).

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

  • Fix corner cases for anonymous models.

Breaking Changes

  • There are breaking changes in the TypeSpec core libraries, see the release notes for details.