Releases: microsoft/typespec
Releases · microsoft/typespec
@typespec/[email protected]
Bug Fixes
- #6041 Fix validation issue in
@opExample
when using versioning/mutators
@typespec/[email protected]
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]
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]
Bug Fixes
- #6003 Fix regression where enum values would report not being assignable to their enum when using versioning
@typespec/[email protected]
Features
- #5906 Implement basic project scaffolding.
@typespec/[email protected]
Bug Fixes
- #5975 Downgrade arborist dependency which added node20+ requirement
[email protected]
Patch Changes
- #5620Enhance the UI experience for code generation
@typespec/[email protected]
@typespec/[email protected]
Bug Fixes
- #5726 Updates
CollectionWithNextLink
to support pagination
[email protected]
@typespec/compiler
Bug Fixes
- #5295 Fix incorrectly returning a positive
BigInt
for a negativeNumeric
. - #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 thex-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 (likestatusCode
). - #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.