---
title: September 2022
---

# Release Notes September 2022 (2022-09-07)

This release contains **breaking changes**

Change to compiler, rest libraries [See TypeSpec Core release notes](https://github.com/microsoft/typespec/blob/main/docs/release/release-2022-09-07.md)

- **`Api`**: Remove `Type` suffix
- **`TypeSpec`**: Rename `Page` to `CollectionWithNextLink`
- **`Api`**: `Enum.members` change typed from `EnumMember[]` to `Map<string, EnumMember>`
- **`TypeSpec`** **`Api`**: **Deprecation** of `@consumes` `@produces` decorators

Change to Azure libraries:

- **[TypeSpec]** `Azure.Core` Changes to standard operation signatures

## **[TypeSpec]** `Azure.Core` Changes to standard operation signatures

There have been a few changes to the standard operation signatures
provided by the `Azure.Core` namespace:

### The use of standard operation signatures is now enforced

The `use-standard-operations` diagnostic will now be raised for any operation
that is not based on the standard operation signatures in the `Azure.Core`
namespace. This diagnostic is a warning that can be suppressed when there is a
legitimate case where a standard signature cannot be used.

For example:

```
#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is a top-level operation without a resource type."
@get
@route("languages")
op getSupportedLanguages is Foundations.Operation<ListQueryParams, SupportedLanguages>;
```

### New low-level building block signatures have been added

We have added new low-level operation signatures to `Azure.Core.Foundations`
which encode the most fundamental parts of the Azure REST API Guidelines. You
may use these when you need to define custom operations that are not covered by
the standard signatures in `Azure.Core`.

- `Operation<TParams, TResponse>` - The fundamental operation shape which
  contains the `api-version` parameter and the standard `ErrorResponse`.
- `LongRunningOperation<TParams, TResponse>` - Similar to `Operation` but adds a
  long-running operation header to the response.
- `ResourceOperation<TResource, TParams, TResponse>` - The fundamental operation
  shape for all resource operations. Adds the `@autoRoute` decorator and
  inserts the key properties for the `TResource` type and its parents.
- `ResourceCollectionOperation<TResource, TParams, TResponse>` - The fundamental
  operation shape for all resource collection operations. Adds the `@autoRoute`
  decorator key properties for the parent type(s) of `TResource`.

### The success response type for the `ResourceRead` operation is now the resource type

There was previously an issue with the `ResourceRead` signature that caused the
resource type in the response to be treated as an anonymous schema. This has
now been corrected.
