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/utilsexports. Deprecate export from@typespec/compilerof utils likeDuplicateTracker,Queue,createTwoKeyMap, etc.
- #2902 Deprecate @serviceversion property. If wanting to describe a service versioning you can use the@typespec/versioninglibrary. If wanting to describe the project version you can use the package.json version. For OpenAPI generation. the@OpenAPI.infonows 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 @useAuthdecorator is applied to a type.
@typespec/openapi
- #2902 Add support for all properties of openapi infoobject on the@infodecorator
@typespec/openapi3
- #2902 Add support for all properties of openapi infoobject on the@infodecorator
- #2950 Add getOpenAPI3function 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-strategythat can be set todouble-intto emittype: integer, format: double-intinstead oftype: integer, format: int64when using thesafeintscalar.
@typespec/playground
- #2936 Autocomplete installed libraries in importstatements
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 Scalarto TSTemplatedTypetype
- #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 --watchwas 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 noEmitflag