> For the complete documentation index, see [llms.txt](https://jadelab.gitbook.io/jadegit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jadelab.gitbook.io/jadegit/0.18.1/developers/upgrade-notes.md).

# Upgrade Notes

This page covers changes between versions that need action, or that change behaviour you may rely on.

Refer to the [releases](https://gitlab.com/jadelab/jadegit/-/releases) for all notable changes, and use the link in each release to compare it with the prior release for the full commit history.

## 0.18.1

### Repository files must be UTF-8

Prior to this version, ANSI strings weren't always converted properly when extracting from an ANSI database. This only affected characters outside the basic ASCII range, so it may have gone unnoticed.

Schema files generated by the build process now include a UTF-8 byte order mark (BOM) to declare their encoding, otherwise Jade may treat the incoming files as ANSI. Files in existing repositories need to be saved as UTF-8, otherwise loading schema files containing ANSI encoded strings will fail once UTF-8 has been declared.

At minimum, files can be converted by performing a full re-extract. To also support loading or switching back to prior commits, it's recommended to rewrite the commit history of existing repositories, converting files from ANSI to UTF-8. The `Convert-JadeGitHistoryToUtf8.ps1` script attached to [this merge request](https://gitlab.com/jadelab/jadegit/-/merge_requests/316) rewrites all branches and tags in a local clone, so the changes can be verified before pushing.

{% hint style="warning" %}
Rewriting history changes commit ids, so anyone with a clone or feature branch based on the original history will need to reset or rebase.
{% endhint %}
