September 2022
This release contains breaking changes:
- Api: Remove- Typesuffix
- TypeSpec: Rename- Pageto- CollectionWithNextLink
- Api:- Enum.memberschange typed from- EnumMember[]to- Map<string, EnumMember>
- TypeSpec- Api: Deprecation of- @consumes- @producesdecorators
[API] Type suffix removed from most Types
The following types have been renamed in the compiler API:
- ModelType->- Model
- ModelTypeProperty->- ModelProperty
- InterfaceType->- Interface
- EnumType->- Enum
- EnumMemberType->- EnumMember
- TemplateParameterType->- TemplateParameter
- NamespaceType->- Namespace
- OperationType->- Operation
- StringLiteralType->- StringLiteral
- NumericLiteralType->- NumericLiteral
- BooleanLiteralType->- BooleanLiteral
- TupleType->- Tuple
- UnionType->- Union
- UnionTypeVariant->- UnionVariant
- ProjectionType->- Projection
Update uses of the type names on the left with the type names on the right. The old names can still be used but they are deprecated and may be removed from a future release.
[TYPESPEC] Rename Page to CollectionWithNextLink
In library @typespec/rest in TypeSpec.Rest.Resources namespace the Page model was renamed to CollectionWithNextLink.
This resolve an issue with Page being to generic of a name for this very opinionated model.
Before
op test(): Page<MyResource>;Rename to
op test(): CollectionWithNextLink<MyResource>;[Api] Enum.members change to Map #953
Changed the type of the members property of Enum from EnumMember[] => Map<string, EnumMember>
members: EnumMember[];members: Map<string, EnumMember>[TypeSpec] [Api] Deprecation: @consumes @produces
Consumption of the data set by decorators was already removed in a previous release. Using them was a no-op.
The following are deprecated and will be removed in next release.
- @consumes
- @produces
- getConsumes
- getProduces
Alternative is to use a @header contentType: <contentType> property on the operation parameters or return type