Skip to content

Releases: microsoft/typespec

[email protected]

13 Jun 23:40
9c701cc
Compare
Choose a tag to compare

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/[email protected]

13 Jun 23:40
9c701cc
Compare
Choose a tag to compare

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/[email protected]

13 Jun 23:40
9c701cc
Compare
Choose a tag to compare

Bug Fixes

  • #3542 Fix issue where hover tooltip would be cropped or not visible

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3465 Provide ability to add custom program viewers
  • #3569 Support loglevel in playground's logging

@typespec/[email protected]

13 Jun 23:40
9c701cc
Compare
Choose a tag to compare

Bump dependencies

  • #3401 Update dependencies - May 2024

[email protected]

08 May 01:17
dec5043
Compare
Choose a tag to compare

@typespec/compiler

Bug Fixes

  • #3170 --nostdlib flag will now work by only applying to optional standard library types
  • #3212 Fix: augmenting template model property could result in sending invalid argument to decorator
  • #3188 Fix: Do not crash when trying to access member of aliased expressions
  • #3185 Fix tsp init hanging when done due to unclosed connection
  • #3151 IDE: Fix completion of statement keywords
  • #3287 Templated interface extending another templated interface shouldn't run decorator on their operations
  • #3290 Model with an optional property should not satisfy a constraint with that property required. ({foo?: string} cannot be assigned to a constraint of {foo: string})
  • #3163 Fix: Model with spread indexer shouldn't validate explicit properties
  • #3227 Stop running decorators on partially instantiated operations(When interface is instantiated but not the operation)
  • #3180 Fix issue where directives were not parsed to the leaf node in multi-segment Namespace segments.
  • #3243 Fix calling tsp install on windows due to recent NodeJS breaking change to fix vulnerability.
  • #3216 Fix compiler crash when using an invalid is target in an interface operation template
  • #3246 Internals: Use node built-in fetch API that is now stable since node 18.13.0

Bump dependencies

  • #3169 Update dependencies

Features

  • #3035 getEncode returns the fully qualified enum member name if using a custom enum.
  • #3183 Show template parameters when hovering on an operation template
  • #3191 [API] Add new sourceModels property to model

@typespec/http

Bug Fixes

  • #3196 Fix password flow defining authorizationUrl instead of tokenUrl
  • #3190 Fix @path param mapping when spreading a record in operation parameters
  • #3218 Fix: @path property shouldn't be applicableMetadata if the visibility contains Read

Bump dependencies

  • #3169 Update dependencies

Breaking Changes

  • #2945 Empty model after removing metadata and applying visibility always results in "void"
    This means the following case have changed from returning {} to no body

    op b1(): {};
    op b2(): {@visibility("none") prop: string};
    op b3(): {@added(Versions.v2) prop: string};
    

    Workaround: Use explicit @body

    op b1(): {@body _: {}};
    op b2(): {@body _: {@visibility("none") prop: string}};
    op b3(): {@body _: {@added(Versions.v2) prop: string}};
    
  • #2945 Implicit status code always 200 except if response is explicitly void

    op c1(): {@header foo: string}; // status code 200 (used to be 204)
    

    Solution: Add explicit @statusCode

    op c1(): {@header foo: string, @statusCode _: 204};
    op c1(): {@header foo: string, ...NoContent}; // or spread common model
    
  • #2945 @body means this is the body

    This change makes using @body mean this is the exact body and everything underneath will be included, including metadata properties. If metadata properties are present on the body, a warning will be logged.

    op a1(): {@body _: {@header foo: string, other: string} };
                    ^ warning header in a body, it will not be included as a header.
    

    Use @bodyRoot if you want to only change where to resolve the body from.

    op a1(): {@bodyRoot _: {@header foo: string, other: string} };
    
  • #2945 Properties are not automatically omitted if everything was removed from metadata or visibility

    op d1(): {headers: {@header foo: string}}; // body will be {headers: {}}
    

    Solution: use @bodyIgnore

    op d1(): {@bodyIgnore headers: {@header foo: string}}; // body will be {headers: {}}
    

@typespec/versioning

Bug Fixes

  • #3264 Fix crash when @service appears inside a versioned namespace

Bump dependencies

  • #3169 Update dependencies

@typespec/rest

Bump dependencies

  • #3169 Update dependencies

Features

  • #2945 Add support for new @bodyRoot and @body distinction

@typespec/openapi

Bump dependencies

  • #3169 Update dependencies

@typespec/openapi3

Bug Fixes

  • #3218 Fix: @path property should be included in unreachable models

