Skip to content

Releases: microsoft/typespec

@typespec/[email protected]

17 Jul 01:45
6a3bbf6
Compare
Choose a tag to compare

Bump dependencies

  • #3718 Dependency updates July 2024

@typespec/[email protected]

17 Jul 01:44
6a3bbf6
Compare
Choose a tag to compare

Bump dependencies

  • #3718 Dependency updates July 2024

Features

  • #3585 Add error recovery for viewer that crash
  • #3750 Add new property on the playground to add custom buttons on the toolbar
  • #3713 Extract splitpane into separate package

@typespec/[email protected]

17 Jul 01:44
6a3bbf6
Compare
Choose a tag to compare

No changes, version bump only.

@typespec/[email protected]

17 Jul 18:09
d705dd5
Compare
Choose a tag to compare

Bug Fixes

  • #3875 Fix issues with examples not working with Array, Record, Union and unknown types

@typespec/[email protected]

17 Jul 01:44
6a3bbf6
Compare
Choose a tag to compare

Bump dependencies

  • #3718 Dependency updates July 2024

@typespec/[email protected]

10 Jul 22:26
b5d766c
Compare
Choose a tag to compare
Pre-release
[http-server-javascript] Merge JavaScript Server Generator to Main (#…

[email protected]

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

@typespec/compiler

Bug Fixes

  • #3399 Preserve leading whitespace in fenced blocks in doc comments
  • #3566 [API] Do not run decorators on cloned type if the original type wasn't finished
  • #3522 Fix EINVAL error when running tsp code install
  • #3371 Numeric not handling trailing zeros and causing freeze(e.g. const a = 100.0)
  • #3451 Emitter framework: fix losing context when referencing circular types
  • #3517 Fix application of @param doc tag on operation create with op is to override upstream doc
  • #3488 Add PickProperties type to dynamically select a subset of a model

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3280 Support completion for Model with extended properties

    Example

    model Device {
      name: string;
      description: string;
    }
    
    model Phone extends Device {
      ┆
    } | [name]
      | [description]
  • #3280 Support completion for object values and model expression properties.

    Example

    model User {
      name: string;
      age: int32;
      address: string;
    }
    
    const user: User = #{name: "Bob", ┆}
                                      | [age]
                                      | [address]
  • #3375 Allow @ to be escaped in doc comment with \

  • #3022 Add syntax for declaring values. See docs.

Object and array values

@dummy(#{
  name: "John",
  age: 48,
  address: #{ city: "London" }
  aliases: #["Bob", "Frank"]
})

Scalar constructors

scalar utcDateTime {
  init fromISO(value: string);
}

model DateRange {
  minDate: utcDateTime = utcDateTime.fromISO("2024-02-15T18:36:03Z");
}
  • #3527 Add support for @prop doc comment tag to describe model properties

  • #3422 Formatter: Indent or dedent multiline strings to the current indentation

  • #3460 Hide deprecated items from completion list

  • #3443 Support completion for keyword 'extends' and 'is'

    Example

    model Dog ┆ {}
              | [extends]
              | [is]
    
    scalar Addresss ┆ 
                    | [extends]
    
    op jump ┆ 
            | [is]
    
    interface ResourceA ┆ {}
                        | [extends]
    
    model Cat<T ┆> {}
                | [extends]
  • #3462 Linter all rulesets is automatically created if not explicitly provided

  • #3533 More logs and traces are added for diagnostic and troubleshooting in TypeSpec language server

Deprecations

  • #3022 Using a tuple type as a value is deprecated. Tuple types in contexts where values are expected must be updated to be array values instead. A codefix is provided to automatically convert tuple types into array values.
model Test {
  // Deprecated
  values: string[] = ["a", "b", "c"];
  
  // Correct
  values: string[] = #["a", "b", "c"];
  • #3022 Using a model type as a value is deprecated. Model types in contexts where values are expected must be updated to be object values instead. A codefix is provided to automatically convert model types into object values.
model Test {
  // Deprecated
  user: {name: string} = {name: "System"};
  
  // Correct
  user: {name: string} = #{name: "System"};
  • #3022 Decorator API: Legacy marshalling logic

With the introduction of values, the decorator marshalling behavior has changed in some cases. This behavior is opt-in by setting the valueMarshalling package flag to "new", but will be the default behavior in future versions. It is strongly recommended to adopt this new behavior as soon as possible.

Example:

extern dec multipleOf(target: numeric | Reflection.ModelProperty, value: valueof numeric);

Will now emit a deprecated warning because value is of type valueof string which would marshall to Numeric under the new logic but as number previously.

To opt-in you can add the following to your library js/ts files.

export const $flags = definePackageFlags({
  decoratorArgMarshalling: "new",
});

@typespec/http

Bug Fixes

  • #3022 Update Flow Template to make use of the new array values

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3342 Add new multipart handling. Using @multipartBody with HttpPart<Type, Options>. See multipart docs for more information.

    op upload(@header contentType: "multipart/mixed", @multipartBody body: {
      name: HttpPart<string>;
      avatar: HttpPart<bytes>[];
    }): void;
  • #3462 Use new compiler automatic all ruleset instead of explicitly provided one

@typespec/versioning

Bug Fixes

  • #3292 Add @madeRequired decorator
  • #3022 Update to support new value types
  • #3409 Using @removed on member types and @added on containing type could result in errors
  • #3255 If a property were marked with @added on a later version, the logic that said it was originally added on the first version was erroneously removed, resulting in incorrect projections.

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/rest

Bug Fixes

  • #3022 Update types to support new values in TypeSpec

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/openapi

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/openapi3

Bug Fixes

  • #3342 Add support for new multipart constructs in http library
  • #3574 Emit diagnostic when an invalid type is used as a property instead of crashing.

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3022 Add support for new object and array values as default values (e.g. decimals: decimal[] = #[123, 456.7];)

@typespec/protobuf

Bug Fixes

  • #3022 Update to support new value types
  • #3561 Corrected cross-package reference behavior in some buggy cases.

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/prettier-plugin-typespec

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/eslint-plugin

Bump dependencies

  • #3401 Update dependencies - May 2024

@typespec/html-program-viewer

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3022 Add support for values

@typespec/json-schema

Bug Fixes

  • #3398 Fix decorators application for union variants
  • #3022 Update to support new value types
  • #3430 The emitted JSON Schema now doesn't make root schemas for TypeSpec types which do not have the @jsonschema decorator or are contained in a namespace with that decorator. Instead, such schemas are put into the $defs of any root schema which references them, and are referenced using JSON Pointers.

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

@typespec/internal-build-utils

Bump dependencies

  • #3401 Update dependencies - May 2024

typespec-vs

Features

typespec-vscode

Bump dependencies

  • #3401 Update dependencies - May 2024

Features

  • #3533 Enhance logging and trace
  1. Support "Developer: Set Log Level..." command to filter logs in TypeSpec output channel
  2. Add "typespecLanguageServer.trace.server" config for whether and how to send th...
Read more

[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