Skip to content

typespec@0.56.0

Latest
Compare
Choose a tag to compare
@azure-sdk azure-sdk released this 08 May 01:17
· 55 commits to main since this release
dec5043

@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