calckey/RELEASE_NOTES.md

3.0 KiB

Firefish

Welcome to the new era of FIREFISH!

Changelog

Major changes from last release candidate

  • Firefish branding and new repo!
  • Far better Mastodon API support
  • Edits are now non-experimental
  • Support for secondary cache server
  • Link verification with rel=me
  • Store antennas in cache
  • Post imports with media
  • Sytle fixes
  • More translations
  • Performance upgrades
  • Bug fixes
  • Faster build
  • FoundKey -> Firefish migration fixes

Major changes from stable

All of the above, plus:

  • Post editing
  • Post imports
  • New post design
  • New header design
  • Better accessibility
  • Server silences
  • Modmail
  • New MFM effects
  • Meilisearch search engine
  • Channel search
  • Improved system emails
  • cuid2 IDs
  • Emoji skin tones
  • New 2FA flow
  • Reduced visual clutter
  • Deck view improvements

Upgrading

If upgrading from v13 (old stable)

In addition to the rest of the steps after this:

  • Install the Rust toolchain (v1.68.0 or higher): https://www.rust-lang.org/tools/install

  • (Optional) install Meilisearch to use as a search engine instead of Sonic: https://www.meilisearch.com/

  • Replace your config file (.config/default.yml) with a blank version of the example (.config/example.yml) and re-enter the information. This will make things easier.

Dependencies

  • Upgrade to at least Node v20.3.1 (v20.4.0 recommended).

  • (Optional, recommended) install DragonflyDB and configure under cacheServer: https://www.dragonflydb.io/

Set new repo and pull

git remote set-url origin https://codeberg.org/firefish/firefish.git
git pull --ff

In case you get an error like:

error: The following untracked working tree files would be overwritten by merge:
	packages/backend/assets/LICENSE
Please move or remove them before you merge.
Aborting

Run:

rm ./packages/backend/assets/LICENSE
git reset --hard origin/develop
git pull --ff

Upgrade packages

corepack enable
pnpm i

Build

NODE_ENV=production pnpm run buld

Migrate

There are 3 new envoriment variables for this upgrade only, because antennas have been moved from the database to the cache.

  • ANTENNA_MIGRATION_SKIP: skips copying antennas to cache if true. Default is false (will clear all antennas if skipped).
  • ANTENNA_MIGRATION_COPY_LIMIT: limits how many entries are copied to cache. Default is 0 (no limit).
  • ANTENNA_MIGRATION_READ_LIMIT: limits how many entires are read from the database in each iteration of migration. Large value may result in faster migration, but also may consume more memory. Default is 10000.

With default options:

NODE_ENV=production pnpm run migrate

With custom options (feel free to only use some):

NODE_ENV=production ANTENNA_MIGRATION_SKIP=false ANTENNA_MIGRATION_COPY_LIMIT=0 ANTENNA_MIGRATION_READ_LIMIT=1000 pnpm run migrate

And then restart Calckey...uh... Firefish!