Update release notes for December release (#2732)
This commit is contained in:
Родитель
211ca4fda3
Коммит
3fbfbda9a4
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
title: December 2023
|
||||
---
|
||||
|
||||
# Release Notes December 2023 (2023-12-05)
|
||||
|
||||
:::danger
|
||||
This release contains **breaking changes**
|
||||
:::
|
||||
|
||||
## New Features
|
||||
|
||||
### `@typespec/compiler` New Features
|
||||
|
||||
- **New Language Feature** Added string template literal in typespec. Single and multi-line strings can be interpolated with `${` and `}`. Example `\\Doc for url ${url} is here: ${location}\\`
|
||||
- [Emitter Framework]: `emitTypeReference` function takes an optional reference context that can be used to patch the context for the target.
|
||||
- [Emitter Framework]: Added `absolute-path` as a known format for emitter options which will validate the value passed by the user resolve to an absolute path.
|
||||
- [Emitter Framework]: Allow scalar and enum declarations to provide a reference context.
|
||||
- [Emitter Framework]: Allow passing a custom context when calling `emitType`.
|
||||
- Linter rules can now supply a full url to documentation.
|
||||
- Upgrade formatter to `prettier` version 3.1.
|
||||
|
||||
### `@typespec/http` New Features
|
||||
|
||||
- Add diagnostic when a namespace exists with routes, but no namespace is marked with `@service`.
|
||||
|
||||
### `@typespec/json-schema` New Features
|
||||
|
||||
- Add support for simple literal default on model properties.
|
||||
- Add support for `StringTemplate` literals.
|
||||
|
||||
### `@typespec/openapi3` New Features
|
||||
|
||||
- Now emits all properties of unreferenced schemas.
|
||||
- Treat union variants as Discriminator.
|
||||
- Emitter will now emit all properties of unreferenced schemas.
|
||||
|
||||
### `@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.
|
||||
- Enable changing the theme.
|
||||
- Add resizable panes for the editor and output
|
||||
- Add ability to pass a custom footer and use `Footer` and `FooterItem` component to build your own.
|
||||
- Add `noopener noreferrer` to footer external link
|
||||
- Move errors and warnings to a dedicated expandable banner at the bottom of the playground.
|
||||
- **BREAKING CHANGE** Styles must be imported seperately with `import \"@typespec/playground/styles.css\";`
|
||||
- Allow standalone playground to show a loading fallback.
|
||||
- Upgrade swagger-ui component.
|
||||
|
||||
### `@typespec/rest` New Features
|
||||
|
||||
- Fix issue with `ResourceCreateModel` template collecting \"update\" properties instead of \"create\" properties.
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
### `@typespec/compiler` Bug Fixes
|
||||
|
||||
- [Formatter]: Fix: Preserve parentheses in `valueof` expressions inside a union or array (e.g. `(value of strring) | Model`).
|
||||
- Fix: Union variants are now assigned to the parent union.
|
||||
|
||||
### `@typespec/json-schema` Bug Fixes
|
||||
|
||||
- Fix: Enum with a value of `0` would have resulted in `type` of `string` and `number`.
|
||||
- Fix: Scalar constraints combine with base scalar constraints.
|
||||
- Fix `@maxValueExclusive` setting `minimumExclusive` instead of `maximumExclusive`
|
||||
|
||||
### `@typespec/openapi3` Bug Fixes
|
||||
|
||||
- Fix: Report diagnostic instead of throwing errors in the case of duplicate ids or unknown scalar.
|
||||
- FIX: Handle `bytes` as a multipart part type correctly and produce `type: string, format: binary`
|
||||
|
||||
### `@typespec/playground` Bug Fixes
|
||||
|
||||
- Configure the program viewer to respect the color theme",
|
||||
|
||||
### `@typespec/versioning` Bug Fixes
|
||||
|
||||
- Fix crash in versioning library`.
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
- **New Language Feature** string interpolation to strings in TypeSpec. Strings that use the sequence `${` are now expected to start a reference to an interpolated value. Strings that contain `${` and are not meant for interpolation must now be escaped with a `\`, like this: `\${`.
|
||||
|
||||
### Semantic Changes in OpenApi3 Output
|
||||
|
||||
- Previously, unreferenced `Model` types (types not used in any operation) were emitted using `read` visibility, meaning that properties that had only `create` or `update` visibility would not be included in the corresponding schema in the `@typespec/openapi3` emitter. In this release, all properties of unreferenced Model types will appear in the output.
|
||||
- Previously, `bytes` types that appeared in a `multipart/form-data` request or response would be marked as a base64 encoded string. In this release, `multipart/form-data` `bytes` types appearing in parts with an `object` type will be treated as a base64-encoded string, while those in non-model parts will appear as raw binary data.
|
Загрузка…
Ссылка в новой задаче