---
description: If I could just go back and make everything undone … you can.
---
# History
[![Version](https://img.shields.io/npm/v/@tiptap/extension-history.svg?label=version)](https://www.npmjs.com/package/@tiptap/extension-history)
[![Downloads](https://img.shields.io/npm/dm/@tiptap/extension-history.svg)](https://npmcharts.com/compare/@tiptap/extension-history?minimal=true)
This extension provides history support. All changes to the document will be tracked and can be removed with `undo`. Undone changes can be applied with `redo` again.
## Installation
```bash
# with npm
npm install @tiptap/extension-history
# with Yarn
yarn add @tiptap/extension-history
```
## Settings
### depth
The amount of history events that are collected before the oldest events are discarded. Defaults to 100.
Default: `100`
```js
History.configure({
depth: 10,
})
```
### newGroupDelay
The delay between changes after which a new group should be started (in milliseconds). When changes aren’t adjacent, a new group is always started.
Default: `500`
```js
History.configure({
newGroupDelay: 1000,
})
```
## Commands
### undo()
Undo the last change.
```js
editor.commands.undo()
```
### redo()
Redo the last change.
```js
editor.commands.redo()
```
## Keyboard shortcuts
| Command | Windows/Linux | macOS |
| ------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| undo() | `Control` `Z`
`Control` `я` | `Cmd` `Z`
`Cmd` `я` |
| redo() | `Shift` `Control` `Z`
`Control` `Y`
`Shift` `Control` `я` | `Shift` `Cmd` `Z`
`Cmd` `Y`
`Shift` `Cmd` `я` |
## Source code
[packages/extension-history/](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-history/)
## Usage