Firefish v1.0.0 release!

FULL RELEASE NOTES:
https://gitlab.prometheus.systems/firefish/firefish/-/releases/v1.0.0

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://gitlab.prometheus.systems/firefish/firefish.git
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!