---
title: 0.42.0 May 2024
---

# Release Notes Version 0.42.0 - May 2024

See TypeSpec Core 0.56 [release notes](https://typespec.io/docs/release-notes/release-2024-05-07)

:::caution
This release contains breaking changes
:::

## Breaking Changes

### @azure-tools/typespec-autorest

- [#774](https://github.com/Azure/typespec-azure/pull/774) Version enum is now omitted by default. Use `version-enum-strategy: include` to revert behavior.

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

- [#521](https://github.com/Azure/typespec-azure/pull/521) Switching ProvisioningState from enum to Open union

### @azure-tools/typespec-azure-resource-manager

- [#521](https://github.com/Azure/typespec-azure/pull/521) Switching ProvisioningState from enum to Open union

## Deprecations

### @azure-tools/typespec-azure-resource-manager

- [899f640](https://github.com/Azure/typespec-azure/commit/899f6406b503781173669bcddcde8a82bc74ed38) Renaming internal TypeSpec ARM foundation model names to be consistent with ARM common-type definitions.
  However, these are `Azure.Resource.Manager.Foundations` models that would not normally be used directly in service specs.

- Deprecate `Foundations.ArmResource`. `Foundations.Resource` should be used instead.

- Deprecate `Foundations.ResourceSkuType`. `Foundations.Sku` should be used instead.

- Deprecate `Foundations.ResourcePlanType`. `Foundations.Plan` should be used instead.

- Deprecate `Foundations.TrackedResourceBase`. `Foundations.TrackedResource` should be used instead.

- Deprecate `Foundations.ProxyResourceBase`. `Foundations.ProxyResource` should be used instead.

- Deprecate `Foundations.ExtensionResourceBase`. `Foundations.ExtensionResource` should be used instead.

Standardizing mix-in model names with consistent `Property` suffix.

- Deprecate `ManagedServiceIdentity`. `ManagedServiceIdentityProperty` should be used instead.

  Example:

  ```diff
  -...ManagedServiceIdentity;
  +...ManagedServiceIdentityProperty;
  ```

- Deprecate `ManagedSystemAssignedIdentity`. `ManagedSystemAssignedIdentityProperty` should be used instead.

  Example:

  ```diff
  -...ManagedSystemAssignedIdentity;
  +...ManagedSystemAssignedIdentityProperty;
  ```

- Deprecate `EntityTag`. `EntityTagProperty` should be used instead.

  Example:

  ```diff
  -...EntityTag;
  +...EntityTagProperty;
  ```

- Deprecate `ResourceKind`. `ResourceKindProperty` should be used instead.

  Example:

  ```diff
  -...ResourceKind;
  +...ResourceKindProperty;
  ```

- Deprecate `ResourcePlan`. `ResourcePlanProperty` should be used instead.

  Example:

  ```diff
  -...ResourcePlan;
  +...ResourcePlanProperty;
  ```

- Deprecate `ResourceSku`. `ResourceSkuProperty` should be used instead.

  Example:

  ```diff
  -...ResourceSku;
  +...ResourceSkuProperty;
  ```

- Deprecate `ManagedBy`. `ManagedByProperty` should be used instead.

  Example:

  ```diff
  -...ManagedBy;
  +...ManagedByProperty;
  ```

## Features

### @azure-tools/typespec-autorest

- [#765](https://github.com/Azure/typespec-azure/pull/765) [API] Refactor to provide functions to get the OpenAPI programtically

### @azure-tools/typespec-azure-resource-manager

- [#661](https://github.com/Azure/typespec-azure/pull/661) Fixing ArmResource base model and add an easier way to define Resource Name parameter
- [#736](https://github.com/Azure/typespec-azure/pull/736) Adding standard ExtendedLocation definition for ARM library

## Bug Fixes

### @azure-tools/typespec-autorest

- [#745](https://github.com/Azure/typespec-azure/pull/745) prevent tcgc versioning projection
- [#293](https://github.com/Azure/typespec-azure/pull/293) Add support for new `@body` `@bodyRoot` and `@bodyIgnore` decorators

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

- [#619](https://github.com/Azure/typespec-azure/pull/619) Add `no-generic-numeric` rule to disable LintDiff `IntegerTypeMustHaveFormat`
- [#760](https://github.com/Azure/typespec-azure/pull/760) Fix `rpc-operation-request-body` rule not actually checking for a body parameter.
- [#694](https://github.com/Azure/typespec-azure/pull/694) Fix crash when `Traits` builders gets passed non model
- [#710](https://github.com/Azure/typespec-azure/pull/710) Exempt versioning enums and discriminator enum/unions from `documentation-required` rule.
- [#740](https://github.com/Azure/typespec-azure/pull/740) Require documentation on most unions.
- [#293](https://github.com/Azure/typespec-azure/pull/293) Update to support new meaning of `@body`

### @azure-tools/typespec-azure-resource-manager

- [#605](https://github.com/Azure/typespec-azure/pull/605) Specify the fully qualified name of `@OpenAPI.extension` decorator in `missing-x-ms-identifiers` linter warning.
- [#400](https://github.com/Azure/typespec-azure/pull/400) Updated `ManagedIndentity` and `CustomerManagedKey` TypeSpec model definition to be consistent with Swagger commont-types
- [#567](https://github.com/Azure/typespec-azure/pull/567) Enable `arm-common-types-version` rule by default.
- [#751](https://github.com/Azure/typespec-azure/pull/751) Allow `@pattern` to be provided on a scalar
- [#702](https://github.com/Azure/typespec-azure/pull/702) Fix `arm-resource-name-pattern` rule codefix producing invalid syntax
- [#293](https://github.com/Azure/typespec-azure/pull/293) Update to support new meaning of `@body`
