Caution
It is always highly recommended that you perform a backup before updating (https://watcharr.app/docs/server_config/backup)!
Note
v4 is finally here! Don't worry about the major version bump, all migrations will be handled automatically when you start the upgraded version.
Have a read of the Data Migrations section below to get an understanding of the migrations we are applying in v4. You'll also notice that on the first start there will be a delay while migrations are applied.
Note
This release contains security fixes. If your server is exposed to the public and you have signing up enabled, you should update sooner rather than later!
Data migrations
This is the first time migrations are taking place when updating Watcharr, please be mindful of that and ensure you have your existing database backed up incase of any errors.
Backfilling plays data from users Activity.
This migration was added so that existing data could be used to fill out how many plays of your media you have. It can't be 100% accurate because it has to make some assumptions, but it can get close and saves you a lot of time.
Dropping deleted_at columns for watched_seasons and watched_episodes tables since we do not use them.
I noticed that queries (eg for loading your main list) would take an extra ~100ms because we were adding a deleted_at IS NULL to them when getting watched seasons/episodes. We don't use the deleted_at column, so I have just removed it from the tables (and queries so we have the speed boost).
Moving to using WAL journal_mode for our sqlite database, which will grant us improvements in all areas.
Most database operations will be much faster now and more concurrent use of the database is now possible.
Important Note About Backups
You will notice that the database now comprises of three files: watcharr.db (which has always been there) and watcharr.db-wal, watcharr.db-shm (which are new).
If you backup your database by copying the .db file (while your server is stopped of course), you should also copy the watcharr.db-wal file since it can contain database content. You can ignore the watcharr.db-shm file if you want.
Added
- DB: Add custom migrations support.
- Activity: New
CountAsPlayproperty for tracking media total plays (this will speed up counting plays since we'll no longer rely on text searches in the db).- Migration: Backfill media plays data from existing user activity, so no one has to start from
0plays when they already have data we can use to get their total plays.
- Migration: Backfill media plays data from existing user activity, so no one has to start from
- Add link to names of top crew members.
- Return
Playsin WatchedDto where used. - Show
playscount for media inMyReviewcomponent. - Activity: Show icon for activity that counts as a play.
Changed
- Moved db to WAL journal_mode.
- WatchedUpdateRequest: Manually validate instead of using complex struct tags.
- Now properly validating WatchedStatus.
- ViewTrailerButton: Use youtube-nocookie.com (thanks [@GreatGatsby102])
Fixed
- fix safari: Shrikhand font.
- Icon: Fix status icons not having width and height properties not set.
- Status: Fix button sizes now that icons have a width/height set.
- Nav: Fix logo link being clickable through whole left side of nav.
- import: myanimelist: Don't import start/finish dates when they are empty.
- Star and Play icons color.
- Activity: Fixed automation tooltip going out of bounds by moving it to top.
- Make
imagepackage a lot more robust (thanks [@4qu4r1um]). - GHSA-5q73-v9hv-4cf3
Removed
- Drop
deleted_atcolumns for watched episode/season tables. - Removed
AddActivity(POST /activity) endpoint (Thanks [@Dredsen] for pointing out the flaw).
Documentation
- Backup: Also note that
watcharr.db-walshould be backed up along with the .db file since v3.
New Contributors
- [@GreatGatsby102] made their first contribution in #1040
🆘 Getting Help
If you need help, encounter an issue or find a bug please create an issue or join our space on Matrix for support. Always happy to help!
Etc
- Package: https://github.com/sbondCo/Watcharr/pkgs/container/watcharr/1020169511?tag=v4.0.0 or on docker hub.
- Full Changelog: v3.0.1...v4.0.0