# Changelog All notable changes to this project will be documented in this file. ## v3.10.4 - ⚡️ Playlists: Increased episode limit to 200 #757 - ⚡️ Plugins: Added API to open native modals from actions #772 - ⚡️ UI: Show episode totals for unstarted anime on hover #872 - ⚡️ Torrent Search: Allow batch searches for airing anime #904 - ⚡️ Manga: Added MyAnimeList link to entry menu #921 - ⚡️ Manga: Smoother keyboard scrolling and cursor hiding when idle #918 - ⚡️ VideoCore/MpvCore: Volume boost up to 300% #964 - ⚡️ VideoCore: Playback speed slider #865 - 🦺 Torrent Download: Fixed torrent client startup before file selection #912 - 🦺 qBittorrent: Fixed missing filenames in file selection #957 - 🦺 Denshi: Fixed background startup on Linux #923 - 🦺 Library: Show missing episodes when episode metadata is unavailable #951 - 🦺 VideoCore: Fixed unnecessary source refresh at HLS playback startup #953 - 🦺 VideoCore: Potential fix for disappearing subtitles after seeking #968 - 🦺 Mediastream: Fixed embedded font extraction for filenames with spaces #971 - 🦺 VideoCore: Fixed Anime4K memory leaks and cleanup #955 - 🦺 InSight: Replaced Jikan with Tenrai for character data - 🦺 Torrent Search: Best releases no longer force batch status #979 - 🦺 Plugins: Include playback state in start, stop and completion events #977 - 🦺 Subtitles: Fixed VTT conversion dropping lines with custom placements #975 ## v3.10.3 - ⚡️ AniList: Last added, last updated filtering options - ⚡️ Plugin APIs: Ability to change marketplace URL - 🦺 Continuity: History no longer deleted on episode completion - 🦺 VideoCore: Potential fix for disappearing subtitles - 🦺 Torrentstream: Fixed wrong torrent from being selected for autoplay #948 - 🦺 Torrentstream: Fixed VLC mobile compatibility #928 - 🦺 Plugins: Fixed newEpisodeGridItemMenuItem in torrent streaming - 🦺 Mediastream: Direct play and progress fixes #926 - 🦺 MpvCore: Fixed audio issues on macOS 27 - ⬆️ Updated dependencies ## v3.10.2 - ⚡️ Perf (Directstream): Improved torrent streaming handling - Prevents delayed HTTP responses on large torrents - Faster seeks and piece prioritization - ⚡️ Torrent Search: Reduced cache TTL and automatic retries - 🦺 TorBox: Fixed download link filename encoding - 🦺 Issue Recorder: Upgraded rrweb to fix session replay - 🦺 Autoselect: Fixed language parsing - 🦺 MpvCore: Fixed autonext on video end - 🦺 AniList: Restrict retries to 429 errors only ## v3.10.1 - ⚡️ Manga: Made the refresh button more prominent - 🦺 Cache layer: Fixed logging out on invalid token - 🦺 UI: Fixed manga list disappearing due to unread only option (regression) - 🦺 Plugins: Fixed DOM observe method incorrectly firing twice ## v3.10.0 - ⚡️ Manga: Improved source refresh - Refresh saved sources, find missing sources, or compare all installed providers - Retry failed entries or find alternatives when a source stops working - ⚡️ Built-in Players: Configure extra chapters to skip - Custom patterns for auto-skip, skip buttons, and timeline highlighting - ⚡️ VideoCore: Faster and more reliable subtitles - ⚡️ Torrent: Optional availability badges for recently released episodes - ⚡️ Online Streaming: Improvement to reliability - Refresh stale source urls before switching providers - Keep provider, server, quality, audio, and subtitle choices during recovery - Remember HLS quality between episodes - Respect provider defaults and per-anime subtitle choices - Support subtitles that require provider headers - ⚡️ Denshi: Restore scroll position on Search and Lists - ⚡️ Denshi: Export MpvCore logs from Video Playback settings - ⚡️ Plugins: Show badge counts for unpinned tray plugins - ⚡️ Plugins: Added APIs for custom Discord Rich Presence activities and AniList avatar URLs - 🦺 Transcoding / Direct Play: Fixed codec and container detection and stopped reusing stale media containers - 🦺 MpvCore: Fixed the player background color - 🦺 Nakama: Fixed watch parties using custom-source media - 🦺 VideoCore: Fixed stale playback sessions blocking a new client - 🦺 MPV/IINA: Restoring watch progress now waits until media is ready - 🦺 Cache: Fixed deleted file cache entries remaining active in memory - 🦺 UI: Fixed some visual bugs - ⬆️ MpvCore: Updated mpv-prism to 0.1.8 - Better support for dual-gpu setups - Fixed startup race causing infinite loading - Fixed logging on Windows - ⬆️ Updated dependencies ## v3.9.1 - 🦺 VideoCore/MpvCore: Fixed preferred track selection - 🦺 VideoCore/MpvCore: Enforce absolute path for screenshot dir - 🦺 VideoCore: Fixed subtitles not appearing until after cycling - 🦺 Nakama: Fixed online streaming watch parties (regression) - 🦺 MpvCore: Fixed watch parties not working - 🦺 Library: Update library size stats after a scan - 🦺 Nakama: Send media to peers and host relay, fixes custom sources - Progress tracking is still not supported - 🦺 Nakama: Fixed interference with connected peers not in watch party - 🦺 Plugins: Fixed missing fields in Discord RPC API event payload - 🦺 Plugins: Fixed tray icon badge state handling after remounts - 🦺 Torrent Download: Fixed filename detection when downloading file - 🦺 Manga: Workaround for AVIF file type when downloading - 🦺 MpvCore: Fixed logging on Windows - 🦺 MpvCore: Updated mpv-prism to 0.1.1 - Linux: Removed bundled graphics libraries - Linux: Fixed EGL not working for certain configs - Linux: Fixed flickering issues when using shaders - Linux: Potential fix for GPU mismatches - Windows: Fixed UNC path handling - Windows: Potential fix for GPU mismatches - 🦺 UI: Fixed minor UI bugs ## v3.9.0 - 🎉 Denshi: New libmpv-based Built-in Player (Experimental) - Enable in 'Settings > Video Playback' - Hardware-accelerated rendering directly in the app viewport (no external window) - Flawless codec and subtitle support on all platforms - Supports many 'mpv.conf' options and shaders - ⚡️ UI: New splashcreen, updated components and colors - ⚡️ Torrent Streaming: Up to 20% faster startup depending on seeding - ⚡️ Debrid Streaming: Up to 5 seconds faster launch for cached streams - ⚡️ UI: Support for alt + mouse wheel horizontal scrolling on carousels - ⚡️ VideoCore: Support for screenshot directory - ⚡️ Plugins: Added new ChromeDP APIs - ⚡️ Discord: Seanime logo no longer displayed in Rich Presence - ⚡️ Debrid: Premiumize support #845 - 🦺 Torrent Streaming: Fixed batch selection - 🦺 VideoCore: Ability to exit fullscreen when next stream is loading - 🦺 MPV/IINA: Fixed progress tracking dropping when media path is temporarily unavailable #836 - 🦺 AllDebrid: Fixed batch torrent streaming #841 - 🦺 Manga: Fixed unnecessary image proxy - 🦺 Torrent Streaming: More accurate download progress reporting - 🦺 Nakama: Refresh collection when turning off host library sharing - 🦺 Torrent Client: Fixed runtime error when display name is null - 🦺 Torrent Client: Use classic file-based downloading instead of memory-mapped files - 🦺 Mobile: Potential fixes for debrid downloading - ⬆️ Updated Electron to 42.4.0 - Fixes AC3/EAC3 audio support detection on Windows for HTML5 player - Fixes security vulnerabilities - ⬆️ Upgraded to Rust-based React Compiler ## v3.8.7 - ⚡️ VideoCore: Improved hls.js error handling - 🦺 iOS: Fixes for media paths - 🦺 UI: Fixed media entry modal number inputs - 🦺 Torrent: Fixed search caching #827 - ⬆️ Updated hls.js ## v3.8.6 - 🦺 Fixed settings regression introduced in v3.8.5 ## v3.8.5 - 🦺 Built-in Torrent Client: Fixed runtime error causing by pausing - 🦺 Built-in Torrent Client: Added in-memory map fallback - 🦺 VideoCore: Potential fix for body pointer events - 🦺 Manga: Potential fix for image format and size detection failing - 🏗️ Core: Improved support for gomobile ## v3.8.4 - ✨ Built-in torrent client (Experimental) - Only available as a feature flag - ⚡️ Transcode: Support for Low-power Intel QSV - ⚡️ Manga: Support for zooming - ⚡️ AniList: Support for animated profile pictures - ⚡️ Plugin: Added dropdown actions for manga - ⚡️ Plugin: Option to change fetch redirect policy - ⚡️ VideoCore(Perf): Optimized subtitle parsing - 🦺 VideoCore: Fixed keybinds handling and input focus in mini player - 🦺 Extension: Fixed unified code diff - 🏗️ Core: Experimental support for gomobile ## v3.8.3 - ⚡️ Plugins: ctx.appSettings now includes debrid, torrent streaming and transcode settings - ⚡️ Torrent streaming: Option to preload next stream (Unstable) - 🦺 Scanner: Fixed runtime error caused by concurrent file checking - 🦺 VideoCore: Fixed autonext skipping playlist episodes - 🦺 VideoCore: Fixed playback failure when replaying fully downloaded torrent stream - 🦺 VideoCore: Fixed occasional bugs caused by new React19 ref handling - 🦺 VideoCore(Perf): Throttle torrent stream subtitle events to avoid UI lag - 🦺 VideoCore(Perf): Throttle thumbnail scrobbling requests - 🦺 Torrentstream: Dropping torrent removes them on disk immediately - 🦺 MPV: Potential fix for stale events causing incorrect progress updates - 🦺 MPV: Generate fresh IPC sockets for each launch to avoid collisions - 🏗️ MPV: Refactored error messages handling - 🏗️ VideoCore: Use View Transitions for mini player transitions - 🏗️ Torrentstream: Fully downloaded files now stream from file on disk directly - 🏗️ UI: Replaced drawer components and built-in player drawer to avoid layout thrashing ## v3.8.2 - 🦺 VideoCore: Fixed audio selection - 🦺 VideoCore: Fixed auto next for local files - 🦺 VideoCore: Disallow miniplayer in fullscreen app mode - 🦺 VideoCore: Fixed torrent stream playback cancellation logic - 🦺 VideoCore: Refactored escape key handling - 🦺 Manga: Fixed incorrect progress updates on next chapter - 🦺 Schedule: Fixed incorrect timezone in modals - 🦺 Hide Spoilers: Fixed torrent selection modal handling - 🦺 Issue Recorder: Fixed query error serialization - 🦺 Torrent Search: Fixed runtime error causing fewer results - 🦺 Core: Disabled request body limits - 🦺 Denshi: Skip inital view transition on content load ## v3.8.1 - 🦺 Online streaming: Fixed sidebar visibility in fullscreen mode ## v3.8.0 - ✨ Torrent Search: Search from multiple providers at once - Seanime can now aggregate torrent results from multiple providers - ⚡️ Subtitle Translator: Support for OpenAI-compatible local LLMs - ⚡️ UI: Route preloading and faster transitions - Media entries in your collection will open virtually instantly - Media pages loading time has been reduced by 40% - ⚡️ Denshi: Window position and size are now remembered - ⚡️ VideoCore: Auto-import local subtitle files - The native player will now automatically import subtitle files from the same directory as the video file - ⚡️ External Player Link: New '{subtitleUrl}' placeholder for local sub files - ⚡️ UI: Ability to hide spoilers - New '/spoilers' command to toggle spoilers on/off for a specific anime - ⚡️ Online streaming: New HTTP/1-based video proxy - ⚡️ Online streaming: Option to automatically cycle through providers - Seanime can now try providers until a working one is found - ⚡️ Extensions: Ability to disable extensions - ⚡️ Streaming: Ability to delete previous batch selection - ⚡️ Debrid: Improved downloading handling - Fixes some edge cases encountered while downloading from TorBox and RD - ⚡️ Plugins: More APIs - 'ctx.settings', 'ctx.auth', 'ctx.extensions' to securily manage the app systems - ⚡️ Settings: New 'Extension Secure Mode' - Confirmation prompts whenever an extension tries to perform a sensitive action - 🦺 qBittorrent: Fixed support for 5.2.x - 🦺 Cache mode: Queued updates are deleted on manual mutation - 🦺 VideoCore: Potential fix for duplicated subtitles - 🦺 VideoCore: Potential fix for media session not being ended - 🦺 Online streaming: Fixed video source selection - 🦺 Online streaming: Fixed occasional HTTP/2 related errors - 🦺 Plugins: Faster reads for '$storage' and '$store' - 🦺 UI: Fixed some UI issues - 🦺 Auto Downloader: Fixed handling of debrid downloads - 🦺 Manga: Fixed chapter page image height - 🦺 Core: Fixed handling of stale cookies - ⬆️ Updated Go to 1.26.2 ## v3.7.1 - ⚡️ Cache mode: Ability to update entries in the cache (Experimental) - You can now update progress while AniList is down. Data will be auto-synced when AniList is back online. - ⚡️ VideoCore: Ability to save screenshots to disk - ⚡️ Plugin: Added more APIs - Added '$shared' API for sharing pure functions between hooks and runtimes - Added 'ctx.jobs', 'ctx.settings', 'ctx.cache' for less boilerplate - Added '$debug' API for looking at plugin logs on the client - 🦺 Cache mode: Fixed certain queries bypassing the cache layer - 🦺 Home: Fixed 'not authenticated' errors for local accounts - 🦺 Torrentstream: Fixed 'Disable IPV6' option not working - 🦺 Plugin: Fixed potential crash caused by concurrent shared map writes - 🦺 Torrentstream: Fixed HEAD requests - 🦺 MPV: Fixed player launch when using '--terminal=no --really-quiet' - 🦺 Auto-select: Fixed form fields showing empty values after saving - 🦺 Settings: Fixed form fields showing empty values after saving - 🦺 UI: Fixed some UI issues ## v3.7.0 - 🔒 BREAKING: Non-local instances now require a server password (Read the docs for more info). - ⚡️ Search: Support for tags #614 - ⚡️ Plugins: New APIs and Hooks - Added VideoCore play methods (#699) and skip data manipulation - Added API to register an episode tab - Added Auto Downloader, Torrent search hooks - Added Playback, Scanner, Debrid, Torrent streaming, Torrent search, Auto-select API methods - ⚡️ Home Screen: Added 'Repeating' filter for 'My lists' - ⚡️ Windows: Use user-default explorer application - ⚡️ Denshi: Right-click context menu for inputs - ⚡️ VideoCore: Increased subtitle parsing speed for local files - ⚡️ Denshi Player: Fullscreen with double click instead of double right-click - ⚡️ Search: Global search no longer filters out adult entries - 🦺 Denshi: Fixed blank screen after server reconnection - 🦺 Playback: Fixed stale data being used for events - 🦺 Transcoder: Potential fix for 10bit issues with NVENC (?) - 🦺 Continuity: Fixed potential progress being ignored - 🦺 Scanner: Fixed unrelated roman numerals being treated as seasons - 🦺 Video Proxy: Fixed slow non-HLS video proxy #710 - 🦺 Plugin: Fixed $storage API returning stale data - 🦺 VideoCore: Fixed screenshots with Anime4K - 🔒 Security overhaul - Added `securemode = "strict"` which disables certain actions and plugin capabilities - Config: Added `server.accessAllowlist` `server.trustedProxies` and `server.externalUrl` (Experimental) - Improved Electron security for renderers - Added security checks for server-side Electron macOS updater - Improved client identity security checks - 🏗️ Denshi: App startup no longer relies on websocket connection ## v3.6.1 - 🦺 In-App Player: Fixed deadlock caused by stream cancellation - Cancelling a stream no longer cause future stream requests to hang (regression) - It is now possible to cancel a stream while metadata is being loaded - 🏗️ VideoCore: Refactored stream cancellation logic ## v3.6.0 - ⚡️ Anime: Paste magnet link anywhere to stream or download - ⚡️ Auto-Select: Improved scoring and comparison logic - ⚡️ Manga: Resume page position - ⚡️ Playlist: Option to select all episodes for a media - ⚡️ Plugins: Added ctx.dom.clipboard API - ⚡️ Denshi: Pause video on minimize/hide - ⚡️ Transcoder: Refactored to enhance performance and maintanability - 🦺 Auto Downloader: Fixed potential duplicate downloads with Debrid - 🦺 Debrid Streaming: Fixed HTTP streaming memory leaks - 🦺 External Player: Fixed issues with playback status tracking being carried over - 🦺 Playlist: Fixed episode selection for anime without metadata - 🦺 Schedule Calendar: Fixed potential issues with timezones - 🦺 Local Account: Fixed local lists not being uploaded to AniList - 🦺 Local Account: Fixed runtime error caused by empty lists - 🦺 Local Account: Refresh active media periodically to avoid stale metadata - Note: This can cause rate limiting issues. If you have a lot of media, an AniList account is recommended - 🦺 Auto Downloader: Fixed 'Download now' for queued items - 🦺 VideoCore: Fixed some streaming logic errors - 🦺 VideoCore: Fixed handling of AniSkip chapters - 🦺 Media Card: Fixed list data missing from manga cards on certain pages - 🦺 Auto downloader: Fixed runtime error caused by faulty extensions - 🏗️ Refactored most unit tests, removed outdated tests - ⬆️ Migrated to React 19 - ⬆️ Updated dependencies ## v3.5.2 - ⚡️ Built-in Player: Improved performance - Reduced lag caused by animations and subtitle streaming - ⚡️ Added "Check for updates" button - ⚡️ Added Update Channels (Experimental) - Github (Default), Seanime (GitHub alternative), Seanime Canary (Alpha/Beta releases) - ⚡️ Issue Recorder: Reduced final size by deduplicating content - ⚡️ Qbittorrent: Added re-authentication mechanism - 🔒 Server: Fixed various security issues - 🦺 MKV Parser: Fixed handling of chapters from multiple editions - Fixes out-of-sync seekbar - 🦺 Rsbuild: Added missing node polyfills - Fixes "Copy stream URL" (regression) - 🦺 UI: Fixed PageWrapper forward ref - Fixes home carousel items not loading - 🦺 Library: Fixed missing episodes not refreshing after toggling notifications - 🦺 Anime: Fixed entry list and library data not showing up in carousels - 🏗️ Server: Added update channel fallback ## v3.5.1 - ✨ Denshi: Added desktop app settings - Close to tray, Open in background, Open at login - ⚡️ Scanner: Improved handling of batch folder titles - Fixed cases where generic batch folder titles could cause incorrect matches downstream - ⚡️ Extensions: Added $scannerUtils helper API - Provides utility functions manipulating media titles and building search queries - ⚡️ VideoCore: Custom subtitle delay controls #628 - ⚡️ Server: Automatically log out of AniList when token is invalid - 🦺 Server: Fixed incorrect "Completed" status on progress update for unauthenticated users - 🦺 Server: Don't count AniList 404 errors as API failures - 🦺 Scanner: Fixed hydration rules runtime error #632 - 🦺 VideoCore: Fixed potential layout thrashing - 🏗️ Server: Redact username in logs and issue reports - 🏗️ DX: Fixed Tailwind HMR ## v3.5.0 - ✨ New Library Scanner - Context-aware matching that no longer relies solely on fuzzy matching - Improved accuracy for title variations, smarter parsing and comparisons - Better handling of multi-season anime, movies and specials - ✨ Scanner: Configuration - Add rules to fully customize matching and hydration behavior - ✨ Improved Issue Recorder - Issue Recorder now records the UI, allowing to reproduce issues more easily - Ability to attach screenshots and notes to recordings - ⚡️ Scanner: Added support for Anime Offline Database - Enhanced matching will now use the Anime Offline Database to improve accuracy - ⚡️ New Transcoding/Direct Play media player - Video playback using transcoding/direct play will now use Seanime's custom player (VideoCore) - ⚡️ Updated LibASS Renderer (Jassub) - ⚡️ Theming: Added toggle for restoring blur effects - ⚡️ Improved filename parser - ⚡️ Super Update: Added 'start=' enumeration support - ⚡️ VideoCore: Stats for nerds - View file path, codecs, playback info with the keybind 'Z' - ⚡️ VideoCore: Character Lookup - Quickly lookup characters while watching with the keybind 'H' - ⚡️ Sidebar: 'Search' button now redirects to the search page - Use 's' keybind for quick search access - ⚡️ Denshi: Click on tray icon to toggle visibility #599 - ⚡️ Password inputs are now masked by default - ⚡️ Internal: Revamped Scan Log Viewer - ⚡️ Internal: Revamped Issue Log Analyzer - Added Session Replays for easier debugging - 🦺 Auto Downloader: Fixed handling of custom episode offsets - 🦺 Auto-select: Removed year filter for batch searches #612 - 🦺 Manga: Disable 'Continue Reading' button when next chapter is unavailable - 🦺 VideoCore: Fixed previous/next episode keybinds - 🦺 Scanner: Fixed episode normalization when AniList has more episodes than AniDB - 🦺 Scanner: Refresh anime collection after scanning - 🦺 Library Explorer: Fixed bulk un-ignore option not showing up - 🏗️ UI: Decreased internal AniList rate limiter burst size - 🏗️ Server: Decreased internal AniList rate limiter burst size - 🏗️ TorBox: Seeding option is no longer overridden - 🏗️ (BREAKING): Migrated Frontend from Next.js to Tanstack Router+Rsbuild/Rspack - 10x faster build times - Up to 3x faster hot reloading on heavy components - ⬆️ Updated dependencies - ⬆️ Updated Go to 1.26 ## v3.4.2 - 🦺 Auto Downloader: Skip watched episodes (regression) ## v3.4.1 - 🦺 Auto Downloader: Fixed resolution preference causing no results to be returned - 🦺 Performance: Removed heavy background blurring and glow effects - 🦺 Torrent Search: Reverted 'special' provider inclusion in batch searches - 🦺 My Lists: Fixed library badge not showing up ## v3.4.0 - ✨️ New Auto Downloader - Up to 10x more torrents will be compared in a single run - Added ability to select multiple other indexers/providers for specific rules - Added new constraints: Min seeders, Min size, Max size, Excluded terms - Added suggestions for rule parameters - Added ability to simulate runs to test specific rules - New 'Default Provider' setting - ✨️ Auto Downloader: Profiles - Ability to apply filters globally or set up a scoring system for torrents - Ability to delay downloads in order to fetch better torrents - Each profile can have its own set of preferred params (providers, codecs, etc...) - Each rule can have a specific profile or inherit global ones - ✨️ Auto-select is now fully customizable - Ability to choose and rank providers/indexers, release groups, codecs, etc. - Ability to prefer/avoid/block specific codecs, sources, languages - Ability to exclude terms - ⚡️ Improved UI Performance - Increased fluidity on heavy pages - Up to 2x reduction in FPS drops when navigating - ⚡️ Improved torrent filename parsing - ⚡️ Torrent Search: 'Special' provider will be included in batch search - ⚡️ Anime Library: Locked files are shelved if their library path is missing - This is useful when using external drives - 🦺 Library Explorer: Reload anime entry after super update - 🦺 Plugins: Fixed DOM events not firing when reloading tab - 🏗️ BREAKING: Removed 'Default Auto-select Provider' setting from 'Torrent Provider' - Use auto-select customization instead - 🏗️ Plugins: Webview API is now stable ## v3.3.1 - ⚡️ Logs retrived from the UI are now anonymized - ⚡️ UI: Prevent sidebar from overflowing by automatically unpinning menu items - ⚡️ Plugins: Updated APIs - Added Viewport methods to DOM API - Added tooltip option for Button Actions - Updated and added new methods to Webview API - Added AbortContext - 🦺 Offline: Fixed runtime error caused by disabling offline mode - 🦺 Plugins: Fixed Webview API (window, hide/close, dragging), Tray events - 🦺 Manga: Fixed pages not loading if server password is removed - 🦺 Scanner: Remove episode title from filename when detecting file type - 🦺 Manga: Prevent malformed data returned by extension from crashing UI - 🦺 Fixed minor UI issues ## v3.3.0 - ✨️ Plugins: New Webview API (Alpha) - It is now possible to create new screens, widgets, in plugins - ✨️ Built-in Player: Subtitle Track Translation (Alpha) - Supports DeepL and OpenAI for on-the-fly subtitle track translation - ⚡️ Metadata Parent: Link standalone Specials to a parent anime - Allow standalone Special entries to inherit AniDB metadata from the parent anime #509 - ⚡️ Plugins: New Tray components and UI context APIs - ⚡️ AllDebrid Support - @GabrielNunesIT - ⚡️ Library Explorer: Ability to delete files #561 - ⚡️ Extensions: View code changes before updating extension - ⚡️ Library path selection for download destination - @Ari-03 - ⚡️ Auto Downloader: Filter for media selection - @umag - ⚡️ Updated 'Aired Recently' layout #541 - ⚡️ Torrent List: Added filter and sorting options - ⚡️ Auto Downloader: Ability to remove rules for no longer airing shows #528 - 🔒 Plugins: Security changes - New "unsafe flags" required for script and link manipulation in the DOM - Domain whitelisting required for network access in plugins - Plugins using unsafe flags can only be updated manually - 🦺 Built-in Player: Fixed progress update on first watch - 🦺 Real Debrid: Fixed non-zipped downloads appearing under '.tmp-' folders - 🦺 VLC: Fixed progress tracking on Linux #566 - 🦺 Auto Downloader: Fixed default provider not being overridden when absent - 🦺 Fixed potential panic caused by 'include in library' feature #571 - 🏗️ Nakama and Cloud Rooms are now stable - ⬆️ Updated dependencies ## v3.2.5 - 🦺 Online Streaming: Fixed default server not being selected ## v3.2.4 - ⚡️ Plugins: Enhanced API stability across tabs - DOM and Screen APIs are now stable across multiple tabs - Eliminated conflicting DOM events causing UI crashes - 🦺 Custom Sources: Fixed media not appearing in collection on restart - 🏗️ Server: Load custom sources synchronously before AniList data is fetched ## v3.2.3 - ✨️ Nakama: Cloud Rooms (Public Beta) - Host watch parties without exposing your server to the internet. - Communication between the host and peers is managed by Seanime's Rooms API - Note: This feature might be restricted or removed in the future. - 🦺 Online streaming: Fixed missing AniSkip data - 🦺 VideoCore: Fixed custom fonts not applying - 🦺 Torrent streaming: Fixed auto play starting wrong torrent in some cases - 🦺 Nakama: Fixed peers kicked out of watch party when playback ends - 🦺 Nakama: Restrict skip actions when watch party is active - 🏗️ Settings: Updated Nakama settings layout ## v3.2.2 - 🦺 Denshi Player: Fixed double progress updates - 🦺 Denshi Player: Fixed request deadlock after pre-stream error - 🦺 UI: Minor fixes - 🏗️ Plugins: Updated and fixed some APIs ## v3.2.1 - 🦺 Denshi Player: Fixed scrollbar appearing in fullscreen after selecting torrent - 🦺 Plugins: Refactored Storage API to avoid stale data issues - 🦺 Streaming: Fixed duplicated episode dropdown menu - 🦺 Online Streaming: Fixed video sources ignoring selected server - 🦺 Online Streaming: Fixed playback reloading when toggling autoplay - 🦺 Plugins: Fixed Action API setters using old props - 🏗️ Denshi: Disabled hardware media key handling - 🏗️ Plugins: Sort actions by extension ID ## v3.2.0 - ✨️ Nakama: Watch party support for online streaming (Experimental) - ✨️️ Nakama: Watch party chat - ⚡️ Online Streaming: Import external subtitle files - ⚡️ Nakama: Improved watch party support with built-in player - ⚡️ Plugins: New VideoCore API for interacting with built-in players - 🦺 Online Streaming: Fixed ASS subtitles from providers - 🦺 Nakama: Fixed playlists for shared library episodes - 🦺 Home screen: Fixed genre selector for anime library - 🦺 Online Streaming: Fixed page z-index - 🏗️ Nakama: Refactored watch party & relay mode handling - Relay server no longer launches torrent streams - 🏗️ VideoCore: Shared event system for Denshi player and online streaming ## v3.1.0 - ✨️ Online Streaming: New player with added features (Experimental) - Supports common subtitle formats including ASS/SSA - Anime4K sharpening support - SRT/VTT soft subs to ASS conversion support - Preview thumbnails - Preferences (language, audio, keybinds) - ✨ Denshi Player: New features and improvements - PGS subtitle support (Experimental) - ASS subtitle customization - Custom ASS font support - Blacklist subtitle names - Subtitle delay support - Faster thumbnail generation - ⚡️ Server: TLS support @Ju1-js - ⚡️ Extensions: Added ChromeDP headless browser API - 🦺 Video Proxy: Fixed playlist failing at integer conversion - 🦺 Continue Watching: Add entries without metadata when streaming - 🦺 Plugins: Updated API - Added Pre/PostDeleteEntry hooks - Added '$anilist.ClearCache()' and 'ctx.anime.clearEpisodeMetadataCache()' - 🏗️ iOS: Update PWA icon - ⬆️ Updated Go, Next.js and dependencies ## v3.0.8 - 🦺 Extensions: Fixed "incompatible or obsolete" extension error on startup (regression) ## v3.0.7 - ⚡️ Manga Reader: Added visual feedback for selected settings #525 - 🦺 Local Manga: Fixed rare runtime crash when loading pages - 🦺 Fixed custom sources for local accounts - 🦺 Custom sources: Fixed potential resource leak - 🦺 Extensions: Fixed drawer component for tray plugins - 🏗️ Refactoring: Fixed shared module thread-safety and runtime module updates - Fixes issues when switching offline mode on/off at runtime - Fixes issues when logging in/out at runtime - 🏗️ iOS: Update PWA icon ## v3.0.6 - 🦺 Server: Fixed -datadir flag (regression) ## v3.0.5 - ⚡️ Denshi: Added "Play externally" context menu option to episode cards - ⚡️ Nakama: Added support for sharing custom source media - Shared episodes from custom sources are not supported by playlists - ⚡️ Denshi: Alt/Cmd+Arrow keys for navigation - 🦺 Denshi Player: Fixed parsing of Matroska files (missing subtitle tracks) - 🦺 Manga: Fixed "reload sources" not working - 🦺 Schedule: Fixed schedule breaking due to custom sources - 🦺 Nakama: Fixed "Resolve hidden media" appearing on peer's home screen - 🦺 Offline: Fixed local chapters being ignored when syncing - 🦺 Extensions: Fixed "View extension code" when downloading code - 🦺 Server: Fixed image proxy - 🏗️ Denshi: Implemented new Matroska Parser - 🏗️ Server: Added -host, -port, -password, -disable-password, -disable-features [list], -disable-all-features flags ## v3.0.4 - ⚡️ Extensions: Increased custom source ID limit (Breaking) - 🦺 Extensions: Fixed adding custom sources to collection (Breaking) ## v3.0.3 - ⚡️ Extensions: Added "notes" field to extension manifest for additional info - 🦺 Anime: Display download button when no default torrent provider is selected - 🦺 Marketplace: Fixed empty custom source lists - 🦺 Video Proxy: Fixed certain URIs not being rewritten - 🦺 Custom sources: Fixed "Resolve hidden media" - 🏗️ Denshi Player: Use default or forced subtitle/audio tracks - 🏗️ Denshi Player: Added "off" option for subtitles - 🏗️ Denshi Player: Show error message when subtitle format isn't supported - 🏗️ Server: Updated tray icon ## v3.0.2 - ⚡️ Extensions: Increased custom source media ID limit - 🦺 Extensions: Fixed Go to JS attribute mappings - 🦺 Debrid streaming: Fixed single-file torrents being added to selection history - 🦺 Extensions: Fixed "view code" when granting permissions - 🦺 Denshi: Fixed youtube trailer embeds - 🦺 Fix: Include more formats in anime relations - 🦺 Scanner: Less aggressive 'Special' episode detection - 🦺 Transcoding: Fixed some LibASS renderer issues - 🏗️ Streaming: Renamed "Using previous selection" to "Auto-selecting from previous torrent" - 🏗️ Streaming: Automatically disable "auto-select" when it fails - 🏗️ Anime: Keep download button visible on all views - 🏗️ Fixed 32-bit builds (integer overflow) ## v3.0.1 - ⚡️ Home Screen: New "My Lists" and "Missed Sequels" items - ⚡️ Denshi Player: Add external subtitles (Experimental) - ⚡️ Manga: Option to overwrite all selected sources with default provider - 🦺 Denshi Player: Fixed subtitle & audio selection for RealDebrid - 🦺 Denshi: Force single instance of the client - 🦺 Denshi Player: Fixed some ASS subtitle signs being skipped - 🦺 Denshi Player: Fixed dragging/pasting subtitle files - 🦺 Manga: Fixed refreshing all sources - 🦺 Real Debrid: Fixed auto play 404 errors - 🦺 Denshi Player: Fixed updating number values for keybinds - 🦺 Denshi Player: Fixed handling of auto select errors - 🦺 Fixed editing entries when logged off AniList - 🦺 Fixed issues with default torrent provider - 🦺 Fix: Undo automatic trailers - 🦺 MPV/Iina: Don't append next episode if auto next is off - 🦺 Fix: Potential database locking issues - 🦺 Fixed some UI issues - 🏗️ Security(Server Passcode): Added authentication to proxy endpoints - 🏗️ Security: Granting plugin permissions requires two-way handshake - 🏗️ Security: Ability to view plugin code before granting permissions - 🏗️ Auto Downloader: Ability to choose all media - 🏗️ Extensions: Added $store API to content provider extensions - 🏗️ Added single instance warning to crash screen ## v3.0.0 - 📝 BREAKING: Seanime Desktop is now deprecated. Download the new desktop client https://seanime.app/download - 🎉 Seanime Denshi: New desktop client & built-in player - Seanime Denshi (based on Electron) replaces Seanime Desktop (based on Tauri) - New built-in player for local/torrent/debrid streaming - New player supports ASS/SSA subtitles, importing subtitle files, Anime4K Upscaling - PiP, Mini player, keybinds and more - 🎉 Custom Sources: New extension type for adding custom media - Seanime now no longer limited to AniList! - Add custom sources to watch/read anything you want (even non-anime series) - Create and share your own custom sources - 🎉 Library Explorer: New way to manage your scanned library - Global view of all files in your anime libraries - Search, match, unmatch, edit files faster than ever before - Support for renaming files (PowerRename-like) and editing metadata in bulk - 🎉 Playlists: New playlist system with support for all playback types (Experimental) - Quickly add an episode to a playlist from the right click menu - Playlists now support torrent/debrid/online streaming, transcoding and can switch between them - Playlists now support external player links - 🎉 New cache layer for zero downtime - All requests are now automatically cached to disk - Seanime will keep working as usual when AniList is temporarily down - ⚡️ Library management improvements: - Unmatched files: Integrated search & preview for faster matching - ⚡️ Torrent/Debrid streaming improvements: - Auto play next episode now works when episode file is selected manually - Files are now selected automatically based on index after the first one is selected manually - Manual file selection is now easier with a redesigned interface - ⚡️ Plugins: Tray plugins can now be displayed as drawers - ⚡️ MPV/Iina: Next local file episode is automatically appended to player's playlist - ⚡️ Torrent client: Select files to download from batches - ⚡️ Online Streaming: Previous/Next button #161 - 🦺 Offline: Fixed syncing issues where non-downloaded episodes' images were downloaded - 🦺 Manga: Fixed reading downloaded chapters when no provider is selected - 🦺 Plugin(DOM): Fixed some DOM APIs not working - 🏗️ BREAKING: Removed all built-in extensions ## v2.9.10 - ⚡️ Plugins: Added Schedule and Filler management hooks - 🦺 TorBox: Fixed streaming uncached torrents - 🦺 Nakama (Sharing): Do not share unmatched entries - 🦺 Nakama (Sharing): Fixed unwatched count in detailed library view - 🦺 Server Password: Fixed auth redirection on iOS - 🦺 Server: Update anime collection in modules when manually refreshing - 🦺 Torrent/Debrid streaming: Lowered episode list cache duration ## v2.9.9 - 🦺 Fixed torrent streaming for desktop players ## v2.9.8 - 🦺 External Player Link: Fixed torrent streaming links - 🦺 VLC, MPC-HC: Fixed input URI encoding - 🦺 M3u8 Proxy: Potential fix for missed rewrites - 🦺 Server Password: Do not load page before authentication - 🦺 Online streaming: Do not always restore fullscreen - 🦺 Fixed some UI bugs ## v2.9.7 - ⚡️ Nakama: Better default titles with MPV - ⚡️ External Player Links: New variables for custom scheme #345 - {mediaTitle}, {episodeNumber}, {formattedTitle}, {scheme} - 🦺 Fixed Auto Downloader not working with Debrid - 🦺 Auto Play: Use same torrent when playback is started from previous selection - 🦺 Nakama: Fixed external player link starting playback on system player - 🦺 Online streaming: Fixed m3u8 Proxy skipping some URIs #396 - 🦺 Fixed VLC progress tracking for local file playback #398 - 🦺 Plugin Hooks: Fixed some events being ignored - 🦺 Online streaming: Invalidate all episode queries when emptying cache - 🏗️️ Online streaming: Display errors in the UI ## v2.9.6 - 🦺 Fixed server crash caused by navigating to 'Schedule' page ## v2.9.5 - ⚡️ Updated Discord RPC: Media title used as activity name, links - ⚡️ Offline mode: Option to auto save currently watched/read media locally #376 - ⚡️ Offline mode: Bulk select media to save locally #377 - ⚡️ Metadata: Prefer TVDB title when AniDB isn't up-to-date - ⚡️ Scan summaries: Search input for filenames - 🦺 Potential fixes for high memory usage and app slowdowns - 🦺 Torrent list: Fixed 'Stop seeding all' button pausing downloading torrents - 🦺 Playground: Fixed UI crash caused by console logs - 🦺 Scanner: Fixed matching being messed up by "Part" keyword in filenames - 🦺 Parser: Fixed folder names with single-word titles being ignored - 🦺 Online streaming: Don't hide button for adult entries - 🦺 Online streaming: Fixed wrong episode selection when page is loaded #384 - 🦺 Potential fix for auto play not being canceled - 🦺 Nakama: Fixed host's list data being added to anime that aren't in the collection - 🦺 External Player Link: Fixed incorrect stream URL when server password is set - 🦺 Media player: Use filepaths for comparison when loading media instead of filenames - 🦺 Nakama: Fixed case sensitivity issue when comparing file paths on Windows - 🦺 Fixed external player links by encoding stream URL if it contains a query parameter #387 - 🦺 Playlists: Fixed playlist deletion - 🏗️ Slight changes to the online streaming page for more clarity - 🏗️ Settings: Added memory profiling to 'logs' section - 🏗️ Anime: Removed (obsolete) manual TVDB metadata fetching option - 🏗️ Perf(Extensions): Do not download payload when checking for updates ## v2.9.4 - ⚡️ Migrated to Seanime's own anime metadata API - ⚡️ Release calendar: Watch status is now shown in popovers - 🦺 Fixed schedule missing some anime entries due to custom lists - 🦺 Watch history: Fixed resumed playback not working for local files - 🦺 Fixed streaming anime with no AniList schedule and no episode count - 🦺 Fixed 'Upload local lists to AniList' button not working - 🦺 Fixed repeated entries in 'Currently watching' list on the AniList page ## v2.9.3 - ⚡️ Plugins: Added Textarea component, 'onSelect' event for input/textarea - 🦺 Fixed release calendar missing long-running series - 🦺 Include in Library: Fixed 'repeating' entries not showing up ## v2.9.2 - ⚡️ Discover: Added 'Top of the Season', genre filters to more sections - ⚡️ Nakama: Detailed library view now available for shared library - ⚡️ TorBox: Optimized TorBox file list query - @MidnightKittenCat - ⚡️ Episode pagination: Bumped number of items per page to 24 - 🦺 Nakama: Fixed dropdown menu not showing up for shared anime - 🦺 Nakama: Base unwatched count on shared episodes - 🦺 Scanner: Fixed modal having 'Use anilist data' checked off by default - 🦺 UI: Revert to modal for AniList entry editor on media cards - 🦺 Plugins: Allow programmatic tray opening on mobile - 🦺 Fixed incorrect dates in AniList entry editor #356 - 🦺 UI: Revert incorrect video element CSS causing pixelation #355 ## v2.9.1 - 🦺 Server Password: Fixed token validation on public endpoints - 🦺 Server Password: Fixed login from non-localhost, HTTP clients #350 - ⚡️ Release calendar: Option to disable image transitions - ⚡️ Manga: Double page offset keybindings - @Ari-03 - 🦺 Plugin: Fixed newMediaCardContextMenuItem and other APIs - 🦺 Fixed IINA settings not being applied - 🏗️ Downgraded Next.js and React Compiler - Potential solution for client-side rendering errors #349 ## v2.9.0 - 🎉 New feature: Nakama - Communication between Seanime instances - You can now communicate with other Seanime instances over the internet - 🎉 Nakama: Watch together (Alpha) - Watch (local media, torrent or debrid streams) together with friends with playback syncing - Peers will stream from the host with synchronized playback - 🎉 Nakama: Share your anime library (Alpha) - Share your local anime library with other Seanime instances or consume your remote library - ✨ Local account - By default, Seanime no longer requires an AniList account and stores everything locally - ✨ Server password - Lock your exposed Seanime instance by adding a password in your config file - ✨ Manga: Local source extension (Alpha) - New built-in extension for reading your local manga (CBZ, ZIP, Images) - ✨ New schedule calendar - ✨ macOS: Support for IINA media player - ✨ Toggle offline mode without restarting the server - ✨ New getting started screen - ⚡️ Discord: Pausing anime does not remove activity anymore - ⚡️ UI: New setting option to unpin menu items from the sidebar - ⚡️ UI: Added pagination for long episode lists - ⚡️ Online streaming: Episode number grid view - ⚡️ Performance: Plugins: Deduplicate and batch events - ⚡️ Discord: Added option to show media title in activity status (arRPC only) - @kyoruno - ⚡️ PWA support (HTTPS only) - @HyperKiko - ⚡️ MPV/IINA: Pass custom arguments - ⚡️ Discord: Keep activity when anime is paused - ⚡️ UI: Updated some animations - 🦺 Fixed multiple Plugin API issues - 🦺 Goja: Added OpenSSL support to CryptoJS binding - 🦺 Fixed filecache EOF error - 🦺 Fixed offline syncing ## v2.8.5 - 🦺 Fixed scraping for manga extensions - 🦺 Library: Fixed bulks actions not available for unreleased anime - 🦺 Auto Downloader: Button not showing up for finished anime - 🦺 Online streaming: Fixed 'auto next episode' not working for some anime ## v2.8.4 - ⚡️ Plugin development improvements - New Discord Rich Presence event hooks - New bindings for watch history, torrent client, auto downloader, external player link, filler manager - Plugins in development mode that experience a fatal error can now be reloaded multiple times - Uncaught exceptions are now correctly logged in the browser devtool console - 🦺 Fixed macOS/iOS client-side exception caused by 'upath' #238 - 🦺 Removed 'add to list' buttons in manga download modal media cards - 🦺 Manga: Fixed reader keybinding editing not working on macOS desktop - 🦺 Fixed AniList page filters not persisting - 🦺 Fixed 'Advanced Search' input not being emptied when resetting search params - 🦺 Extensions: Fixed caught exceptions being logged as empty objects - 🦺 Fixed extension market button disabled by custom background image - 🦺 Fixed Plugin APIs - Fixed DOM manipulation methods not working - Correctly remove DOM elements created by plugin when unloaded - Fixed incorrectly named hooks - Fixed manga bindings for promises - Fixed select and radio group tray components - Fixed incorrect event object field mapping (Breaking) - 🏗️ Frontend: Replace 'upath' dependency ## v2.8.3 - ⚡️ Updated Playground - ⚡️ Discover page: Play the trailer on hover; carousel buttons - 🦺 Playground: Fix online streaming search options missing media object - 🦺 Discord: Fixed anime rich presence displaying old episodes - 🦺 Discord: Fixed manga rich presence activity #282 - 🦺 Library: Fixed anime unwatched count for shows not in the library - 🦺 Library: Fixed filtering for shows not in the library - 🦺 Library: Fixed 'Show unwatched only' filter - 🦺 Torrent search: Fixed Nyaa batch search with 'any' resolution - 🏗️ Torrent Search: Truncate displayed language label number ## v2.8.2 - ✨ UI: Custom CSS support - ✨ In-app extension marketplace - Find extensions to install directly from the interface - ⚡️ Discord: Rich Presence anime activity with progress track - ⚡️ Torrent: New 'Nyaa (Non-English)' built-in extension with smart search - ⚡️ Torrent search: Added labels for audio, video, subtitles, dubs - ⚡️ Torrent search: Improved non-smart search UI - ⚡️ Extensions: Built-in extensions now support user preferences - API Urls are now configurable for some built-in extensions - ⚡️ Extensions: Auto check for updates with notification - ⚡️ Extensions: Added media object to Online streaming search options - ⚡️ Extensions: User config (preferences) now accessible with '$getUserPreference' global function - ⚡️ UI Settings: Color scheme live preview #277 - ⚡️ Manga: Fullscreen toggle on mobile (Android) #279 - 🦺 Library: Fixed genre selector making library disappear #275 - 🦺 Online streaming: Fixed search query being altered - 🦺 Fixed offline mode infinite loading screen (regression from v2.7.2) #278 - 🦺 Extensions: Fixed playground console output #276 - 🦺 Extensions: Fixed JS extension pool memory leak - 🦺 Extensions: Fixed Plugin Actions API - 🏗️ Removed Cloudflare bypass from ComicK extension - 🏗️ Extensions: Deprecated 'getMagnetLinkFromTorrentData' in favor of '$torrentUtils.getMagnetLinkFromTorrentData' - 🏗️ Plugins: New 'ctx.anime' API - 🏗️ Server: Use binary (IEC) measurement on Windows and Linux #280 - 🏗️ Extensions: Updated and fixed type declaration files - 🏗️ Extensions: New 'semverConstraint' field ## v2.8.1 - 🦺 Fixed runtime error when launching the app for the first time - 🦺 Fixed torrent search episode input - 🦺 Fixed update popup showing empty "Updates you've missed" ## v2.8.0 - 🎉 Plugins: A powerful new way to extend and customize Seanime - Build your own features using a wide range of APIs — all in JavaScript. - ✨ Playback: Faster media tracking, better responsiveness - Faster autoplay, progress tracking, playlists - ✨ Torrent streaming: Improved performance and responsiveness - Streams start up to 2x faster, movies start up to 50x faster - ✨ Server: DNS over HTTPS support - ✨ Manga: Refresh all sources at once #233 - ✨ Library/Streaming: Episode list now includes specials included by AniList in main count - ✨ Torrent search: Sorting options #253 - ✨ Debrid streaming: Improved stream startup time - ✨ Library: New 'Most/least recent watch' sorting options (w/ watch history enabled) #244 - ✨ Extensions: Ability to edit the code of installed extensions - ⚡️ Streaming: Added Nyaa as a fallback provider for auto select - ⚡️ Manga: Unread count badge now takes into account selected scanlator and language - ⚡️ Torrent list: Stop all completed torrents #250 - ⚡️ Library/Streaming: Improved handling of discrepancies between AniList and AniDB - ⚡️ Library: Show episode summaries by default #265 - ⚡️ UI: Option to hide episode summaries and episode filename - ⚡️ AniList: Option to clear date field when editing entry - ⚡️ Extensions: New 'Update all' button to update all extensions at once - ⚡️ Extensions: Added 'payloadURI' as an alternative to pasting extension code - ⚡️ Extensions: 'Development mode' that allows loading source code from a file in the manifest - ⚡️ Torrent streaming: Option to change cache directory - ⚡️ Manga: Selecting a language will now filter scanlator options and vice versa - ⚡️ Discover page: Context menu for 'Airing Schedule' items #267 - @kyoruno - ⚡️ Added AniList button to preview modals #264 - @kyoruno - 🦺 Fixed AnimeTosho smart search #260 - 🦺 AutoPlay: Fixed autoplay starting erroneously - 🦺 Scanner: Fixed local file parsing with multiple directories - 🦺 Scanner: Fixed resolved symlinks being ignored #251 - 🦺 Scanner: Removed post-matching validation causing some files to be unmatched #246 - 🦺 Library: Fixed 'unwatched episode count' not showing with 'repeating' status - 🦺 Library: Fixed incorrect episode offset for some anime - 🦺 Torrent search: Fixed excessive API requests being sent during search query typing - 🦺 Parser: Fixed crash caused by parsing 'SxExxx-SxExxx' - 🦺 Video Proxy: Fixed streaming .mp4 media files - @kRYstall9 - 🦺 Extensions: Fixed bug causing invalid extensions to be uninstallable from UI - 🦺 Extensions: Fixed concurrent fetch requests and concurrent executions - 🏗️ Debrid streaming changes - Added visual feedback when video is being sent to media player - Removed stream integrity check for faster startup - 🏗️ Refactored websocket system - New bidirectional communication between client and server - Better handling of silent websocket connection closure - 🏗️ Refactored extension system - Usage of runtime pools for better performance and concurrency - Improved JS bindings/bridges - 🏗️ Web UI: Added data attributes to HTML elements - 🏗️ Offline mode: Syncing now caches downloaded chapters if refetching - 🏗️ BREAKING(Extensions): Content provider extension methods are now run in separate runtimes - State sharing across methods no longer works but concurrent execution is now possible - ⬆️ Migrated to Go 1.24.1 - ⬆️ Updated dependencies ## v2.7.5 - 🦺 Extensions: Fixed runtime errors caused by concurrent requests - 🦺 Manga: Removed light novels from manga library #234 - 🦺 Fixed torrent stream overlay blocking UI #243 - 🏗️ Server: Removed DNS resolver fallback ## v2.7.4 - 🚑️ Fixed infinite loading screen when launching app for the first time - ⚡️ External player link: Option to encode file path to Base64 (v2.7.3) - 🦺 Desktop: Fixed startup failing due to long AniList request (v2.7.3) - 🦺 Debrid: Fixed downloading to nonexistent destination (v2.7.3) - 🦺 Anime library: Fixed external player link not working due to incorrect un-escaping (v2.7.3) - 🦺 Small UI fixes (v2.7.3) - 🏗️ Server: Support serving Base64 encoded file paths (v2.7.3) ## v2.7.3 - ⚡️ External player link: Option to encode file path to Base64 - 🦺 Desktop: Fixed startup failing due to long AniList request #232 - 🦺 Debrid: Fixed downloading to nonexistent destination #237 - 🦺 Anime library: Fixed external player link not working due to incorrect un-escaping #240 - 🦺 Small UI fixes - 🏗️ Server: Support serving Base64 encoded file paths ## v2.7.2 - 🦺 Fixed error alert regression - 🦺 Anime library: Fixed downloading to library root #231 - 🦺 Fixed getting log file contents on Linux - 🏗️ Use library for 'copy to clipboard' feature ## v2.7.1 - ⚡️ Transcoding: Support for Apple VideoToolbox hardware acceleration - ⚡️ Manga: New built-in extension - 🦺 Fixed hardware acceleration regression - 🦺 Fixed client cookie regression causing external player links to fail - 🦺 Fixed Direct Play regression #224 - 🦺 Anime library: Fixed selecting multiple episodes to download at once #223 - 🦺 Desktop: Fixed copy to clipboard - 🦺 Fixed UI inconsistencies - 🏗️ Extensions: Removed non-working manga extension - 🏗️ Improved logging in some areas - 🏗️ Desktop: Refactored macOS fullscreen ## v2.7.0 - ✨ Updated design - ✨ Command palette (Experimental) - Quickly browse, search, perform actions, with more options to come - Allows navigation with keyboard only #46 - ✨ Preview cards - Preview an anime/manga by right-clicking on a media card - ✨ Library: Filtering options #210 - Filter to see only anime with unseen episodes and manga with unread chapters #175 (Works if chapters are cached) - New sorting options: Aired recently, Highest unwatched count, ... - ✨ New UI Settings - 'Continue watching' sorting, card customization - Show unseen count for anime cards #209 - ⚡️ Torrent/Debrid streaming: 'Auto play next episode' now works with manually selected batches #211 - This works only if the user did not select the file manually - ⚡️ Server: Reduced memory usage, improved performance - ⚡️ Discord Rich Presence now works with online & media streaming - ⚡️ 'Continue watching' UI setting options, defaults to 'Aired recently' - BREAKING: Manga unread count badge needs to be reactivated in settings - ⚡️ Torrent streaming: Slow seeding mode #200 - ⚡️ Debrid streaming: Auto-select file option - ⚡️ Quick action menu #197 - Open preview cards, more options to come - ⚡️ Revamped Settings page - ⚡️ Anime library: Improved Direct Play performance - ⚡️ Quickly add media to AniList from its card - 🦺 Torrent streaming: Fixed auto-selected file from batches not being downloaded #215 - Fixed piece prioritization - 🦺 Debrid streaming: Fixed streaming shows with no AniDB mapping - 🦺 Anime library: 'Remove empty directories' now works for other library folders - 🦺 Anime library: Download destination check now takes all library paths into account - 🦺 Online streaming: Fixed 'auto next' not playing the last episode - 🦺 Server: Fixed empty user agent header leading to some failed requests - 🦺 Anime library: Ignore AppleDouble files on macOS #208 - 🦺 Manga: Fixed synonyms not being taken into account for auto matching - 🦺 Manga: Fixed genre link opening anime in advanced search - 🦺 Extension Playground: Fixed anime torrent provider search input empty value - 🦺 Continuity: Ignore watch history above a certain threshold - 🦺 Online streaming: Fixed selecting highest quality by default - 🦺 Fixed Auto Downloader queuing same items - 🦺 Manga: Fixed pagination when filtering by language/scanlator #217 - 🦺 Manga: Fixed page layout overflowing on mobile - 🦺 Torrent streaming: Fixed incorrect download/upload speeds - 🦺 Anime library: Fixed special episode sorting - 🏗️ Server: Migrated API from Fiber (FastHTTP) to Echo (HTTP) - 🏗 External media players: Increased retries when streaming - 🏗 Torrent streaming: Serve stream from main server - 🏗 Watch history: Bumped limit from 50 to 100 - 🏗 Integrated player: Merged both online & media streaming players - BREAKING: Auto play, Auto next, Auto skip player settings have been reset to 'off' - 🏗 Renaming and Removals - Scanner: Renamed 'matching data' checkbox - Torrent/Debrid streaming: Renamed 'Manually select file' to 'Auto select file' - Removed 'Use legacy episode cards' option - 'Fluid' media page header layout is now the default - ⬆️ Migrated to Go 1.23.5 - ⬆️ Updated dependencies ## v2.6.2 - ⚡️ Advanced search: Maintain search params during navigation #195 - 🦺 Torrent streaming: Fixed playback issue - 🦺 Auto Downloader: Fixed list not updating correctly after batch creation - 🔧 Torrent streaming: Reverted to using separate streaming server ## v2.6.1 - ⚡️ Anime library: Filtering by year now takes into account the season year - ⚡️ Torrent streaming: Custom stream URL address setting #182 - 🦺 Scanner: Fixed duplicated files due to incorrect path comparison - 🦺 Use AniList season year instead of start year for media cards #193 - 🏗️ Issue recorder: Increase data cap limit ## v2.6.0 - ✨ In-app issue log recorder - Record browser, network and server logs from an issue you encounter in the app and generate an anonymized file to send for bug reports - ⚡️ Auto Downloader: Added support for batch creation of rules #180 - ⚡️ Scanner: Improved default matching algorithm - ⚡️ Scanner: Option to choose different matching algorithms - ⚡️ Scanner: Improved filename parser, support for SxPx format - ⚡️ Scanner: Reduced log file sizes and forced logging to single file per scan - ⚡️ Improved Discover manga page - ⚡️ New manga filters for country and format #191 - ⚡️ Torrent streaming: Serve streams from main server (Experimental) - Lower memory usage, removes need for separate server - ⚡️ Auto deletion of log files older than 14 days #184 - ⚡️ Online streaming: Added 'f' keybinding to restore fullscreen #186 - 💄 Media page banner image customization #185 - 💄 Media banner layout customization - 💄 Updated user interface settings page - 💄 Updated some styles - 💄 Added 'Fix border rendering artifacts' option to UI settings - 🦺 Fixed Auto Downloader form #187 - 🦺 Streaming: Fixed auto-select for media with very long titles - 🦺 Fixed torrent streaming on VLC - 🦺 Fixed MPV resumed playback with watch continuity enabled - 🦺 Desktop: Fixed sidebar menu item selection - 🏗️ Auto Downloader: Set minimum refresh interval to 15 minutes (BREAKING) - If your refresh interval less than 15 minutes, it will be force set to 20 minutes. Update the settings accordingly. - 🏗️ Moved 'watch continuity' setting to 'Seanime' tab ## v2.5.2 - 🦺 Fixed SeaDex extension #179 - 🦺 Fixed Auto Downloader title comparison - 🦺 Fixed m3u8 proxy HTTP/2 runtime error on Linux - 🦺 Fixed Auto Downloader array fields - 🦺 Fixed online streaming error caused by decimals - 🦺 Fixed manual progress tracking cancellation - 🦺 Fixed playback manager deadlock - 🦺 Desktop: Fixed external player links - 🦺 Desktop: Fixed local file downloading (macOS) - 🦺 Desktop: Fixed 'open in browser' links (macOS) - 🦺 Desktop: Fixed torrent list UI glitches (macOS) - 🏗️ Desktop: Added 'reload' button to loading screen - ⬆️ Updated filename parser - Fixes aggressive episode number parsing in rare cases - ⬆️ Updated dependencies - 🔑 Updated license to GPL-3.0 ## v2.5.1 - 💄 Updated built-in media player theme - 🦺 Fixed Auto Downloader form fields (regression) - 🦺 Fixed online streaming extension API url (regression) - ⬆️ Migrated to Go 1.23.4 - ⬆️ Updated dependencies ## v2.5.0 - ⚡️ UI: Improved rendering performance - ⚡️ Online streaming: Built-in Animepahe extension (Experimental) - ⚡️ Desktop: Automatically restart server process when it crashes/exits - ⚡️ Desktop: Added 'Restart server' button when server process is terminated - ⚡️ Auto progress update now works for built-in media player - ⚡️ Desktop: Back/Forward navigation buttons #171 - ⚡️ Open search page by clicking on media genres and ranks #172 - ⚡️ Support for AniList 'repeat' field #169 - ⚡️ Ignore dropped anime in missing episodes #170 - ⚡️ Improved media player error logging - ⚡️ Online streaming: m3u8 video proxy support - ⚡️ Ability to add to AniList individually in 'Resolve unknown media' - 🦺 Fixed TorBox failed archive extraction - 🦺 Fixed incorrect 'user-preferred' title languages - 🦺 Fixed One Piece streaming episode list - 🦺 Added workaround for macOS video player fullscreen issue #168 - Clicking 'Hide from Dock' from the tray will solve the issue - 🦺 Fixed torrent streaming runtime error edge case - 🦺 Fixed scanner 'Do not use AniList data' runtime error - 🦺 Fixed Transmission host setting not being applied - 🦺 Javascript VM: Fixed runtime panics caused by 'fetch' data races - 🦺 Online streaming: Fixed scroll to current episode - 🦺 Online streaming: Fixed selecting highest/default quality by default - 🦺 Fixed UI inconsistencies - 🏗️ Removed 'Hianime' online streaming extension - 🏗️ Real Debrid: Select all files by default - 🏗️ UI: Improved media card virtualized grid performance - 🏗️ Javascript VM: Added 'url' property to fetch binding - 🏗️ Reduced online streaming cache duration - 🏗️ Core: Do not print stack traces concurrently - 🏗️ UI: Use React Compiler (Experimental) - ⬆️ Updated dependencies ## v2.4.2 - ⚡️ 'Include in library' will keep displaying shows when caught up - ⚡️ Settings: Open data directory button - 🦺 Desktop: Fixed authentication issue on macOS - ⚡️ Desktop: Force single instance - ⚡️ Desktop: Try to shut down server on force exit - ⚡️ Desktop: Disallow update from Web UI - 🦺 Desktop: Fixed 'toggle visibility' - 🦺 Desktop: Fixed 'server process terminated' issue ## v2.4.1 - ⚡️ Desktop: Close to minimize to tray - The close button no longer exits the app, but minimizes it to the system tray - Exit the app by right-clicking the tray icon and selecting 'Quit Seanime' - ⚡️ Qbittorrent: Custom tag settings #140 - 🦺 Fixed Linux server requiring libc - 🦺 Desktop: Fixed 'toggle visibility' ## v2.4.0 - 🚀 Desktop app - You can now download the new desktop app for Windows, macOS, and Linux - The desktop app is a standalone GUI that embeds its own server - 🦺 Anime library: Fixed toggle lock button - 🦺 Torrent streaming: Fixed file previews - 🏗️ Rename 'enhanced scanning' - 🔨 Updated release workflow ## v2.3.0 - ✨ Real-Debrid support for streaming and downloading - ⚡️ Manga: Unread chapter count badge - ⚡️ HTTPS support for qBittorrent and Transmission - ⚡️ Online streaming: Theater mode - 🦺 Scanner: Fixed NC false-positive edge case - 🦺 Fixed pause/resume action for qBittorrent v5 #157 - 🏗️ Added fallback update endpoint & security check - 🏗️ Fixed update notification reliability - 🏗️ Fixed cron concurrency issue ## v2.2.3 - 🦺 Offline: Fixed episode images not showing up without an internet connection - Remove and add saved series again to fix the issue - 🦺 Offline: Download only used images - 🦺 Debrid streaming: Fixed MPV --title flag - 🦺 Debrid streaming: Fixed stream cancellation - ⚡️ Media streaming: Custom FFmpeg hardware acceleration options - 🏗️ Moved filename parser to separate package ## v2.2.2 - ✨ Debrid Streaming: Auto select (Experimental) - ⚡️ Scanner: Improved episode normalization logic - ⚡️ Debrid Streaming: Retry mechanism for stream URL checks - ⚡️ Online streaming: New "Include in library" setting - ⚡️ Online streaming: Show fetched image & filler metadata on episode cards - ⚡️ Settings: Torrent client "None" option - 💄 UI: Integrated online streaming view in anime page - 🦺 Fixed custom background images not showing up #148 - 🦺 Fixed external player link for downloaded Specials/NC files #139 - 🦺 Fixed "contains" filter for Auto Downloader #149 - 🏗️ Merged "Default to X view" and "Include in library" settings for torrent & debrid streaming - 🏗️ Made library path optional for onboarding and removable in settings - 🏗️ Updated empty library screen - 🏗️ Fix Go toolchain issue #150 ## v2.2.1 - ⚡️ New getting started page - ⚡️ Auto Downloader: Added 'additional terms' filter option - 🦺 Torrent streaming: Fixed auto-select runtime error - 🦺 Fixed auto-scanning runtime error - 🦺 Fixed issue with inexistant log directory - 🦺 Torrent streaming: Fixed runtime error caused by missing settings - 🦺 Fixed scan summaries of unresolved files not showing up ## v2.2.0 - 🎉 New offline mode - New local data system with granular updates, removing the need for re-downloading metadata each time. Option for automatic local data refreshing. Support for media streaming. Better user interface for offline mode. - 🎉 Debrid support starting with TorBox integration - TorBox is now supported for downloading/auto-downloading and streaming torrents. - Automatic local downloading once a torrent is ready - 🎉 Watch continuity / Resumable playback - Resume where you left off across all playback types (downloaded, online streaming, torrent/debrid streaming) - ✨ Support for multiple library directories - ✨ Export & import anime library data - ⚡️ Improved scanner and matcher - Matcher now prioritizes distance comparisons to avoid erroneous matches - ⚡️ Extensions: User configs - ⚡️ Improved Auto Downloader title comparisons #134 - New ‘Verify season’ optional setting to improve accuracy if needed - ⚡️ Online streaming: Manual match - ⚡️ Torrent streaming: Change default torrent client host #132 - ⚡️ JS Extensions: Torrent data to magnet link global helper function #138 - ⚡️ Media streaming: Direct play only option - ⚡️ Built-in player: Discrete controls (Hide controls when seeking) - ⚡️ Built-in player: Auto skip intro, outro - ⚡️ Support for more video extensions #144 - 🦺 Fixed Semver version comparison implementation (affects migrations) - 🦺 Fixed Auto Downloader form #133 - 🦺 Fixed ‘continue watching’ button for non-downloaded media #135 - 🦺 Fixed Hianime extension - 🦺 Fixed specials not working with external player link for torrent streaming #139 - 🦺 Fixed some specials not being streamable - 🏗️ Refactored metadata provider code - 🏗️ New documentation website ## v2.1.1 - ✨ Discover: New 'Schedule' and 'Missed sequels' section - ⚡️ Self update: Replace current process on Linux #114 - ⚡️ Auto play next episode now works for torrent streaming (with auto-select enabled) - ⚡️ Anime media cards persist list data across pages - 🦺 Fixed duplicated playback events when 'hide top navbar' is enabled #117 - 🦺 Fixed UI inconsistencies & layout shifts due to scrollbar - 🦺 Fixed anime media card trailers - 🦺 Fixed nested popovers not opening on Firefox - 🏗️ UI: Added desktop-specific components for future desktop app - 🏗️ Added separate build processes for frontend ## v2.1.0 - ✨ Manage logs from the web interface - ✨ Extensions: Improved Javascript interpreter - New Cheerio-like HTML parsing API - New CryptoJS API bindings - ✨ Extensions: Typescript/Javascript Playground - Test your extension code interactively from the web interface - ✨ AnimeTosho: 'Best release' filter - ✨ Manga: New built-in "ComicK (Multi)" extension - Supports language & scanlator filters - ✨ Auto play next episode for Desktop media players - Enable this in the media player settings - ✨ Manga extension API now support language & scanlator filters - ⚡️ Playlist creation filters - ⚡️ Unmatch select files instead of all - ⚡️ New option to download files to device #110 - ⚡️ Progress modal key bindings #111 - 'u' to update progress & 'space' to play next episode - 🦺 Extensions Fixed JS runtime 'fetch' not working with non-JSON responses - 🦺 qBittorrent login fix - 🏗️ Updated extension SDK - Breaking changes for third-party extensions ## v2.0.3 - ✨ Settings: Choose default manga source - 🦺 Fixed 'resolve unmatched' feature - Fixed incorrect hydration when manually resolving unmatched files - 🦺 Torrent streaming: Fixed external player link on Android - 🦺 UI: Display characters for undownloaded anime - 🏗️ Updated extension SDK ## v2.0.2 - ✨ Ignore files - ⚡️ Improved 'resolve unmatched' feature - Select individual files to match / ignore - Suggestions are fetched faster - 🦺 Torrent streaming: Fixed MPV cache - 🦺 Fixed manual match overwriting locked files - 🦺 Fixed episode summaries ## v2.0.1 - ✨ Torrent streaming: Show previously selected torrent - ✨ Support for AniList 'repeating' status - 🦺 Fixed External Player Link not working on Android - 🦺 Fixed UI inconsistencies - 🦺 Fixed SeaDex provider ## v2.0.0 - 🎉 Extension System - Create or install torrent provider, online streaming, and manga source extensions - Support for JavaScript, TypeScript, and Go - Easily share extensions by hosting them on GitHub or any public URL - Extensions are sandboxed for security and have access only to essential APIs - 🎉 Windows System Tray App - Seanime now runs as a system tray app on Windows, offering quick and easy access - 🎉 External Media Player Link (Custom scheme) - Open media in external player apps like VLC, MX Player, Outplayer, and more, using custom URL schemes - Stream both downloaded media and torrents directly to your preferred player that supports custom schemes - ✨ Torrent Streaming Enhancements - Stream torrents to other devices using the external player link settings - Manually select files for torrent streaming (#103) - View torrent streaming episodes alongside downloaded ones in your library - Improved handling of Specials & Adult content (#103) - Torrent streaming now passes filenames to media players (#99) - Option to switch to torrent streaming view if media isn't in your library - ⚡️ Enhanced Auto Downloader - Improved accuracy with a new option to filter by release group using multiple queries - ✨ UI Enhancements - Customize your experience with new user interface settings - Updated design for media cards, episode cards, headers, and more - ✨ Manga Enhancements - Manually match manga series for more accurate results - Updated page layout - ✨ Notifications - Stay informed with new in-app notifications - ⚡️ Smart Search Improvements - Enhanced search results for current torrent providers - Reduced latency for torrent searches - ⚡️ Media Streaming Enhancements - Defaults to the cache directory for storing video segments, removing the need for a transcode directory - ⚡️ Library Enhancements - Filter by title in the detailed library view (#102) - More options for Discord Rich Presence (#104) - 🦺 Bug Fixes & Stability - Fixed incorrect listing on the schedule calendar - Resolved runtime error when manually syncing offline progress - Resolved runtime error caused by torrent streaming - Corrected links on the AniList page's manga cards - 🏗️ Logging & Output - Continuous logging of terminal output to a file in the logs directory - FFmpeg crashes are now logged to a file - Enforced absolute paths for the `-datadir` flag - 🏗️ Codebase Improvements - Refactored code related to the AniList API for better consistency - Enhanced modularity of the codebase for easier maintenance - Updated release workflow and dependencies ## v1.7.3 - ⚡️ Perf: Optimized queries - Start-up time is reduced - Editing list entries has lower latency - Fetching larger AniList collections is now up to 5 times faster - 💄 UI: Updated components - Larger media cards - Updated episode grid items - Use AniList color gradients for scores - Improved consistency across components - ⚡️ Automatically add new media to AniList collection when downloading first episode - 🦺 Transmission: Escape special characters in password - 🦺 UI: Escape parentheses in image filenames ## v1.7.2 - ⚡️ Scanner: Support more file extensions - ⚡️ Removed third-party app startup check if the application path is not set - 🦺 Auto update: Fixed update deleting unrelated files in the same directory - 🦺 Media streaming: Fixed direct play using wrong content type #94 - 🦺 Torrent streaming: Fixed inaccurate file download percentage for batches #96 ## v1.7.1 - 🦺 Media streaming: Fixed direct play returning the same file for different episodes - 🦺 Torrent streaming: Fixed playing individual episode from batch torrents #93 - 🦺 Torrent streaming: Fixed panic caused by torrent file not being found - 🦺 Fixed crash caused by terminating MPV programmatically / stopping torrent stream - 🦺 Fixed 'manga feature not enabled' error when opening the web interface #90 - 🦺 Fixed manga list being named 'watching' instead of 'reading' - 🦺 Media streaming: Fixed 'file already closed' error with direct play - 🦺 Torrent streaming: Fixed persistent loading bar when torrent stream fails to start - 🦺 Schedule: Fixed calendar having inaccurate dates for aired episodes - 🦺 Media streaming: Fixed byte range request failing when video player requests end bytes first (direct play) - 🏗️ Media streaming: Refactored direct play file cache system - 🏗️ Scan summaries: Use preferred titles - 🏗️ Internal refactoring for code consistency ## v1.7.0 - ✨ Improved anime library page - New detailed view with stats, filters and sorting options - ✨ Revamped manga page - Updated layout with dynamic header and genre filters - Page now only shows current, paused and planned entries - ✨ Improved 'Schedule' page: New calendar view for upcoming episodes - ✨ Improved 'Discover' page: Support for manga - ✨ Improved 'AniList' page - Updated layout with new filters, sorting options and support for manga lists - New stats section for anime and manga - ✨ Global search now supports manga - ✨ Online streaming: Added support for dubs - ✨ Media streaming: Auto play and auto next #77 - ⚡️ 'None' option for torrent provider #85 - This option disables torrent-related UI elements and features - ⚡️ Torrent streaming: Added filler metadata - ⚡️ Ability to fetch metadata for shows that are not in the library - ⚡️ MPV: Added retry mechanism for connection errors - ⚡️ Perf: Improved speed when saving settings - ⚡️ Perf: Virtualize media lists for better performance if there are many entries - ⚡️ Transcoding: Option to toggle JASSUB offscreen rendering - ⚡️ Online streaming: Refactored media player controls - ⚡️ UI: Improved layout for media streaming & online streaming - ⚡️ UI: Added indicator for missing episodes on media cards - 🦺 Media streaming: Fixed direct play #82 - 🦺 Media streaming: Fixed font files not loading properly - 🦺 Transcoding: Set default hardware accel device to auto on Windows - 🦺 Torrent streaming: Fixed manual selection not working with batches #86 - 🦺 Online streaming: Fixed episode being changed when switching providers - 🦺 Playlists: Fixed list not updating when a playlist is started - 🦺 UI: Make global search bar clickable on mobile - 🦺 Online streaming: Fixed Zoro provider - 🦺 Fixed terminal errors from manga requests - ⬆️ Updated dependencies ## v1.6.0 - 🚀 The web interface is now bundled with the binary - Seanime now ships without the `web` directory - This should solve issues with auto updates on Windows - 🎉 Media streaming: Direct play support - Seanime will now, automatically attempt to play media files directly without transcoding if the client supports the codecs - ✨ Metadata: View filler episodes #74 - Fetch additional metadata to highlight filler episodes - ✨ Setting: Refresh library on startup - ⚡️ Scanner: Support for symbolic links - 🚀 Transcoding: JASSUB files are now embedded in the binary - No need to download JASSUB files separately unless you need to support old browsers - 🦺 Media streaming: Fixed subtitle rendering issues - This should solve issues with subtitles not showing up in the media player - 🦺 Scanner: Fixed runtime error when files aren't matched by the autoscanner - 🦺 Media streaming: Fixed JASSUB on iOS - 🦺 Fixed crash caused by concurrent logs - 🏗️ BREAKING: Media streaming: Metadata extraction done using FFprobe only - 🔨 Updated release workflow - ⬆️ Updated dependencies ## v1.5.5 - ⚡️ Manga reader fullscreen mode (hide the bar) - You can now toggle the manga reader bar by clicking the middle of the page or pressing `b` on desktop - Click the cog icon to toggle the option on mobile - ⚡️ Changed manga reader defaults based on screen size - Clicking `Reset defaults for (mode)` will now take into account the screen size - 🦺 Fixed list not updating after editing entry on 'My lists' page - 🦺 Fixed manga list not updating after deleting entry - 🦺 Fixed score and recommendations not updating when navigating between series ## v1.5.4 - ⚡️ Added episode info to Torrent Streaming view #69 - ⚡️ Custom anime lists are now shown in 'My Lists' page #70 - 🦺 Fixed active playlist info not showing up on the web UI - 🦺 Torrent streaming: Fixed manual selection not working when episode is already watched - 🦺 Torrent Streaming: Fixed transition ## v1.5.3 - ✨ Self update (Experimental) - Update Seanime to the latest version directly from the web UI - 🦺 Media streaming: Fixed issue with media player not using JASSUB #65 - 🦺 Online streaming: Fixed progress syncing #66 - 🦺 Fixed .tar.gz decompression error when downloading new releases on macOS - 🦺 Fixed some layout issues - 🏗️ Changed default subtitle renderer styles on mobile #65 - 🏗️ Use binary path as working directory variable by default - Fixes macOS startup process and other issues - 🏗️ Added `server.usebinarypath` field to config.toml - Enforces the use of binary path as working directory variable - Defaults to `true`. Set to `false` to use the system's working directory - 🏗️ Removed `-truewd` flag - 🏗️ Disabled Fiber file compression ## v1.5.2 - 🦺 Fixed transcoding not starting (regression in v1.5.1) - 🦺 Fixed Discover page header opacity issues - 🦺 Fixed runtime error caused by missing settings - 🏗️ Reduced latency when reading local files ## v1.5.1 - ⚡️ Reduced memory usage - ⚡️ Automatic Transcoding cache cleanup on server startup - 🚀 Added Docker image for Linux arm64 #63 - 🚑️ Fixed occasional runtime error caused by internal module - 💄 UI: Improved stream page layouts - 🦺 Fixed Transcode playback error when switching episodes - 🦺 Fixed MPV regression caused by custom path being ignored - 🦺 Fixed hanging request when re-enabling Torrent streaming after initialization failure - 🦺 Fixed error log coming from Torrent streaming internal package - 🦺 Fixed 'change default AniList client ID' not working - 🏗️ Moved 'change default AniList client ID' to config.toml - 🔨 Updated release workflow ## v1.5.0 This release introduces two major features: Transcoding and Torrent streaming. Thank you to everyone who has supported the project so far. - 🎉 New: Media streaming / Transcoding (Experimental) - Watch your downloaded episodes on any device with a web browser using dynamic transcoding - Support for hardware acceleration (QSV, NVENC, VAAPI) - Dynamic quality selection based on bandwidth (HLS) - 🎉 New: Torrent streaming (Experimental) - Stream torrents directly from the server to your media player - Automatic selection with no input required, click and play - Auto-selection of single episodes from batch torrents - Support for seeding in the background after streaming - ✨ Added ability to view studios' other works - Click on the studio name to view some of their other works - ✨ Added settings option to open web UI & torrent client on startup - ⚡️ Updated terminal logs - ⚡️ Improved support for AniList score options #51 - You can now use decimal scores - ⚡️ Added ability to change default AniList client ID for authentication - 💄 UI: Moved UI customization page to the settings page - 💄 UI: Improved data table component on mobile devices - 🦺 Fixed failed websocket connection due to protocol mismatch #50 - 🏗️ Playback blocked on secondary devices unless media streaming is enabled - 🏗️ Online streaming is stable - 🏗️ Refactored MPV integration ## v1.4.3 - ⚡️ Manga: Improved pagination - Pagination between chapters downloaded from different sources is now possible - ⚡️ Manga: Source selection is now unique to each series - ⚡️ Manga: Added page container width setting for reader - ⚡️ UI: Improved handling of custom colors - Added additional preset color options - Fixes #43 - ⚡️ Missing episodes are now grouped per series to avoid clutter - 🦺 Fixed slow animation when loading manga page - 🦺 Fixed some UI inconsistencies - 🏗️ Removed playback state logs ## v1.4.2 - 🎉 Customize UI colors - You can now easily customize the background and accent colors of the UI - ✨ Docker image - Seanime is now available as a Docker image. Check DOCKER.md for more information - ⚡️ Added '--truewd' flag to force to Seanime use the binary's directory as the working directory - This solves issues encountered on macOS - ⚡️ Environment variables are now read before initializing the config file - This solves issues with setting up Docker containers - 🦺 Fixed episode card size setting being ignored in anime page - 🦺 Fixed incorrect 'releasing' badge being shown in media cards when hovering ## v1.4.1 - ✨ Play random episode button - ⚡️ Scanner: Improved absolute episode number detection and normalization - 🦺 MPV: Fixed multiple instances launching when using 'Play next episode' - 🦺 Progress tracking: Fixed progress overwriting when viewing already watched episodes with 'Auto update' on - 🦺 Manga: Fixed disappearing chapter table - 🦺 Scanner: Fixed panic caused by failed episode normalization - 🦺 Offline: Disable Auto Downloader when offline - 🦺 Manga: Fixed download list not updating properly - 🦺 Offline: Fixed crash when snapshotting entries with missing metadata - 💄 Removed legacy anime page layout - 💄 Fixed some design inconsistencies - 🏗️ Scanner: Generate scan summary after manual match - 🏗️ Core: Refactored web interface codebase - New code structure - More maintainable and less bloated code - Code generation for API routes and types ## v1.4.0 - 🎉 New feature: Offline mode - Watch anime/read manga in the ‘offline view’ with metadata and images - Track your progress and manage your lists offline and sync when you’re back online - 🎉 New feature: Download Chapters (Experimental) - Download from multiple sources without hassle - Persistent download queue, interruption handling, error detection - ✨ Manga: Added more sources - Mangadex, Mangapill, Manganato - ✨ Anime: Improved NSFW support - Search engine now supports Nyaa Sukebei - Hide NSFW media from your library - ⚡️ Manga: Improved reader - Reader settings are now unique to each manga series - Automatic reloading of failed pages - Progress bar and page selection - Support for more image formats - ⚡️ Added manga to advanced search - ⚡️ Unified chapter lists with new toggles - 💄 New settings page layout - 💄 Added fade effect to media entry banner image - 🦺 Scanner: Force media ID when resolving unmatched files - 🦺 Manga: Fixed page indexing for Mangasee - 🦺 Fixed incorrect start dates - 🦺 Progress tracking: Fixed incorrect progress number being used when Episode 0 is included - 🦺 UI: Fixed issues related to scrollbar visibility - 🏗️ Core: Built-in image proxy - ⬆️ Updated Next.js & switched to Turbopack ## v1.3.0 - ✨ Discord Rich Presence - Anime & Manga activity + options to disable either one #30 - Enable this in your settings under the ‘Features’ section - ✨ Command line flags - Use `--datadir` to override the default data directory and use multiple Seanime instances - ✨ Overhauled Manga Reader - Added ‘Double Page’ layout - Page layout customization - Pagination key bindings - Fixes spacing issues #31 - Note: This introduces breaking changes in the cache system, the migration will be handled automatically. - ⚡️MAL manga progress syncing - ⚡️Enable/Disable or Blur NSFW search results - 🦺 Fixed MAL anime progress syncing using wrong IDs - 🦺 Fixed MAL token refreshing - 🦺 Fixed error toasts on authentication - 🏗️ Removed built-in ‘List Sync’ feature - Note: Use MAL-Sync instead - 🏗️ Refactored config code - 🏗️ Implemented automatic version migration system - Some breaking changes will be handled automatically ## v1.2.0 - 🎉 New feature: Manga (Experimental) - Read manga chapters and sync your progress - ✨ Added "Best releases" filter for Smart Search - Currently powered by SeaDex with limited results - ⚡️ Improved TVDB mappings for missing episode images - ⚡️ Added YouTube embeds for trailers - 🦺 Fixed TVDB metadata reloading - You can now reload TVDB metadata without having to empty the cache first - 🏗️ Improved Discover page - Reduced number of requests to AniList with caching - Faster loading times, lazy loading, more responsive actions - 🏗️ Improved file cacher (Manga/Online streaming/TVDB metadata) - Faster I/O operations by leveraging partitioned buckets - Less overhead and memory usage ## v1.1.2 - ✨ Added support for TVDB images - Fix missing episode images by fetching complementary TVDB metadata for specific media - ⚡️ Improved smart search results for AnimeTosho - ⚡️ Unresolved file manager sends fewer requests - 🚑️ Fixed runtime error caused by Auto Downloader - 🚑️ Fixed bug introduced in v1.1.1 making some pages inaccessible - 🦺 Removed ambiguous "add to collection" button - 🦺 Fixed start and completion dates not showing when modifying AniList entries on "My Lists" pages - 🦺 Fixed Auto Downloader skipping last episodes - 🦺 Fixed smart search torrent previews - 🦺 Fixed trailers - 🏗️ Refactored episode metadata code ## v1.1.1 This release introduced a major bug, skip to v1.1.2+ - ✨ Added support for TVDB images - Fix missing episode images by fetching complementary TVDB metadata for specific media - ⚡️ Improved smart search results for AnimeTosho - ⚡️ Unresolved file manager sends fewer requests - 🚑️ Fixed runtime error caused by Auto Downloader - 🦺 Fixed Auto Downloader skipping last episodes - 🦺 Fixed smart search torrent previews - 🦺 Fixed trailers - 🏗️ Refactored episode metadata code ## v1.1.0 - 🎉 New feature: Online streaming - Stream (most) anime from online sources without any additional configuration - ✨ Added “Play next episode” button in progress modal - ✨ Added trailers - ⚡️Improved torrent search for AnimeTosho - ⚡️Improved auto file section for torrent downloads - Seanime can now select the right episode files in multi-season batches, and will only fail when it can’t tell seasons apart - Feature now available for Transmission v4 - ⚡️ Custom background images are now visible on all pages - ⚡️ Added ability to un-match in unknown media resolver - 🦺 Fixed authentication #26 - 🦺 Fixed torrent name parsing edge case #24 - 🦺 Fixed ‘resume torrent’ button for qBittorrent client #23 - 🦺 Fixed files with episode number ‘0’ not appearing in Playlist creation - 🦺 Fixed panic caused by torrent search for anime with no AniDB metadata - 🦺 Fixed incorrect in-app settings documentation for assets #21 - 🦺 Fixed anime title text clipping #22 - 🦺 Fixed frontend Playlist UI issues - 🦺 Added in-app note for auto scan - 🏗️ Playlists are now stable - 🏗️ Refactored old/unstable code - 🏗️ Refactored all tests ## v1.0.0 - 🎉 Updated UI - Smoother navigation - Completely refactored components - Some layout changes - 🎉 New feature: Transmission v4 support (Experimental) - 🎉 New feature: UI Customization - Customize the main pages to your liking in the new UI settings page - Note: More customization options will be added in future releases - 🎉 New feature: Playlists (Experimental) - Create a queue of episodes and play them in order, (almost) seamlessly - 🎉 New feature: Auto scan - Automatically scan your library for new files when they are added or removed - You don't need to manually refresh entries anymore - ⚡️ Refactored progress tracking - Progress tracking is now completely server-side, making it more reliable - ⚡️ Improved MPV support - MPV will now play a new file without opening a new instance - ⚡️ Added ability to remove active torrents - 🏗️ Updated config file options - The logs directory has been moved to the config directory and is now configurable - The web directory path is now configurable (though not recommended to change it) - Usage of environment variables for paths is now supported - 🏗️ Updated terminal logs - 🏗️ Refactored torrent handlers - 🦺 "Download missing only" now works with AnimeTosho - 🦺 Fixed client-side crash caused by empty scan summary - 🦺 Various bug fixes and improvements - ⬆️ Updated dependencies ## 0.4.0 - 🎉 Added support for **AnimeTosho** - Smart search now returns more results with AnimeTosho as a provider - You can change the torrent provider for search and auto-download in the in-app settings - Not blocked as often by ISPs #16 - ✨ Added ability to silence missing episode notifications for specific media - ⚡️ Improved scanning accuracy - Fixed various issues related to title parsing, matching and metadata hydration - ⚡️ Improved runtime error recovery during scanning - Scanner will now try to skip problematic files instead of stopping the entire process - Stack traces are now logged in scan summaries when runtime errors occur at a file level, making debugging easier - ⚡️ Auto Downloader will now add queued episode magnets from the server - 💄 Minor redesign of the empty library page - 🦺 Fixed issue with static file serving #18 - 🦺 Fixed panic caused by episode normalization #17 - ⬆️ Updated dependencies - ⬆️ Migrated to Go 1.22 - 🔨 Updated release workflow ## 0.3.0 - 🏗️ **BREAKING:** Unified server and web interface - The web interface is now served from the server process instead of a separate one - The configuration file is now named `config.toml` - This update will reset your config variables (not settings) - 🏗️ Handle runtime errors gracefully - Seanime will now try to recover from runtime errors and display the stack trace - ⚡️ Support for different server host and port - Changing the server host and port will not break the web interface anymore - ✨ Added update notifications - Seanime will now check for updates on startup and notify you if a new version is available (can be disabled in settings) - You can also download the update from the Web UI - ⚡️ Added ability to download ".torrent" files #11 - ⚡️ Improved MPV support - Refactored the implementation to be less error-prone - You can now specify the MPV binary file path in the settings - 🦺 Fixed bug causing scanner to keep deleted files in the database - 🦺 Fixed UI issues related to Auto Downloader notification badge and scanner dialog - 🦺 Fixed duplicated UI items caused by AniList custom lists - 🏗️ Refactored web interface code structure - ⬆️ Updated dependencies ## 0.2.1 - ✨ Added MPV support (Experimental) #5 - 🦺 Fixed issue with local storage key value limit - 🦺 Fixed crash caused by incorrect title parsing #7 - 🦺 Fixed hanging requests caused by settings update #8 ## 0.2.0 - 🎉 New feature: Track progress on MyAnimeList - You can now link your MyAnimeList account to Seanime and automatically update your progress - 🎉 New feature: Sync anime lists between AniList and MyAnimeList (Experimental) - New interface to sync your anime lists when you link your MyAnimeList account - 🎉 New feature: Automatically download new episodes - Add rules (filters) that specify which episodes to download based on parameters such as release group, resolution, episode numbers - Seanime will automatically parse the Nyaa RSS feed and download new episodes based on your rules - ✨ Added scan summaries - You can now read detailed summaries of your latest scan results, allowing you to see how files were matched - ✨ Added ability to automatically update progress without confirmation when you finish an episode - ⚡️ Improved handling of AniList rate limits - Seanime will now pause and resume requests when rate limits are reached without throwing errors. This fixes the largest issue pertaining to scanning. - ⚡️ AniList media with incorrect mapping to AniDB will be accessible in a limited view (without metadata) instead of being hidden - ⚡️ Enhanced scanning mode is now stable and more accurate - 💄 UI improvements - 🦺 Fixed various UX issues - ⬆️ Updated dependencies ## 0.1.6 - 🦺 Fixed crash caused by custom lists on Anilist ## 0.1.5 - 🚑️ Fixed scanning error caused by non-existent database entries - ⬆️ Updated dependencies ## 0.1.4 - ⚡️ Added ability to resolve hidden media - Before this update, media absent from your Anilist collection would not appear in your library even if they were successfully scanned. - 🦺 Fixed crash caused by manually matching media - 🦺 Fixed client-side crash caused by an empty Anilist collection - 🦺 Fixed rate limit issue when adding media to Anilist collection during scanning - 🦺 Fixed some UX issues - ⬆️ Updated dependencies ## 0.1.3 - ✨ Added scanner logs - Logs will appear in the `logs` folder in the directory as the executable - ⚡️ New filename parser - ⚡️ Improved standard scanning mode accuracy - The scanner now takes into account media sequel/prequel relationships when comparing filenames to Anilist entries - 🦺 Fixed unmatched file manager - 🏗️ Refactored code and tests - ⬆️ Updated dependencies - 🔨 Updated release workflow ## 0.1.2 - 🚑️ Fixed incorrect redirection to non-existent page ## 0.1.1 - ✨ Added ability to hide audience score - ✨ Added ability to delete Anilist list entries - ✨ Added ability to delete files and remove empty folders - 🦺 Fixed issue where the app would crash when opening the torrent list page - 🦺 Fixed minor issues ## 0.1.0 - 🎉 Alpha release