---
title: Overview
sidebar_position: 0
toc_min_heading_level: 2
toc_max_heading_level: 3
---

import { Tabs, TabItem } from '@astrojs/starlight/components';

TypeSpec library for declaring and emitting versioned APIs

## Install

<Tabs>
<TabItem  label="In a spec" default>

```bash
npm install @typespec/versioning
```

</TabItem>
<TabItem  label="In a library" default>

```bash
npm install --save-peer @typespec/versioning
```

</TabItem>
</Tabs>

## TypeSpec.Versioning

### Decorators

- [`@added`](./decorators.md#@TypeSpec.Versioning.added)
- [`@madeOptional`](./decorators.md#@TypeSpec.Versioning.madeOptional)
- [`@madeRequired`](./decorators.md#@TypeSpec.Versioning.madeRequired)
- [`@removed`](./decorators.md#@TypeSpec.Versioning.removed)
- [`@renamedFrom`](./decorators.md#@TypeSpec.Versioning.renamedFrom)
- [`@returnTypeChangedFrom`](./decorators.md#@TypeSpec.Versioning.returnTypeChangedFrom)
- [`@typeChangedFrom`](./decorators.md#@TypeSpec.Versioning.typeChangedFrom)
- [`@useDependency`](./decorators.md#@TypeSpec.Versioning.useDependency)
- [`@versioned`](./decorators.md#@TypeSpec.Versioning.versioned)
