github fredrikburmester/streamystats v2.21.0

27 minutes ago

2.21.0 (2026-11-10)

Before you upgrade

  • Back up your database first. Migration 0045 changes the keys of libraries, items and media sources, and the only way back is restoring a backup. With the default compose file: docker compose exec -T vectorchord pg_dump -U postgres -Fc streamystats > streamystats-backup.dump
  • A full sync runs on each server when the job server starts. On installs with more than one Jellyfin server it restores metadata the servers may have overwritten for each other. If you set SKIP_STARTUP_FULL_SYNC, run Full Sync under Settings > Jobs on each server, or wait for the nightly one. More in docs/server-scoped-media.md.
  • Merging accounts is permanent. The new merge on the Users page moves an old account's history into its replacement and removes the old account. There is no undo.

Features

  • add Google Gemini chat provider (#578) (31c40d6)
  • log in with Jellyfin Quick Connect (#595) (d2c8005)
  • multi-select history filters with "all except" (#594) (575188b)
  • permanently merge old user accounts into replacements (#582) (60ec890)
  • stack weekday watch time by media type (#599) (db12302)

Bug Fixes

  • database: let the user merge migration run a second time (#610) (f4aff94)
  • enable pgvector iterative scan so filtered similarity searches return full results (#589) (871ad5e)
  • render AI chat item links without blocked labels (#580) (1a154af)
  • repair drizzle snapshot chain so db:generate works again (#588) (c85c492)
  • scope Jellyfin media identities by server (#583) (1f5863e)

Don't miss a new streamystats release

NewReleases is sending notifications on new releases.