-
Notifications
You must be signed in to change notification settings - Fork 230
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add release notes for November release
- Loading branch information
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--- | ||
title: November 2023 | ||
--- | ||
|
||
# Release Notes November 2023 (2023-11-07) | ||
|
||
:::danger | ||
This release contains **breaking changes** | ||
::: | ||
|
||
## New Features | ||
|
||
### `@typespec/bundler` New Features | ||
|
||
- Add a new cli for `typespec-bundler` | ||
- Expose a bundle manifest with the relative importmap, package name and version. | ||
- Add new hook in emitter famework for handling circular references. | ||
- `TypeEmitter` now supports Tuples. | ||
- Emit error diagnostic if a model spreads itself within its declaration. | ||
- Stop showing empty code frame when diagnostic has no location. | ||
|
||
### `@typespec/compiler` New Features | ||
|
||
- Add new `unixTimestamp32` scalar to standard library. | ||
|
||
### `@typespec/json-schema` New Features | ||
|
||
- Add support for `TupleLiteral`. | ||
|
||
### `@typespec/openapi3` New Features | ||
|
||
- Support `@summary` on data types which emit the JSON Schema `title` property. | ||
|
||
### `@typespec/playground` New features | ||
|
||
- Add a format button to the playground command bar. | ||
- Add a notification to the standalone playground when the playground has been saved. | ||
- Add resizable panes for the editor and output. | ||
- Add ability to configure via `createBrowserHost` if library loading should use system `importmap` or the es-module-shim library with `importmap-shim`. This was added due to the lack of support for external source map in browsers. | ||
- [vite plugin] Provide the ability to configure bundling local libraries with the playground or manage the `importmap` yourself with `skipBundleLibraries` option. | ||
|
||
## Bug Fixes | ||
|
||
### `@typespec/compiler` Bug Fixes | ||
|
||
- Fix: `@doc` and jsdoc comments disappear from multi-segment or nested namespaces. | ||
- Fix: Using `@overload` could result in incorrect `unassignable` type errors. | ||
- Fix: Referencing a template in an alias might cause augment decorators to not be applied on types referenced in the aliased type. | ||
- Fix: Issues with removing keys from `RekeyableMap`. | ||
- Fix: Properties filtered with `@withVisibility` will have their visibility removed. This prevent visibility from being applied twice and rendering invalid models. | ||
|
||
### `@typespec/openapi3` Bug Fixes | ||
|
||
- Fix: Stops emitting an error when using `@body _: void` in operation parameters and treat it as no body. | ||
- Fix: Using shared routes would, in some cases, result in a `duplicate-header` error. | ||
|
||
## Breaking Changes | ||
|
||
### Typescript types breaking change | ||
|
||
The `package.json` files for all packages have been changed to use the standard `types` field instead of the legacy `typesVersions` field to specify types for subpath exports. This means that packages consuming TypeSpec must use the `moduleResolution` setting with `node16` or `nodenext` in their `tsconfig.json`. | ||
You might see the following error: | ||
|
||
```bash | ||
Cannot find module '@typespec/compiler/testing'. Did you mean to set the 'moduleResolution' option to 'nodenext' | ||
``` | ||
|
||
This can be resolved by changing the following in `tsconfig.json`: | ||
|
||
```diff | ||
-"moduleResolution": "ESNext", | ||
+"moduleResolution": "node16", | ||
``` | ||
|
||
### Dropped Support for Node version 16 | ||
|
||
- All typespec packages now specify node 18 as the minimum version. Consuming packages should no longer use node 16 and update the node specification in the `engines` section of their package.json file appropriately. | ||
|
||
### `@typespec/playground` Breaking Changes | ||
|
||
- Styles must be imported seperately with `import \"@typespec/playground/styles.css\";`. | ||
|
||
### `@typespec/versioning` Breaking Changes | ||
|
||
- Update targets for `@added`, `@removed`, `@renamedFrom`, `@madeOptional` and `@typeChangedFrom` to more clearly communicate where they can be used. Specs that applied these decorators to types that could not be versioned (like `namespace`) will now receive an error diagnostic. |