March 2024
Breaking Changes
@typespec/compiler
- #2920 Intersecting
Record<T>
with incompatible properties will now emit an error
@typespec/prettier-plugin-typespec
- #2956 Drop support for prettier 2.0
Deprecations
@typespec/compiler
- #2919 [API] Create a new export
@typespec/compiler/utils
exports. Deprecate export from@typespec/compiler
of utils likeDuplicateTracker
,Queue
,createTwoKeyMap
, etc. - #2902 Deprecate
@service
version property. If wanting to describe a service versioning you can use the@typespec/versioning
library. If wanting to describe the project version you can use the package.json version. For OpenAPI generation. the@OpenAPI.info
nows decorator allows providing the document version.
Features
@typespec/compiler
- #2888 Add support for codefixes
- #2920 Add support for
...Record<T>
to define the type of remaining properties - #2968 Any subtype of an error(marked with
@error
) is now an error.
@typespec/http
- #2901 Add ability to specify authentication and different scopes per operation
- #2958 Validate that only one
@useAuth
decorator is applied to a type.
@typespec/openapi
- #2902 Add support for all properties of openapi
info
object on the@info
decorator
@typespec/openapi3
- #2902 Add support for all properties of openapi
info
object on the@info
decorator - #2950 Add
getOpenAPI3
function that takes a TypeSpec program and returns the emitted OpenAPI as an object. Useful for other emitters and tools that want to work with emitted OpenAPI directly without writing it to disk. - #2933 Add a new option
safeint-strategy
that can be set todouble-int
to emittype: integer, format: double-int
instead oftype: integer, format: int64
when using thesafeint
scalar.
@typespec/playground
- #2936 Autocomplete installed libraries in
import
statements
Bug Fixes
@typespec/compiler
- #2932 Report error when having a circular template constraint e.g.
model Example<T extends T>
- #2955 [Formatter] Formatting file with only comments would reorder the first line.
- #2934 [IDE] Fix issue when deleting an open file outside the IDE that would crash the language server
- #2959 Decorators that have missing arguments will not run. This is inline with passing invalid argument to a decorator that would prevent it from running.
- #2976 [IDE] Fix type documentation shown twice when hovering symbols or in completion details.
- #2929 [API] Add
Scalar
to TSTemplatedType
type - #2978 [IDE] Go to imports
- #2936 [IDE] Autocompleting file or folder with non alpha numeric character completes correctly
- #2936 [IDE] Fix crashing when trying to autocomplete an invalid folder
- #2951 Wrap string in quotes in errors
- #2886 Fix:
tsp compile --watch
was missing coloring and error previews
@typespec/http
- #2948 Fix donโt emit shared route error when verb donโt match
@typespec/json-schema
- #2977 Respect compiler
noEmit
flag