Bump dependencies

  • #3169 Update dependencies

Features

  • #2945 Add support for new @bodyRoot and @body distinction

@typespec/protobuf

Bump dependencies

  • #3169 Update dependencies

@typespec/prettier-plugin-typespec

Bump dependencies

  • #3169 Update dependencies

@typespec/eslint-plugin

Bump dependencies

  • #3169 Update dependencies

@typespec/html-program-viewer

Bump dependencies

  • #3169 Update dependencies

Features

  • #3191 Add sourceModels property to model view

@typespec/json-schema

Bump dependencies

  • #3169 Update dependencies

@typespec/internal-build-utils

Bump dependencies

  • #3169 Update dependencies

typespec-vs

No changes, version bump only.

typespec-vscode

Bump dependencies

  • #3169 Update dependencies

@typespec/library-linter

Bump dependencies

  • #3169 Update dependencies

[email protected]

08 May 01:17
dec5043
Compare
Choose a tag to compare

Bump dependencies

  • #3169 Update dependencies

@typespec/[email protected]

08 May 01:17
dec5043
Compare
Choose a tag to compare

Bump dependencies

  • #3169 Update dependencies

@typespec/[email protected]

08 May 01:17
dec5043
Compare
Choose a tag to compare

Bug Fixes

  • #3170 Add support for new intrinsic vs std lib split in the compiler.
  • #3151 Fix completion of keywords

Bump dependencies

  • #3169 Update dependencies

@typespec/[email protected]

08 May 01:17
dec5043
Compare
Choose a tag to compare

Bump dependencies

  • #3169 Update dependencies

[email protected]

02 Apr 22:34
2f53533
Compare
Choose a tag to compare

@typespec/compiler

Bug Fixes

  • #3018 Grammar: Fix comments in template params not tokenized
  • #3052 Fix: Union template declaration were incorrectly being finished in projection
  • #2983 Warnings converted to error with warn-as-error do not prevent compilation from moving to the next stage like regular warnings
  • #3041 Improve relability of application of codefixes in IDE, often it would not do anything
  • #3069 TmLanguage: Fix tokenization of escaped identifiers, enums and unions

Bump dependencies

  • #3027 Update dependencies

Features

  • #2992 Enable the use of @encode for model properties that have a union type. This supports cases like @encode("rfc3339") prop: utcDateTime | null
  • #3053 Experimental projection: Add support for scalars

Deprecations

  • #3094 Deprecate @knownValues decorator. Use a named union of string literal with a string variant to achieve the same result without a decorator

Example:

-enum FooKV { a, b, c}
-@knownValues(FooKV)
-scalar foo extends string;
+union Foo { "a", "b", "c", string }
  • #2910 Deprecate @projectedName decorator. @encodedName should be used instead.

Example:

-@projectedName("json", "exp")
+@encodedName("application/json", "exp")

@typespec/http

Bump dependencies

  • #3027 Update dependencies

@typespec/versioning

Bump dependencies

  • #3027 Update dependencies

Features

  • #3053 Add support for versioning of scalars(Added, removed, renamed)

@typespec/rest

Bump dependencies

  • #3027 Update dependencies

@typespec/openapi

Bump dependencies

  • #3027 Update dependencies

@typespec/openapi3

Bug Fixes

  • #3077 Do not crash if using an unsupported intrinsic type
  • #2967 Fix crash: emit {nullable: true} when trying to emit null in openapi3
  • #3013 Fix: OpenAPI3 not marking part of bytes or something else as format: binary
  • #3090 Fix: Literal unions with the same variants keep adding duplicate entries
  • #3049 Fix visibility naming conflict when a model used with extends was used in different visibility.

Bump dependencies

  • #3027 Update dependencies

@typespec/protobuf

Bump dependencies

  • #3027 Update dependencies

@typespec/prettier-plugin-typespec

Bump dependencies

  • #3027 Update dependencies

@typespec/eslint-config-typespec

Bug Fixes

  • #2122 Ignore generated-defs folder

Bump dependencies

  • #3027 Update dependencies

@typespec/eslint-plugin

Bump dependencies

  • #3027 Update dependencies

@typespec/html-program-viewer

Bump dependencies

  • #3027 Update dependencies

@typespec/json-schema

Bump dependencies

  • #3027 Update dependencies

@typespec/internal-build-utils

Bump dependencies

  • #3027 Update dependencies

typespec-vs

No changes, version bump only.

typespec-vscode

Bump dependencies

  • #3027 Update dependencies

@typespec/library-linter

Bump dependencies

  • #3027 Update dependencies