---
title: April 2023
---

# Release Notes April 2023 (2023-04-11)

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

See TypeSpec Core [release notes](https://typespec.io/docs/release-notes/release-2023-04-11)

## New Features

### @azure-tools/typespec-autorest

- Support share route scenarios with x-ms-paths.

### @azure-tools/typespec-azure-core

- Add versioning support to standard Azure.Core traits via the `traitAdded` decorator
- Add a `TErrorResponse` template parameter to `RpcOperation` to make the error response type customizable

### @azure-tools/typespec-client-generator-core

- Add support for unions
- Add DPG shared interfaces and initial logic to create a method response
- Expose list and dict converter
- Expose converter functions, fix simple sdk types
- Update Client and Dpg prefixes to be Sdk for consistency

## Bug Fixes

### @azure-tools/typespec-azure-core

- Fix CreateOrReplace Lro template
- Change `@azure-tools\typespec-azure-core\no-unknown` diagnostic from error to warning
- Suppress diagnostics in getLroMetadata execution

### @azure-tools/typespec-client-generator-core

- Fix intrinsic type checking in getSdkSimpleType

## Breaking Changes

### @azure-tools/typespec-autorest: Config interpolation

`output-file` now use config path interpolation. Existing value must be change to include the values to interpolate. e.g. `custom.json` -> `{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/custom.json`

### @azure-tools/typespec-autorest: Remove deprecated decorator

Removed deprecated `@collectionFormat` decorator. Use `@header({format: })` or `@query({format:})` instead.

**Example:**

```tsp
// Before
op list(@collectionFormat("multi") @query select: string[]): Pet[];

// Now
op list(
  @query(#{ explode: true })
  select: string[],
): Pet[];
```
