diff --git a/.chronus/changes/SemanticWalkerExitFixes-2024-9-9-10-27-23.md b/.chronus/changes/SemanticWalkerExitFixes-2024-9-9-10-27-23.md index b380c8573e..9d91beab1f 100644 --- a/.chronus/changes/SemanticWalkerExitFixes-2024-9-9-10-27-23.md +++ b/.chronus/changes/SemanticWalkerExitFixes-2024-9-9-10-27-23.md @@ -4,4 +4,4 @@ packages: - "@typespec/compiler" --- -Fix #4588 \ No newline at end of file +[API] Add missing exit callback diff --git a/docs/release-notes/release-2024-10-09.md b/docs/release-notes/release-2024-10-09.md new file mode 100644 index 0000000000..bc8425df22 --- /dev/null +++ b/docs/release-notes/release-2024-10-09.md @@ -0,0 +1,90 @@ +--- +title: 0.61 - October 2024 +--- + +:::warning +This release contains breaking changes +::: + +## Breaking Changes + +### @typespec/compiler + +- [#4539](https://github.com/microsoft/typespec/pull/4539) Config parameters and emitters options cannot contains `.`. This conflict with newly added support for nested options. +- [#4500](https://github.com/microsoft/typespec/pull/4500) API: Update default of `decoratorArgMarshalling` from `legacy` to `new` + +To revert to the old behavior export the following. **Highly discouraged, this will be removed in a few versions.** + +```ts +export const $flags = definePackageFlags({ + decoratorArgMarshalling: "legacy", +}); +``` + +- TypeSpec compiler expect the entrypoint to be an absolute path. This used to work with some alternative `CompilerHost` that handled relative path but this is no longer supported due to the new `exports` field support. + +## Features + +### @typespec/compiler + +- [#4442](https://github.com/microsoft/typespec/pull/4442) Library diagnostic can now define a `description` and `url` that links to a more detailed doc for this diagnostic +- [#4290](https://github.com/microsoft/typespec/pull/4290) Adding experimental (unstable) API fro Type Mutators +- [#4595](https://github.com/microsoft/typespec/pull/4595) Expose more accurate `PackageJson` type and deprecate `NodePackage` +- [#4606](https://github.com/microsoft/typespec/pull/4606) Add support for node `exports` field. Specific typespec exports can be provided with the `typespec` field + +```json +"exports": { + ".": { + "typespec": "./lib/main.tsp", + }, + "./named": { + "typespec": "./lib/named.tsp", + } +} +``` + +- [#4539](https://github.com/microsoft/typespec/pull/4539) Support nested emitter options + +### @typespec/http + +- [#4513](https://github.com/microsoft/typespec/pull/4513) Adds HttpStream and JsonlStream models to to support streaming use-cases. + +### @typespec/openapi3 + +- [#4423](https://github.com/microsoft/typespec/pull/4423) Added support to use Scalar and Object as default types + +### @typespec/json-schema + +- [#4447](https://github.com/microsoft/typespec/pull/4447) Example set with `@example` decorator will populate the schema `examples` property + +### typespec-vscode + +- [#4330](https://github.com/microsoft/typespec/pull/4330) Support Compile Task and Watch Task in vscode. +- [#4498](https://github.com/microsoft/typespec/pull/4498) Make extension web compatible with minimal functionality + +## Bug Fixes + +### @typespec/compiler + +- [#4513](https://github.com/microsoft/typespec/pull/4513) Fixes issue with the semantic walker where `exitTuple` was not being emitted. +- [#4462](https://github.com/microsoft/typespec/pull/4462) Fix examples with enums inside of unions +- [#4574](https://github.com/microsoft/typespec/pull/4574) Fix: Passing `const` of model type to `@example` +- [#4551](https://github.com/microsoft/typespec/pull/4551) Json serialization of example respect `@encodedName` +- [#4514](https://github.com/microsoft/typespec/pull/4514) Fix issue with decimal numeric and leading `0.0` with multiple digit +- [#4445](https://github.com/microsoft/typespec/pull/4445) [API] model `sourceModels` property are now projected correctly +- [#4467](https://github.com/microsoft/typespec/pull/4467) Changing tspconfig.yaml won't take effect in LSP server because of the cache +- [#4563](https://github.com/microsoft/typespec/pull/4563) `tsp compile --watch` reread from `tspconfig.yaml` file +- [#4626](https://github.com/microsoft/typespec/pull/4626) [API] Add missing exit callback + +### @typespec/openapi + +- [#4505](https://github.com/microsoft/typespec/pull/4505) `@info` decorator validate no extra properties not starting with `x-` are provided. +- [#4483](https://github.com/microsoft/typespec/pull/4483) `@info` decorator validate `termsOfService` is a valid url + +### @typespec/internal-build-utils + +- [#4498](https://github.com/microsoft/typespec/pull/4498) Ignore test from third party notice generation + +### typespec-vscode + +- [#4430](https://github.com/microsoft/typespec/pull/4430) Use "shell" when spawning execution of .cmd file(i.e. tsp-server.cmd) in windows diff --git a/packages/website/package.json b/packages/website/package.json index ccd1a64527..d0f812d75a 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -55,6 +55,9 @@ "@typespec/json-schema": "workspace:~", "@typespec/openapi": "workspace:~", "@typespec/openapi3": "workspace:~", + "@typespec/events": "workspace:~", + "@typespec/streams": "workspace:~", + "@typespec/sse": "workspace:~", "@typespec/playground-website": "workspace:*", "@typespec/protobuf": "workspace:~", "@typespec/rest": "workspace:~", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a2299f65e..82d45cd6c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1963,6 +1963,9 @@ importers: '@typespec/compiler': specifier: workspace:~ version: link:../compiler + '@typespec/events': + specifier: workspace:~ + version: link:../events '@typespec/http': specifier: workspace:~ version: link:../http @@ -1990,6 +1993,12 @@ importers: '@typespec/spec': specifier: workspace:* version: link:../spec + '@typespec/sse': + specifier: workspace:~ + version: link:../sse + '@typespec/streams': + specifier: workspace:~ + version: link:../streams '@typespec/tspd': specifier: workspace:~ version: link:../tspd