* Start using the [pnpm](https://pnpm.io/) package manager rather than npm.
* Replace `node-sass` with `sass`.
* Update versions of many dependencies
* Didn't yet update webpack to v5, since that'll be a mess.
* Clean some old build scripts out of package.json
This release implements a massive change to how link tool-tips and embeds work. They might act up a bit while we get the new back-end installed and tweaked.
* Added: Options to use custom formats for dates and times, under `Appearance > Localization`.
* Added: Options to change the colors of tool-tips.
* Changed: Completely rewrite how link information is formatted together with a complete rewrite of the link information service.
* Changed: The FFZ Control Center now remembers you previously open settings if you reload the page.
* Fixed: Update chat lines when i18n data loads.
* Fixed: i18n not correctly formatting certain numbers.
* Fixed: Theater mode automatically enabling on user home pages. (Closes#866)
* Fixed: Theater metadata overlapping chat with Swap Sidebars enabled. (Closes#835)
* API Added: New icons: `location`, `link`, and `volume-off`
* API Fixed: `createElement` not properly handling `<video>` related attributes.
* Added: `npm run font` command for editing the Fontello icon font. Use it to get started, then start the development server with `npm start` and changes will automatically save when you click `Export Font` from Fontello.
* Changed: The list of Fontello icons is now extracted from our Fontello config file so that it doesn't have to be manually updated.
* Configure the project to allow the use of JSX in .jsx files.
* Add linting for JSX.
* Rewrite most existing code that uses `createElement` to use JSX syntax.
* Stop importing `createElement as e`. That's what the minifier is for. And we don't have to write it manually so much now because of JSX syntax.