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 emittingx-ms-embedding-vector
extension. - Add support for representing unions of literals as fixed and open enumerations, using
enum []
andx-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
ingetLroMetadata
results (#3725). - Fix incorrect
final-state-via
ingetLroMetadata
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.