---
title: 0.46.0 September 2024
---

# Release Notes Version 0.46.0 - September 2024

See TypeSpec Core 0.60 [release notes](https://typespec.io/docs/release-notes/release-2024-09-10)

:::caution
This release contains deprecations and breaking changes
:::

## Breaking Changes

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

- [#1440](https://github.com/Azure/typespec-azure/pull/1440) Filter Core models directly instead of clearing their usage
- [#1451](https://github.com/Azure/typespec-azure/pull/1451) Have no client parameters appear on method signatures
- [#1420](https://github.com/Azure/typespec-azure/pull/1420) Removes deprecated exports of previous version

## Deprecations

### @azure-tools/typespec-autorest

- [#1368](https://github.com/Azure/typespec-azure/pull/1368) Replace `examples-directory` with `examples-dir` which will validate an absolute path is provided

  Case 1: Examples are in `examples` directory next to `tspconfig.yaml`. In this case the option can just be removed

  ```diff
  - examples-directory: examples
  ```

  ```diff
  - examples-directory: {project-root}/examples
  ```

  Case 2: Examples are in a different directory

  ```diff
  - examples-directory: autorest-examples
  + examples-dir: {project-root}/autorest-examples
  ```

  ```diff
  - examples-directory: {project-root}/autorest-examples
  + examples-dir: {project-root}/autorest-examples
  ```

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

- [#1395](https://github.com/Azure/typespec-azure/pull/1395) deprecate `@internal` decorator and `isInternal` helper function

## Features

### @azure-tools/typespec-autorest

- [#1455](https://github.com/Azure/typespec-azure/pull/1455) Respect `@clientName` for definition names(model, enums, union, etc.), enum and union member and for parameters
- [#1449](https://github.com/Azure/typespec-azure/pull/1449) Add support for custom item name in `x-ms-pageable`

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

- [#1342](https://github.com/Azure/typespec-azure/pull/1342) Replace `no-operation-id` linter rule with a more generic `no-openapi` rule guarding against any use of openapi decorators

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

- [#1482](https://github.com/Azure/typespec-azure/pull/1482) Add mobo type to TypeSpec-Azure common types

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

- [#1305](https://github.com/Azure/typespec-azure/pull/1305) Add Namespace as target for @access decorator
- [#1398](https://github.com/Azure/typespec-azure/pull/1398) add `@clientInitialization` decorator
- [#1253](https://github.com/Azure/typespec-azure/pull/1253) add parent client info to `SdkClientType`
- [#1253](https://github.com/Azure/typespec-azure/pull/1253) add `listSubClients` helper func
- [#1379](https://github.com/Azure/typespec-azure/pull/1379) add `doc` and `summary` to tcgc types
- [#1387](https://github.com/Azure/typespec-azure/pull/1387) add default path for example detection
- [#1395](https://github.com/Azure/typespec-azure/pull/1395) do propagation when override access or usage
- [#1388](https://github.com/Azure/typespec-azure/pull/1388) use original model for spread if it is from a simple spread
- [#1303](https://github.com/Azure/typespec-azure/pull/1303) allow `@usage` to apply to namespaces

## Bug Fixes

### @azure-tools/typespec-autorest

- [#1436](https://github.com/Azure/typespec-azure/pull/1436) Fixes bug where defining multiple services in a project resulted in each openapi output containing the same single service definition.

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

- [#1359](https://github.com/Azure/typespec-azure/pull/1359) `arm-no-record` rule should warn about any use of `Record<X>` not just when inside resource properties

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

- [#1476](https://github.com/Azure/typespec-azure/pull/1476) Fix to add client signature `subscriptionId` for ARM SDK
- [#1424](https://github.com/Azure/typespec-azure/pull/1424) do not handle example value with null for model type
- [#1424](https://github.com/Azure/typespec-azure/pull/1424) consider renaming for parameter or property
- [#1431](https://github.com/Azure/typespec-azure/pull/1431) consider renaming when mapping examples
- [#1452](https://github.com/Azure/typespec-azure/pull/1452) TCGC, make content type optional when request body is optional
- [#1399](https://github.com/Azure/typespec-azure/pull/1399) remove import of `UnionEnumVariant`
- [#1432](https://github.com/Azure/typespec-azure/pull/1432) need to handle projection when finding spread original model
- [#1377](https://github.com/Azure/typespec-azure/pull/1377) Fix getLibraryName for anonymous model which is derived from template
- [#1435](https://github.com/Azure/typespec-azure/pull/1435) Don't require params introduced by `Azure.Core` with `@override`
- [#1410](https://github.com/Azure/typespec-azure/pull/1410) set sdk method body parameter encode with http content type
