This template is a styleguide on how to populate individual migration guides. Use this as guidance on how to structure files in this directory. You're not allowed to deviate from this structure.

Follow the `.cursor/rules/writing-documentation.mdc` instructions on how to write the prose content.

After you found all the changes that need to be documented, you should group them in two big groups: "Changed" and "Removed".

Example:

```md
## Changed

## Removed
```

All changes MUST go under these two sections.

Each change (be it "changed" or "removed") should be a h3 heading. You must follow that format exactly.

Example:

```md
## Changed

### `oldFunction` to `newFunction`
```

Now that the headings are in place, you need to follow an EXACT structure for each change. You're not allowed to deviate from this structure.

Provide a brief description of the change in one or two sentences. Next, explain in one sentence why it was changed.

The third element of each change has to be the explanation how to migrate existing code to the new version. Keep it concise but clear, try not to cut too much information. Afterwards a code block MUST be provided using the "diff" syntax. Inside the code block you need to show a "before" and "after" example of the code that needs to be changed with that diff syntax.

Example:

````md
## Changed

### `oldFunction` to `newFunction`

The `oldFunction` has been renamed to `newFunction`. This change improves clarity and consistency across the API.

To migrate, replace all instances of `oldFunction` with `newFunction` in your codebase.

```diff
- const result = oldFunction(args);
+ const result = newFunction(args);
```
````

If the migration requires more steps than just a simple find-and-replace, you can add additional explanation before the code block. If it requires multiple steps, use a numbered list to explain each step clearly.