Adding release notes for September release (core) (#2407)

This commit is contained in:
Mark Cowlishaw 2023-09-12 12:53:44 -07:00 коммит произвёл GitHub
Родитель 292f7445ea
Коммит e3eb6c9df0
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 87 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,87 @@
---
title: September 2023
---
# Release Notes September 2023 (2023-09-12)
:::danger
This release contains **breaking changes**
:::
## New Features
### `@typespec/compiler` New Features
- Allow library authors to precisely define the visibility of operation templates with new decorators `@parameterVisibility` and `@returnTypeVisibility`, paired with corresponding accessor methods `getParameterVisibility` and `getReturnTypeVisibility`.
- Add coloring for documentation comments in Visual Studio and Visual Studio Code language extensions.
- Change yaml parser from `js-yaml` to `yaml`, enabling more precise validation and error reporting in `tspconfig.yaml`
- Added validation to ensure that properties of a derived model (using `extends`) are compatible with the base model indexer.
- Export `CompilerOptions` TypeScript type.
- Report library information when library code crashes during `$onValidate` execution.
- Diagnostics reported on a node with an `id` property will highlight the id instead of the entire node. For example, if a diagnostic is reported on a `model` type, the model name will be highlighted, instead of the entire model definition.
### `@typespec/http` New Features
- Add new helper method `resolveRequestVisibility` which incorporates settings from new core decorators `@parameterVisibility` and `@returnTypeVisibility`. This replaces the deprecated `getRequestVisibility` helper.
- Add new helper method `getDefaultVisibilityForVerb` which returns the default visibility for Http verbs.
- Add validation step to issue a warning when an `operation is` statement does not include route information from the original operation container (`interface` or `namespace`). This helps to prevent unexpected route changes when using operation references.
- Add validation to prevent runtime errors when `OAuth2Auth` is given invalid `OAuth2Flow` arguments.
### `@typespec/json-schema` New Features
- Support decimal scalar types.
### `@typespec/openapi3` New Features
- Allow library authors to override default Http verb visibility in operation declarations.
### `@typespec/protobuf` New features
- Support `omit-unreachable-types` option.
- Automatically convert empty operation parameters into a reference to `google.protobuf.Empty` instead of synthesizing an empty model.
### `typespec-vscode` New features
- Add color definition for `@param` tag in documentation comments
## Bug Fixes
### `@typespec/compiler` Bug Fixes
- Fix issue where specifying a directory using the `--config` command line option would search the parent folder hierarchy looking for `tspconfig.yaml`.
- Fix Stack overflow when a model property references itself.
- Fix compiler crash when using the alias of a namespace that has decorators.
- Fix compiler freeze when an invalid token appears between doc comment and type.
- Fix compiler crash when relating recursive types.
- Fix typo in format error diagnostic.
### `@typespec/openapi3` Bug Fixes
- Fixed issue where parameters marked with visibility \"create\" did not appear in a `PATCH` request body.
- Fixed incorrect usage of `exclusiveMinimum` and `exclusiveMaximum` boolean properties.
- Use `anyOf` instead of `oneOf` for operations with shared routes and different request or response bodies.
- Fix handling of `Record<T>` in `model is` and `model extends` statements.
### `@typespec/versioning` Bug Fixes
- Fixed validation in `@typeChangedFrom` for incorrect versioned references.
## Deprecations
### `@typespec/compiler` Deprecations
- The `@deprecated` decorator has been marked as deprecated. Use `#deprecated` directive instead.
### `@typespec/http` Deprecations
- The `getRequestVisibility` helper function is now deprecated. Use `resolveRequestVisibility` or `getDefaultVisibilityForVerb` instead.
## Breaking Changes
### `@typespec/compiler` Breaking Changes
- A semicolon is now required at the end of augment decorator statements. The formatter was already inserting the semicolon, if omitted. For example:
```tsp
@@doc(MyType.myProperty, "Documentation for myProperty");
```