Skip to content

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 like DuplicateTracker, 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 to double-int to emit type: integer, format: double-int instead of type: integer, format: int64 when using the safeint 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 TS TemplatedType 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