Skip to content

Releases: microsoft/typespec

@typespec/[email protected]

18 Feb 19:19
59f085d
Compare
Choose a tag to compare

Bug Fixes

  • #6041 Fix validation issue in @opExample when using versioning/mutators

@typespec/[email protected]

14 Feb 00:29
ba241e8
Compare
Choose a tag to compare
Efv2 to main (#5996)

# Efv2 Integration  

This PR introduces the work on **Emitter Framework v2** from the feature
branch into main. The existing emitter framework functionality remains
unchanged for now, the new framework is added as a new package
@typespec/emitter-framework

### **Core Changes**  

- **Compiler Alloy Support**  
- The compiler now detects if `$onEmit` returns an **Alloy component**.
If so, it loads Alloy and calls `render`.
  - This enables emitters to use Alloy components.  

- **New Package: `@typespec/emitter-framework`**  
- Wraps raw Alloy components to accept **TypeSpec types as props** and
automatically generate language elements.
- Currently includes a **subexport for TypeScript (`/typescript`)**,
with plans to extend support to other languages.
- Example: `ts.Interface` can take a `Model` or `Interface` and directly
render a TypeScript interface with model properties or operation
signatures.

- **New Package: `@typespec/http-client`**  
- Provides **TypeKits** for querying the **type graph** in the context
of an **HTTP client**.
- The goal is to eventually **power TCGC** and host decorators that make
sense in this context.
- Remains **decoupled from Azure**, but we may later introduce an
extension package (`@azure-tools/http-client-azure`) for Azure-specific
logic and decorators.

###  **Follow Up Work**  
- Deprecate EFv1
- A follow up API review and clean-up will be needed, specifically
around TypeKits

@typespec/[email protected]

14 Feb 00:29
ba241e8
Compare
Choose a tag to compare
Efv2 to main (#5996)

# Efv2 Integration  

This PR introduces the work on **Emitter Framework v2** from the feature
branch into main. The existing emitter framework functionality remains
unchanged for now, the new framework is added as a new package
@typespec/emitter-framework

### **Core Changes**  

- **Compiler Alloy Support**  
- The compiler now detects if `$onEmit` returns an **Alloy component**.
If so, it loads Alloy and calls `render`.
  - This enables emitters to use Alloy components.  

- **New Package: `@typespec/emitter-framework`**  
- Wraps raw Alloy components to accept **TypeSpec types as props** and
automatically generate language elements.
- Currently includes a **subexport for TypeScript (`/typescript`)**,
with plans to extend support to other languages.
- Example: `ts.Interface` can take a `Model` or `Interface` and directly
render a TypeScript interface with model properties or operation
signatures.

- **New Package: `@typespec/http-client`**  
- Provides **TypeKits** for querying the **type graph** in the context
of an **HTTP client**.
- The goal is to eventually **power TCGC** and host decorators that make
sense in this context.
- Remains **decoupled from Azure**, but we may later introduce an
extension package (`@azure-tools/http-client-azure`) for Azure-specific
logic and decorators.

###  **Follow Up Work**  
- Deprecate EFv1
- A follow up API review and clean-up will be needed, specifically
around TypeKits

@typespec/[email protected]

13 Feb 18:19
5f1e99b
Compare
Choose a tag to compare

Bug Fixes

  • #6003 Fix regression where enum values would report not being assignable to their enum when using versioning

@typespec/[email protected]

13 Feb 01:23
722e964
Compare
Choose a tag to compare
Pre-release

Features

  • #5906 Implement basic project scaffolding.

@typespec/[email protected]

12 Feb 19:20
2b9d287
Compare
Choose a tag to compare

Bug Fixes

  • #5975 Downgrade arborist dependency which added node20+ requirement

[email protected]

24 Jan 08:39
e477a88
Compare
Choose a tag to compare

Patch Changes

  • #5620Enhance the UI experience for code generation

@typespec/[email protected]

24 Jan 06:46
5b49b5d
Compare
Choose a tag to compare
Pre-release

Bug Fixes

  • #5626 Fixes controller generation with incorrect return when NoContent is in the spec
  • #5733 Add scaffolding option for csharp generator

Bump dependencies

  • #5690 Upgrade dependencies

@typespec/[email protected]

24 Jan 00:07
9517d45
Compare
Choose a tag to compare

Bug Fixes

  • #5726 Updates CollectionWithNextLink to support pagination

[email protected]

15 Jan 22:39
5478163
Compare
Choose a tag to compare

@typespec/compiler

Bug Fixes

  • #5295 Fix incorrectly returning a positive BigInt for a negative Numeric.
  • #5353 Meta property are auto-completed, current only supported '::type', '::parameters', '::returnType'
  • #5180 Fixed serialization of object examples on unions
  • #5525 Enum-driven visibility decorators and projections now interact correctly.

Projections now project EnumValue values to preserve consistency with projected Enum/EnumMember types using a best-effort
strategy.

Features

  • #5415 Added support for emitter selections for init template.
  • #5316 Compiler trace will be sent to IDE as trace log through language server
  • #5594 Support Emitters section in Init Template when creating TypeSpec project in vscode
  • #5294 Add capacities in TypeSpec Language Server to support "Scaffolding new TypeSpec project" in IDE

@typespec/http

Features

  • #5153 Adds getStreamMetadata JS API to simplify getting stream metadata from operation parameters and responses.

@typespec/versioning

No changes, version bump only.

@typespec/rest

Bug Fixes

  • #5455 In some scenarios, the options for the @path decorator do not accurately reflect the provided parameters, including the #{allowReserved: true} which is the x-ms-skip-url-encoding option. This change addresses and fixes this issue.

@typespec/openapi

No changes, version bump only.

@typespec/openapi3

Bug Fixes

  • 234eaeb Allow void to be the response body type when other fields are present in the model. Previously, using void as a response body type would fail compilation if the model contained other fields (like statusCode).
  • #5456 Fix: OpenAPI YAML converts strings to boolean

Features

  • #5372 Adds support for @typespec/json-schema decorators with Open API 3.0 and 3.1 emitters.
  • #5372 Adds support for emitting Open API 3.1 models using the openapi-versions emitter configuration option.
    Open API 3.0 is emitted by default.

@typespec/protobuf

No changes, version bump only.

@typespec/prettier-plugin-typespec

No changes, version bump only.

@typespec/eslint-plugin

No changes, version bump only.

@typespec/html-program-viewer

No changes, version bump only.

@typespec/json-schema

No changes, version bump only.

@typespec/internal-build-utils

Bug Fixes

  • #5312 resolve the program crash when there is no package name in package.json

typespec-vs

No changes, version bump only.

typespec-vscode

Bug Fixes

  • #5413 Do not start TypeSpec Language Server when there is no workspace opened
  • #5131 Support 'See Document' quick action to view the details of linter rules
  • #5428 improve console output when tsp-server not found

Features

  • #5312 integrate client SDK generation
  • #5314 Rename vscode extension from "TypeSpec for VS Code" to "TypeSpec"
  • #5594 Support Emitters section in Init Template when creating TypeSpec project in vscode
  • #5294 Support "Create TypeSpec Project" in vscode command and EXPLORER when no folder opened
    Add Setting "typespec.initTemplatesUrls" where user can configure additional template to use to create TypeSpec project
    example:
{
  "typespec.initTemplatesUrls": [
    {
      "name": "displayName",
      "url": "https://urlToTheFileContainsTemplates"
    }],
}

Support "Install TypeSpec Compiler/CLI globally" in vscode command to install TypeSpec compiler globally easily

@typespec/library-linter

No changes, version bump only.

@typespec/events

No changes, version bump only.

@typespec/sse

No changes, version bump only.

@typespec/streams

No changes, version bump only.

@typespec/xml

No changes, version bump only.