Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release notes for October release #2551

Merged
merged 3 commits into from
Oct 11, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions docs/release-notes/release-2023-10-10.md
timotheeguerin marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: October 2023
---

# Release Notes October 2023 (2023-10-10)

:::danger
This release contains **breaking changes**
:::

timotheeguerin marked this conversation as resolved.
Show resolved Hide resolved
## New Features

### `@typespec/compiler` New Features

- The `never` type is now assignable to all types.
- Allow contraint decorators (e.g. `@minValue`, `@maxValue`, `@maxLength`, etc.) to be applied to nullable types.
- Add support for `@returns` and `@errors` doc comment tags.
- `@returns`(or `@returnsDoc` decorator) can be used to describe the success return types of an operation.
- `@errors`(or `@errorsDoc` decorator) can be used to describe the error return types of an operation.
- Skip emit of `deprecated` diagnostic for a type reference that is used in a deprecated declaration statement.
- `TypeScript` use `types` entry under `exports` of `package.json` instead of legacy `typesVersions` to provide the definition files.
markcowl marked this conversation as resolved.
Show resolved Hide resolved
- Improve website performance by removing `decorators` export and importing decorators individually.

### `@typespec/http` New Features

- Add support for `@returns` and `@errors` doc comment tags.
- Add support for status code ranges for http responses. **Change to API** Http responses can now also return a `HttpStatusCodeRange` object for their status codes.
- Emit error diagnostic when multiple properties on a response model have the `@statusCode` decorator.

### `@typespec/json-schema` New Features

- Disable folding of serialized yaml if line is above 80 characters.

### `@typespec/openapi` New Features

- Remove `@typespec/rest` as a `peerDependency`.
- Support Http Status Code ranges.
- **Breaking Change** Changed namespace from `OpenAPI` to `TypeSpec.OpenAPI`.

### `@typespec/openapi3` New Features

- Remove `@typespec/rest` as a `peerDependency`.
- Add support for constraints on union types.
- Add support for `@returns` and `@errors` doc comment tags.
- Add support for http status code ranges.

### `@typespec/protobuf` New features

- Added support for emitting documentation comments in protobuf specifications.

### `@typespec/rest` New features

- Remove peer dependency on `@typespec/http` library.

## Bug Fixes

### `@typespec/compiler` Bug Fixes

- Fix: Correct handling of hyphens in doc comments.
- Fix: Colorization of line comments extending into the next line.
- Fix: Crash when using parentheses in directives.
- Fix: Allow assigning negative and 0 values to `float64` types.
- Fix: Return non-zero format code when tsp formatting fails.
- Fix: Correct formatting of anonymous unions to exclude leading ':' character.
- Fix: Unions and Enum members are now formatted following the same rules as model properties. An extra line will be added between members if the member is annotated with a decorator, directive or doc comment.
- Fix: Correct formatting of comments between a directive or doc and its node.
- Fix: `tsp init` was not creating the `tspconfig.yaml` file for templates that specified it.
- Fix: `tsp init` will create a placeholder `tspconfig.yaml` file for templates that don't specify an explicit one.
- Fix: Language Server wasn't loading the `tspconfig.yaml` correctly resulting in some options being dropped, like the linter configuration.
- Fix: Allow `null` to be assigned as a default value.
- Fix: Using `TypeSpec.Xyz` namespace shouldn't require the `TypeSpec Prefix`.

### `@typespec/openapi3` Bug Fixes

- Fix: Correctly generate discriminated union mapping property with multiple visibilities.
- Fix: Crash when assigning a numeric default to a union.
- Fix: Using format `ssv` or `pipes` in `@header` produced an invalid OpenAPI3 schema. It will now change the type to string, ignore the format, and emit a warning diagnostic.
- Fix: Allow using null as a default value.
- Fix: Allow use of `@oneOf` on model properties.
- Fix: Correct representation of CSV format.

### `@typespec/rest` Bug Fixes

- Fix: `@key` can now appear on the base model of a resource.

### `@typespec/versioning` Bug Fixes

- Ensure that use of `@renamedFrom` does not result in duplicate properties on a model.

## Breaking Changes

### `@typespec/http` Breaking Changes

- Http responses can now also return a `HttpStatusCodeRange` object for their status codes. Emitters will need to handle the additional status code content when processing status codes.
- Emit error diagnostic when multiple properties on a response model have the `@statusCode` decorator.

### `@typespec/openapi` Breaking Changes

- Changed namespace from `OpenAPI` to `TypeSpec.OpenAPI`.
Loading