---
title: November 2023
---

# Release Notes November 2023 (2023-11-07)

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

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

## New Features

### `@azure-tools/typespec-autorest` New Features

- Add support for ARM common definitions versioning.
- Add better support for `@sharedRoutes` by automatically disambiguating x-ms-paths when operation signatures don't differ by query params.

### `@azure-tools/typespec-azure-core` New Features

- Add new linter rules discouraging misuse of inheritance and composition. Warn when extending a model without a discriminator or alternatively when composing a model with a discriminator.

### `@azure-tools/typespec-azure-resource-manager` New Features

- ARM `common-types` versions can now be selected for each service specification version using the `Azure.ResourceManager.CommonTypes.Versions` enum with the new `@armCommonTypesVersion` decorator.
- Add support for Private Links `v5` common types.
- Add support for Customer Managed Keys `v5` common-types.

### `@azure-tools/typespec-client-generator-core` New Features

- Add parent enum as type on `SdkEnumValueType`.
- Add `emitterName` and `emitterContext` to `SdkContext`.

### `@azure-tools/typespec-providerhub-controller` New Features

- Add extensibility point to generated enum struct - marked generated struct as `readonly partial`.
- Added common base class for `ResourceControllerBase` classes.

## Bug Fixes

### `@azure-tools/typespec-autorest` Bug Fixes

- Fix: Stops emitting an error when using `@body _: void` in operation parameters and treat it as no body.

### `@azure-tools/typespec-azure-core` Bug Fixes

- Fix: `getLroMetadata` did not return the correct `logicalResult` when the `@finalLocation` was a `ResourceLocation`.
- Fix: Correct property validation for `@lroResult` and `@lroErrorResult`.

### `@azure-tools/typespec-client-generator-core` Bug Fixes

- Fix: `@access` does not propagate.
- Fix: usage override for orphan enum.

### `@azure-tools/typespec-msbuild-target` Bug Fixes

- Fix: Removed condition `Language==C#`.

### `@azure-tools/typespec-providerhub-controller` Bug Fixes

- Fix: Ensure models referenced only in derived types are generated.

## Deprecations

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

- Deprecate `@include`, `@exclude`, `@internal`, `@clientFormat`.

## Breaking Changes

- There are breaking changes in the TypeSpec core libraries, see [the release notes](https://typespec.io/docs/release-notes/release-2023-11-07) for details.

### Typescript types breaking change

The `package.json` files for all packages have been changed to use the standard `types` field instead of the legacy `typesVersions` field to specify types for subpath exports. This means that packages consuming TypeSpec must use the `moduleResolution` setting with `node16` or `nodenext` in their `tsconfig.json`.
You might see the following error:

```bash
Cannot find module '@typespec/compiler/testing'. Did you mean to set the 'moduleResolution' option to 'nodenext'
```

This can be resolved by changing the following in `tsconfig.json`:

```diff
-"moduleResolution": "ESNext",
+"moduleResolution": "node16",
```

### Dropped Support for Node version 16

- All typespec packages now specify node 18 as the minimum version. Consuming packages should no longer use node 16 and update the node specification in the `engines` section of their package.json file appropriately.

### `@azure-tools/typespec-azure-core` Breaking Changes

- Removed `Inprogress` from `OperationState` enum. Added `Running`, `NotStarted` states. All APIs that use this enumeration for operation status values will now include these states.
