Repository navigation
Releases: TraceApps/fathom
Release list
v0.13.1
Fathom 0.13.1 adds Interface Size on desktop, saves Android YouTube downloads where other apps can find them, includes ffmpeg on Windows, and fixes Quick Connect on Jellyfin 12 and the Android media controls.
Added
- Interface Size (Linux and Windows), in Settings > Appearance: make everything bigger or smaller, from 75% to 200%. Automatic follows your display, and on Linux it also sizes up on a dense screen, such as a 4K monitor, when the desktop's scaling is left at 100%.
- Settings > Support: Ko-fi, GitHub Sponsors, and free ways to help.
Changed
- The Windows build includes ffmpeg, so YouTube downloads above 360p work with nothing else to install, including the growing number of videos YouTube only offers as separate video and audio. The download is about 38 MB larger.
- Changing a download folder offers to move the downloads already in the old one, and asks only when there are some.
- Jellyfin downloads are saved under readable names with their real file extension, such as
Bullet Train (2022).mkvorShow - S01E02 - Episode.mp4, so other apps and file managers recognize them. Downloads you already have keep their names. - Diagnostics on Android include presses from the notification, lock screen, and headset buttons, and changes in audio focus.
Fixed
- Quick Connect failed with "The server returned an error (405)" on Jellyfin 12. (#53, thanks @mmtechslv)
- On Android, notification, lock screen, and earbud controls could stop responding after you stopped playback and started it again, or after listening in another app. Disconnecting your earbuds pauses Fathom again, and two apps no longer play over each other.
- On Android, YouTube downloads were saved where only Fathom could see them. They now go to Movies/Fathom and Music/Fathom, or the folder you pick, and existing ones move there once. A download's menu offers Open With and Share in place of Show in Folder.
- On Android, Download & Install could fail with "Download failed" after you left Fathom and came back. The Updates screen now shows why an update failed.
- On Android, backing out of the installer meant downloading the whole update again. A downloaded update is now reused, and the button says Install.
- Radio retries within seconds after a dropped connection, including with the screen off, instead of waiting up to a minute. Pausing while it reconnects stops the retries.
- Without ffmpeg, the download sheet offered a 360p file for videos YouTube no longer offers one for.
- On Android TV, the Movie Night Wheel's focus ring was a square box instead of a circle.
Security
- There are no open security advisories against Fathom's dependencies. The ffmpeg included on Windows is the current release (9.0.2), and a weekly check keeps it current.
Install
- Linux:
Fathom-x86_64.AppImage(orFathom-aarch64.AppImage),chmod +xand run. - Windows:
Fathom-Setup-x64.exeto install, orFathom-windows-x64.zipto unzip and runfathom.exe. - Android (phones, tablets, and experimental Android TV):
Fathom-0.13.1.apk.
Fathom is free and always will be. Support on Ko-fi goes toward a Mac and an iPhone so my apps can come to Apple devices, and GitHub Sponsors helps with the monthly costs.
v0.13.1-dev04
Fourth dev pre-release of the 0.13.1 patch.
Added
- Settings, Support: a new page with Ko-fi, GitHub Sponsors and free ways to help.
Changed
- Downloads from your Jellyfin server are saved under readable names with their real file extension, such as
Bullet Train (2022).mkvorShow - S01E02 - Episode.mp4, so other apps and file managers recognise them. Downloads you already have keep their current names. - Diagnostics now include the media commands Android delivers to Fathom (from the notification, lock screen, earbuds and headsets) and changes in audio focus, to pin down controls that stop responding.
Fixed
- Android: notification, lock screen and earbud controls could stop responding after you stopped playback in Fathom and started it again. Fathom now stays connected to them.
- Android: after another app has played audio, pressing play in Fathom takes the audio back, so disconnecting your earbuds pauses it again and two apps no longer play over each other.
Tester build, report anything odd. New this round especially: media controls after stopping and restarting playback, or after listening in another app; and the names of new downloads. If the controls stop responding, copy the Diagnostics report: its new Android media commands section shows where each press went. The in-app updater's Dev channel will offer this build automatically.
Fathom is free and always will be. Support on Ko-fi goes toward a Mac and an iPhone so my apps can come to Apple devices, and GitHub Sponsors helps with the monthly costs.
v0.13.1-dev03
Third dev pre-release of the 0.13.1 patch.
Added
- Interface Size (Linux and Windows), in Settings, Appearance: make everything bigger or smaller, from 75% to 200%. Automatic follows your display, and on Linux it also sizes up on a dense high-resolution screen, such as a 4K monitor, when the desktop's scaling is left at 100%.
Fixed
- Android: backing out of the install screen and coming back meant downloading the whole update again. An update that's already downloaded is now reused, and the button says Install.
- Radio: after a dropped connection, Fathom now retries within seconds instead of waiting up to a minute, and keeps retrying with the screen off rather than stalling until you open the app. The notification shows the station as reconnecting, and pausing it there stops the retries.
- Right-click menus open exactly where you click at any interface size.
Tester build, report anything odd. New this round especially: radio after a connection drop (try airplane mode for a few seconds, screen on and off), and reopening the update screen after backing out of the installer. The in-app updater's Dev channel will offer this build automatically.
Fathom is free and always will be. The Mac fund is for a Mac, so Fathom can come to macOS and iOS.
v0.13.1-dev02
Second dev pre-release of the 0.13.1 patch.
Fixed
- Quick Connect failed with "The server returned an error (405)" on Jellyfin 12, which dropped the request Fathom used to start it. Fathom now uses the current one and still works with servers back to 10.8. (#53, thanks @mmtechslv)
Tester build, report anything odd. New this round especially: signing in with Quick Connect on Jellyfin 12. Everything from dev01 is here too: YouTube downloads saved where other apps can see them on Android, ffmpeg included on Windows, and the fix for "Download failed" when updating on Android. The in-app updater's Dev channel will offer this build automatically.
Fathom is free and always will be. The Mac fund is for a Mac, so Fathom can come to macOS and iOS.
v0.13.1-dev01
First dev pre-release of the 0.13.1 patch.
Changed
- Windows: ffmpeg now comes with Fathom, so YouTube downloads above 360p work with nothing else to install. That includes the growing number of videos YouTube only offers as separate video and audio. The download is about 38 MB larger.
- Android: YouTube downloads are saved to Movies/Fathom (video) and Music/Fathom (audio), or to the folder you pick, so they show up in the Files app, your gallery and other players. Downloads you already have are moved there the first time you open this version.
- Android: a download's menu offers Open With and Share in place of Show in Folder, which Android doesn't allow.
- Changing a download folder now asks whether to move the downloads you already have, and only when there are some in the old folder.
- Diagnostics now record presses from the notification, the lock screen and headset buttons, to help track down media controls that stop responding. Turn on Diagnostic logging to capture them.
- Settings, Support now explains the current goal: a Mac, so Fathom can come to macOS and iOS.
Fixed
- Android: Download & Install could fail with "Download failed" after you left Fathom and came back while music or a video was paused. The update downloaded fine, but the system installer never opened. If an update fails on a build older than this one, force stop Fathom, reopen it, and try again.
- The Updates screen now shows the reason when an update fails.
- Android: YouTube downloads were saved to a folder only Fathom could see, and Show in Folder did nothing.
- Without ffmpeg, the download sheet no longer promises a 360p file for videos YouTube doesn't offer one for, and the error explains why.
- Android TV: the Movie Night Wheel's focus ring is now round, matching the wheel, instead of a square box.
Tester build, report anything odd. New this round especially: YouTube downloads on Android and Windows, and in-app updates after reopening the app. The in-app updater's Dev channel will offer this build automatically.
Fathom is free and always will be. The Mac fund is for a Mac, so Fathom can come to macOS and iOS.
v0.13.0
Fathom 0.13.0 adds a Watchlist, the Movie Night Wheel, a sleep timer, multi-select, and online subtitle search; shows every kind of subtitle; gets ready for Jellyfin 12; and brings server backups and the full user editor to the admin screens.
Added
- Watchlist: a "want to watch" list, separate from Favorites. Toggle it from a detail page's bookmark icon or any item's menu, find it from the Libraries browse bar, or add it to the main navigation under Settings > Navigation. It syncs across your devices through your Jellyfin account.
- Movie Night Wheel: spin to settle what to watch, from the Watchlist or a SyncPlay session so a group can decide together. Fill it from your library or type titles in, and pick a mode: Last One Standing, Single Spin, or Best of 3.
- Sleep Timer on every player (video, music, YouTube, and radio): 15 minutes to 2 hours, or the end of the current track or episode, with the sound fading out over the last 15 seconds.
- Multi-select in library grids: choose Select from any poster's menu, then mark watched or unwatched, favorite, add to a playlist, or delete (with the right permission) all at once. YouTube downloads can be selected and deleted in bulk too.
- Remove from Continue Watching, from a card's menu. It takes the show or film off the row until you watch it again, and clears its resume point on the server so Jellyfin's other apps agree.
- Extras on detail pages: trailers, behind the scenes, deleted scenes, interviews, and other bonus material stored with a title get their own row.
- Search Subtitles Online, at the bottom of the subtitle menu: finds subtitles through the provider installed on your Jellyfin server (such as the OpenSubtitles plugin) and adds the one you pick straight to the video, with matches for your exact file listed first.
- Volume Levelling for music (Settings > Audio): Per Track or Per Album, using the ReplayGain levels in your files.
- YouTube chapters shown the way YouTube shows them: the current chapter in a pill beside the volume control, a seek bar split at each chapter, and the chapter named as you scrub.
- Foldable phones: half-fold the phone with the crease across the screen and the video takes the standing half, with the controls (or, on YouTube, the details and comments) on the flat half.
- Radio next and previous station controls, on the Now Playing screen, the Android notification, Android Auto, and the Linux and Windows media controls. (#41, thanks @Epic-dog)
- Server administration:
- Backups: create a backup of the server (database, plus optional metadata, subtitles, and trickplay), see what each one holds, and restore one.
- The user editor now covers everything the web dashboard offers: forced transcoding of remote sources, SyncPlay access, deletion limited to chosen libraries, device and channel allow-lists, allowed and blocked tags, access schedules, blocking unrated items by type, and sign-in providers where the server has more than one.
- A Windows installer, with a Start menu entry and an uninstaller, alongside the portable zip. (#43, thanks @Epic-dog)
- A Download Location setting (General > Storage) for downloaded Jellyfin media, organized into Movies, TV Shows, Music, and Recordings folders.
- YouTube downloads on Android now use a full ffmpeg, as on desktop: video above 360p, MKV, and MP3 all work. (#46, thanks @urtaevS)
- A floating progress pill for YouTube downloads, matching the one for Jellyfin downloads.
- Screen reader support: posters are announced as one item with their title and year, and every icon-only button carries a label.
Changed
- Continue Watching follows what you actually watch: one card per show, whether you stopped part-way through an episode or finished one and the next is waiting, ordered by what you watched most recently. A new episode of a show you were caught up on goes near the front the day it arrives.
- The Home banner mixes a few things you are watching with what was added recently.
- Subtitle and audio tracks are named from what the server knows about them instead of a bare language code, for example English (Forced, SRT), English (Picture, PGS), English (External, SRT), and English (DTS-HD MA 5.1). Tracks that would otherwise look identical are numbered.
- Ready for Jellyfin 12: Fathom uses the server routes Jellyfin 12 documents, in place of older ones Jellyfin 12 dropped from its API, and saves parental ratings with Jellyfin 12's rating scores. Older servers keep working.
- Right-click, long-press, and the "..." button open the same menu everywhere, including Downloads, radio stations, album tracks, and Seerr requests: a dropdown at the pointer on desktop, a sheet on touch and TV.
- Messages, loading spinners, and confirmations look and behave the same throughout, and destructive confirmations start with Cancel focused.
- The Inter typeface is bundled with the app instead of fetched from Google Fonts on first launch.
- YouTube downloads are split into Downloading and Downloaded sections, and the download-complete notification opens them.
- "Add Favorite" now reads "Add to Favorites", matching the Watchlist.
- The keyboard Shortcuts settings no longer appear on phones and tablets.
- The Linux AppImage no longer carries AppImageUpdate data. Updating from inside Fathom works as before.
Fixed
- Picture-based subtitles (Blu-ray PGS, DVD VobSub, DVB) never appeared when selected.
- Subtitle files stored beside the video, including ones a server plugin downloaded, were missing from the subtitle menu.
- YouTube chapters stopped appearing after YouTube moved them.
- Starting a title again straight after watching it could resume from an earlier spot, and on Android a resumed video could snap back to the beginning.
- Fathom crashed on startup on Linux setups with no system keyring at all, such as Steam Big Picture and gamescope. It now falls back to a local store. (#32, thanks @tangowithfoxtrot)
- Requesting through Seerr while signed in with a Jellyfin username and password failed with an API key error.
- The YouTube What's New tab could spin for minutes or come back empty with a large subscription list. (#38, thanks @jtbrauer92-p)
- On the Now Playing screens, the volume control covered the Play button or the repeat button, and the screen could go blank below the seek bar after the on-screen keyboard. (#40, thanks @urtaevS)
- Radio reconnects at the live edge after a dropped connection, resumes after another app briefly takes the audio (a call or a voice recorder), and its volume control no longer runs off-screen.
- Downloaded YouTube videos now play like online ones: resume, lock-screen details, Next, picture-in-picture, captions, and SponsorBlock.
- Several YouTube downloads at once no longer slow each other down.
- In server administration, choosing None for hardware acceleration or Auto for the encoder preset stopped the Transcoding page saving.
- The Home banner could show one title's details over another's backdrop.
- Marking an episode watched from Next Up didn't update its checkmark in the episode list.
- Dragging a video down the YouTube queue dropped it one slot too far.
- The desktop fullscreen title bar reappeared when an episode advanced to the next.
- Buttons overflowed in the Up Next card, the SyncPlay group list, and Seerr's request dialogs in some languages.
- Android Auto browsing showed an error after a dropped connection instead of recovering.
- The volume control's icon disappeared in the light theme.
Security
- Every dependency is updated to its latest version. There are no open security advisories against Fathom's dependencies.
Install
- Linux:
Fathom-x86_64.AppImage(orFathom-aarch64.AppImage),chmod +xand run. - Windows:
Fathom-Setup-x64.exeto install, orFathom-windows-x64.zipto unzip and runfathom.exe. - Android (phones, tablets, and experimental Android TV):
Fathom-0.13.0.apk.
v0.13.0-dev05
Fifth dev pre-release of the 0.13.0 minor.
Added
- Search Subtitles Online, at the bottom of the subtitle menu: finds subtitles through the subtitle provider installed on your Jellyfin server (such as the OpenSubtitles plugin) and adds the one you pick straight to the video. Results show the release name, provider, format and download count, with anything matching your exact file listed first. Searches your preferred subtitle language, or your device's language if you haven't set one, and Change Language searches another. Shown to administrators and to accounts allowed to manage subtitles.
Changed
- Subtitle and audio tracks are now named from what the server knows about them instead of a bare language code: for example English (Forced, SRT), English (Picture, PGS), English (External, SRT) and English (DTS-HD MA 5.1). Tracks that would otherwise look identical are numbered.
- Fathom now uses the server routes Jellyfin 12 documents. Jellyfin 12 removed a set of older routes from its API that Fathom relied on for libraries, Continue Watching, item details, favorites, watched state, profile pictures and more. They still work for now but could disappear in any update. Older servers keep working.
Fixed
- Picture-based subtitles (Blu-ray PGS, DVD VobSub, DVB) never appeared when selected.
- Subtitles stored in their own file beside the video, including ones downloaded by a server plugin, were missing from the subtitle menu.
Tester build, report anything odd. New this round especially: subtitles (picture-based and external tracks, and online search) and the Jellyfin 12 route changes, which touch every screen. The in-app updater's Dev channel will offer this build automatically.
v0.13.0-dev04
Fourth dev pre-release of the 0.13.0 minor.
Fixes resume, which was broken in the last two dev builds: nothing you watched saved where you stopped. Please update.
Added
- YouTube chapters now show the way they do on YouTube: the current chapter's title sits in a pill next to the volume control and opens the chapter list when tapped, the seek bar splits into a segment per chapter, and dragging or hovering the bar names the chapter you would land in.
- Tabletop layout for the YouTube player on foldable phones: half-fold the phone with the crease across the screen and the video takes the standing half, with the title, comments and Up Next on the flat half. Fullscreen splits the same way, video above the crease and controls below.
Fixed
- Resume was broken everywhere: Fathom never told the server that playback had started, so nothing saved where you stopped and every title played from the beginning. Anything you watched on dev02 or dev03 has no resume point, so those titles start over once more.
- On Android, a video that did resume could jump to the saved spot and then snap back to the beginning.
- Starting a title straight after watching it resumed from the previous session's spot rather than the last one.
- YouTube chapters had stopped appearing at all, including in the chapter list, after YouTube moved them.
- In the YouTube audio player, the volume button sat on top of the play button instead of at the right edge like every other player.
- Administration: editing a user (loading, permissions, password, delete) and the General, Transcoding and Networking server settings pages could not load or save.
Tester build, report anything odd. New this round especially: resume working again, and YouTube chapters. The in-app updater's Dev channel will offer this build automatically.
v0.13.0-dev03
Third dev pre-release of the 0.13.0 minor.
Added
- Remove from Continue Watching, from a card's menu (long-press, right-click, or the hover menu). It takes that show or film off the row until you watch it again, and clears its resume point on the server so Jellyfin's other apps agree.
- Multi-select in library grids: choose Select from any poster's menu, tap more titles or use Select All, then Mark Watched, Mark Unwatched, Add to Favorites or Add to Playlist for all of them at once. Delete is there too for accounts allowed to delete media.
- Extras on detail pages: trailers, behind the scenes, deleted scenes, interviews and other bonus features stored with a title now appear in their own row.
- Volume Levelling for music, in Preferences under Audio: Per Track or Per Album, using the ReplayGain levels in your files, so songs play at a similar loudness.
- Tabletop layout on foldable phones: half-fold the phone with the crease across the screen and the video sits in the top half with the controls on the bottom half.
Changed
- Continue Watching now works like Netflix and Plex: one card per show, whether you stopped partway through an episode or finished one and the next is waiting, ordered by what you actually watched last. A half-watched episode you abandoned long ago gives way to where you really are in the show, and a new episode of a show you were caught up on goes near the front the day it arrives.
- The Home banner now mixes three things you're watching with three new additions, instead of only new additions.
Fixed
- The Home banner could show one title's details over another title's backdrop after the list refreshed.
- Radio stayed paused after another app briefly took the audio, such as a voice recorder or a call. It now picks back up when the interruption ends, and keeps retrying a stream that drops instead of giving up after the first failure.
- Marking an episode watched from a show's Next Up didn't update its checkmark in the episode list until you left the page.
- On Android, the Movie Night Wheel's ticks sounded slower than on desktop and the spin stuttered. Both now match desktop.
- Dragging a video down the queue in Now Playing dropped it one slot too far.
Tester build, report anything odd. New this round especially: the new Continue Watching and Remove, multi-select, and radio recovering after an interruption. The in-app updater's Dev channel will offer this build automatically.
v0.13.0-dev02
Second dev pre-release of the 0.13.0 minor.
Added
- Movie Night Wheel: a spin-the-wheel way to settle what to watch, from the Watchlist screen or a SyncPlay session so a group can decide together. Fill it from your library or type titles in, then pick a mode: Last One Standing knocks a title out on every spin until one is left, Single Spin takes the first result, and Best of 3 picks the first title the wheel lands on twice. Flick it with a mouse or a finger, undo a spin that went wrong, and the winner arrives with its poster, overview and rating, plus Play, Watch Trailer and Add to Watchlist.
- Sleep Timer on every player (music, video, YouTube and radio), from the gear menu or the moon button in the top bar. Choose 15 to 120 minutes, or stop at the end of the current track or episode. Sound fades out over the last 15 seconds instead of cutting off, and the button shows the time left while it runs.
- Screen reader support: a poster card is announced as one button with its title and year rather than read out piece by piece, every icon-only button has a tooltip that doubles as its spoken label, and the wheel names itself, spins on the activate gesture, and reads out each result.
Changed
- The Inter typeface is now bundled with the app instead of fetched from Google Fonts on first run, so there is no third-party request at startup and the right font on a first launch with no internet.
- Messages, busy spinners and confirmation dialogs now look and behave the same everywhere: one message style with consistent timing and no stacking, one spinner size and weight, and confirmations where anything destructive is red and starts with the focus on Cancel, so a stray Enter cannot delete something.
Fixed
- On desktop, the Now Playing volume control sat on top of Pause. It now sits to the right of the transport controls and opens over the page, so nothing shifts when it opens.
- The volume control was drawn in a fixed near-black that hid its own icon in the light theme.
- Browsing in Android Auto after a dropped connection or an expired token broke the request instead of falling back to an empty folder.
Tester build, report anything odd. New this round especially: the Movie Night Wheel and the Sleep Timer. The in-app updater's Dev channel will offer this build automatically.