Added
- Rule conditions and nested groups can now be disabled/enabled
- Heavy scheduled tasks now run in short-lived child processes by default to release retained post-task memory back to the OS
- Added task memory logging and cleanup for heavy sync, cleanup scan, playback, IMDb, and AniList tasks
- Task execution modes are now explicit, with heavy tasks isolated and lightweight tasks kept inline
- Now logs memory snap shots in debug mode
- Arr tags rule conditions can now match with regular expressions (
matches regex/does not match regex)
Changed
- Move instead of delete now preserves sidecar/folder assets more safely
- Item-scoped movie folders move as a folder so posters, subtitles, trailers, extras, and metadata come with the media
- Mixed folders, such as season folders or multi-version movie folders, stay conservative and only move the selected file plus same-stem sidecars
- Move cleanup logs now make it clear that post-move *arr/media-server cleanup failures do not fall back to destructive deletion
- Now aggressively releases RAM back to OS
- Reclaimerr would idle after a while at about 1 GB of ram, this should take it back down to base line after tasks ~180 MBs of ram
- Windows uses threaded subprocesses for tasks to instantly release RAM back to OS upon completion of task
- Unix utilizes asyncio subprocesses for tasks to instantly release ram back to the OS upon completion of tasks
- Optimized task for AniList parsing
- Skips movie/series updates when AniList values are unchanged
- Clears stale AniList fields only when needed
- Commits changed denormalized rows every 500 updates
- Added tests for AniList
- IMDb ratings now use a separate cache database so large refreshes no longer bulk-write the main app database causing slowdowns/freezes during heavy write periods
- User last seen is best effort with a long time out if a more important task is currently writing
What's Changed
- Memory by @jessielw in #278
- feat: regex match operators for arr tags by @code-boar in #279
- Dev by @jessielw in #280
Full Changelog: 0.2.2...0.2.3