---
title: 0.55 - April 2024
---

:::caution
This release contains deprecations
:::

## Deprecations

### @typespec/compiler

- [#2910](https://github.com/microsoft/typespec/pull/2910) Deprecate `@projectedName` decorator. `@encodedName` should be used instead.

  Example:

  ```diff
  -@projectedName("json", "exp")
  +@encodedName("application/json", "exp")
  ```

- [#3094](https://github.com/microsoft/typespec/pull/3094) Deprecate `@knownValues` decorator. Use a named union of string literal with a string variant to achieve the same result without a decorator

  Example:

  ```diff
  -enum FooKV { a, b, c}
  -@knownValues(FooKV)
  -scalar foo extends string;
  +union Foo { "a", "b", "c", string }
  ```

## Features

### @typespec/compiler

- [#2992](https://github.com/microsoft/typespec/pull/2992) Enable the use of `@encode` for model properties that have a union type. This supports cases like `@encode("rfc3339") prop: utcDateTime | null`

### @typespec/versioning

- [#3053](https://github.com/microsoft/typespec/pull/3053) Add support for versioning of scalars(Added, removed, renamed)

## Bug Fixes

### @typespec/compiler

- [#3018](https://github.com/microsoft/typespec/pull/3018) Grammar: Fix comments in template params not tokenized
- [#3052](https://github.com/microsoft/typespec/pull/3052) Fix: Union template declaration were incorrectly being finished in projection
- [#2983](https://github.com/microsoft/typespec/pull/2983) Warnings converted to error with `warn-as-error` do not prevent compilation from moving to the next stage like regular warnings
- [#3041](https://github.com/microsoft/typespec/pull/3041) Improve reliability of application of codefixes in IDE, often it would not do anything
- [#3069](https://github.com/microsoft/typespec/pull/3069) TmLanguage: Fix tokenization of escaped identifiers, enums and unions

### @typespec/openapi3

- [#3077](https://github.com/microsoft/typespec/pull/3077) Do not crash if using an unsupported intrinsic type
- [#2967](https://github.com/microsoft/typespec/pull/2967) Fix crash: emit `{nullable: true}` when trying to emit `null` in openapi3
- [#3013](https://github.com/microsoft/typespec/pull/3013) Fix: OpenAPI3 not marking part of bytes or something else as `format: binary`
- [#3090](https://github.com/microsoft/typespec/pull/3090) Fix: Literal unions with the same variants keep adding duplicate entries
- [#3049](https://github.com/microsoft/typespec/pull/3049) Fix visibility naming conflict when a model used with `extends` was used in different visibility.

### @typespec/eslint-config-typespec

- [#2122](https://github.com/microsoft/typespec/pull/2122) Ignore `generated-defs` folder
