Add release notes for January release (#2813)
This commit is contained in:
Родитель
55ea44250d
Коммит
f31fae0e48
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
title: January 2024
|
||||
---
|
||||
|
||||
# Release Notes January 2024 (2024-01-23)
|
||||
|
||||
:::danger
|
||||
This release contains **breaking changes**
|
||||
:::
|
||||
|
||||
## New Features
|
||||
|
||||
### `@typespec/compiler` New Features
|
||||
|
||||
- **New Language Feature** Added support for named template arguments. Typespec template arguments can now be instantiated both positionally and by name. See [this issue](https://github.com/microsoft/typespec/issues/2340) for details.
|
||||
- All TypeSpec libraries normalized Template parameter names in anticipation of this change.
|
||||
- Renamed template parameters in preparation for named template argument instantiation.
|
||||
- Added new `--template` option to `tsp init` command line action which lets user specify which template to choose from in the template list.
|
||||
- Added a new init template for creating a new TypeSpec emitter.
|
||||
- Added a new init template for creating a new TypeSpec library.
|
||||
- **New Language Feature** Added the ability to use another template parameter as a constraint, e.g. `model Foo<A, B extends A>`.
|
||||
- Added `@encodedName` decorator and `getEncodedName` accessor.
|
||||
- Added support for bytes encode to the general encode type.
|
||||
- Library declaration: Enabled declaration of State symbols in the library declaration, providing a central place to define state symbols used in your libraries.
|
||||
- Added a new helper function to change casing to the init templates.
|
||||
|
||||
### `@typespec/bundler` New Features
|
||||
|
||||
- Support for the `types` entry under `exports` in package definitions (instead of the legacy `typesVersions`).
|
||||
- All TypeSpec libraries are now using this definition style.
|
||||
- Add a new cli for `typespec-bundler`.
|
||||
- Expose a bundle manifest with relative importmap, package name, and version.
|
||||
|
||||
### `@typespec/openapi3` New Features
|
||||
|
||||
- Added support for `@encodedName` decorator.
|
||||
|
||||
### `@typespec/playground` New features
|
||||
|
||||
- Added a format button to the playground command bar.
|
||||
- Added a notification to the standalone playground when the playground has been saved.
|
||||
- Added resizable panes for the editor and output.
|
||||
- Added the ability to pass a custom footer and use `Footer` and `FooterItem` component to build your own.
|
||||
- Added the ability to configure the playground 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.
|
||||
- Provided the ability to configure bundling local libraries with the playground or manage the `importmap` yourself with `skipBundleLibraries` option.
|
||||
- Moved errors and warnings to a dedicated expandable banner at the bottom of the playground.
|
||||
- Removed `githubIssueUrl` link and replaced with a `onFileBug` callback.
|
||||
- Allowed standalone playground to show a loading fallback.
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
### `@typespec/compiler` Bug Fixes
|
||||
|
||||
- Fix: Improved performance of the language server, impacting performance of syntax highlighting and other IDE features.
|
||||
- Fix: Enabled compiler file resolution for long path names (256+ characters) on windows.
|
||||
- Fix: Turned off warning when `tsp init` is used with a template that does not specify `compilerVersion`.
|
||||
|
||||
### `@typespec/http` Bug Fixes
|
||||
|
||||
- Fix: Ensured `@path` custom name is respected.
|
||||
- Fix: Allowed correct path generation when path parameter is not alpha numeric(Either with a different name provided in `@path` or if the property name is not an identifier)
|
||||
|
||||
### `@typespec/playground` Bug Fixes
|
||||
|
||||
- Fix: Configured the program viewer to respect the color theme.
|
||||
- Fix: Provided css exports to `styles.css` in addition to `style.css`. Both are now available for backward compatibility but `styles.css` is the recommended name.
|
||||
|
||||
### `@typespec/rest` Bug Fixes
|
||||
|
||||
- Fix: Corrected handling of custom @path name in the building of the route.
|
||||
|
||||
### `@typespec/versioning` Bug Fixes
|
||||
|
||||
## Deprecations
|
||||
|
||||
### `@typespec-compiler` Deprecations
|
||||
|
||||
- Library declaration: Deprecated linter property on `$lib` in favor of a new `$linter` variable that can be exported. This was done to discourage circular references caused by referencing linter rules in `$lib`.
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
### Node Version Requirement
|
||||
|
||||
- TypeSpec dropped support for node version 16, as this version of node is no longer generally supported. Minimum node version is 18.
|
||||
|
||||
### `typespec-playground` Breaking Changes
|
||||
|
||||
- **BREAKING CHANGE** Styles must be imported seperately with `import \"@typespec/playground/styles.css\";`.
|
Загрузка…
Ссылка в новой задаче