Skip to content

Releases: ppxb/miyabi

Release v0.2.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 11:59

0.2.1 - 2026-10-08

🚀 Features

  • Add automatic magnet failover and per-task cancellation - (880b281)

🐛 Bug Fixes

  • (auth) Bound login records and reserve concurrent attempts - (97c7166)
  • (drive) Coalesce account checks and clear rejected credentials - (582fdcf)
  • (library) Isolate local file identities and index movie ordering - (e8495b7)
  • (monitor) Drain due subscriptions and notify waiting updates - (e3225c3)
  • (pan) Avoid API throttling for metadata downloads - (deb7bf8)
  • (scrape) Bound directory cache and reclaim expired entries - (fb3edd5)
  • (tasks) Coalesce refreshes and preserve newer cached state - (197bac4)
  • (web) Prevent directory listing and cache hashed assets - (646ba3c)
  • Prevent stale task responses from overwriting toast status - (e63430f)
  • Redact sensitive URLs from API logs - (f5ba90f)
  • Decouple cache cleanup from statistics refresh - (c9d8406)
  • Normalize settings operation error messages - (5d86aa8)
  • Preserve word boundaries in settings descriptions - (4d0703c)
  • Show loading state when retrying category filters - (83028d9)
  • Align movie detail skeletons with content layout - (746dc90)
  • Clarify subscription states and action labels - (7fae7fd)
  • Require resolved configuration for media exports - (1bd7104)
  • Remove delayed settings focus and stabilize auth listener - (04f8a9d)
  • Bound GFriends index downloads and cache reads - (24b29ad)

📖 Documentation

  • Refresh audit findings for v0.2.0 - (44b2822)

⚡ Performance

  • (javdb) Replace route polling with deadline-based scheduling - (37e856c)
  • (settings) Reuse fresh queries on remount - (17d3199)
  • (strm) Cache signed stream URLs and coalesce concurrent lookups - (8a10dea)
  • (subtitle) Bound language detection to 15000 runes - (f7c006e)
  • (tasks) Prefer SSE snapshots during manual reconnect - (0779117)

🚜 Refactor

  • (api) Consolidate request error logging - (3aad74c)
  • (drive) Consolidate source-bound session reads - (65948ab)
  • (javbus) Share request and response handling - (da49e5e)
  • Simplify automatic magnet switching settings - (9c92149)
  • Remove mounted directory path display - (9fde810)

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 06:45

0.2.0 - 2026-10-02

🚀 Features

  • (image) Generate face-aware posters and refresh cached exports - (e2234df)
  • (library) Add full rebuild with fresh metadata and artwork - (fb93b21)
  • (metadata) Add HEYZO official source and public previews - (1889814)
  • Add library card actions for rescraping and code correction - (d5aa379)
  • Reuse scrape tasks, update exports incrementally, and add pause controls - (ba2aea5)
  • Add durable scrape retries and separate library worker pools - (cefda7e)
  • Prioritize FANZA scraping with JavDB fallback - (7c4b846)
  • Add AVBase-first multi-source scraping pipeline - (597488c)

📝 Other Changes

  • Improve artwork selection and add saved library details - (05764cc)

🐛 Bug Fixes

  • (database) Preserve legacy viewed history order during migration - (a45a9a5)
  • (emby) Avoid full library scans after incremental updates - (32be16c)
  • (emby) Repair invalid actor avatars and prevent raw CDN image downloads - (90b0a10)
  • (netx) Notify only when the effective proxy changes - (91bd7ee)
  • (scan) Publish notifications after commit and clean audit leftovers - (a9f2632)
  • (scraping) Simplify errors and preserve rebuild failure status - (71a9dd6)
  • (ui) Remove toast close button tooltip - (2b9e9d8)
  • (ui) Remove library action tooltips - (7ad829d)
  • (web) Stabilize subscription cards and detail dialog context - (55d19cb)
  • Simplify code correction dialog and restore scan icon - (02b5b08)
  • Clarify library sync actions and status labels - (ba10354)
  • Use FC2 original artwork and restore purple library badge - (c5d3286)
  • Prioritize JavDB metadata and preserve previews across rescans - (30b751a)
  • Keep batch scraping progress stable across movie stages - (224af02)
  • Resolve date-based movie codes and keep JavDB fallback always enabled - (689bdd5)
  • Resolve library movie dialogs by catalogue number - (9699bf2)
  • Persist and retry Emby media notifications - (5f7a851)

📖 Documentation

  • Clarify scraping responsibilities and performance requirements - (d66c7be)
  • Define multi-source scraping architecture - (129c06d)
  • Prune verified audit items 112-125 - (9cbbbcc)
  • Prune verified audit items and refresh remaining checklist - (a305cd6)

⚡ Performance

  • (database) Index cover task parent lookups - (055b27f)
  • (scan) Move reconciliation exports outside write transactions - (b79934a)
  • (scan) Batch local imports and shorten write transactions - (1769c06)
  • (scan) Index equivalent movie codes for batch matching - (769098a)
  • (scrape) Narrow artwork lock to checkpoint publication - (88c5f95)
  • (tasks) Separate worker wakeups from UI notifications - (ce993de)
  • (tasks) Separate worker wakeups from UI notifications - (832d2dc)
  • (tasks) Index workflow lookups and share task snapshots - (b32163e)
  • Batch preview gestures and serve dedicated thumbnails - (f84c30e)

🚜 Refactor

  • (api) Remove redundant auth and rate limiter nil checks - (d44f616)
  • (api) Remove unused offline history, local scan and logout endpoints - (61b3419)
  • (catalogue) Simplify guards and share cached magnet lookups - (7a8d35c)
  • (catalogue) Separate movie metadata from local state queries - (7304591)
  • (catalogue) Simplify JavDB client configuration - (633157d)
  • (codeid) Unify prefix fallbacks and preserve catalogue identity - (a995217)
  • (config) Centralize normalization and log level parsing - (aaa44b2)
  • (domain) Remove unused tags and unify scan payload references - (fb14341)
  • (drive) Reuse credential snapshots for source validation - (bbed192)
  • (drive) Unify token refresh and retry flow - (dba73ef)
  • (drive) Remove unused session APIs and narrow helper visibility - (e18acf5)
  • (gfriends) Narrow internal APIs and log cache write failures - (a8ee991)
  • (javbus) Simplify context checks and redundant parsing branches - (c580284)
  • (javdb) Use typed route data and preserve bootstrap fallback - (64482d4)
  • (javdb) Remove redundant magnet fallback and sorting - (438f339)
  • (library) Unify source scopes and local account identifiers - (fc5b374)
  • (library) Unify source scopes and local account identifiers - (7959e96)
  • (library) Remove unused APIs and simplify internal state - (cbf2cc3)
  • (magnet) Remove redundant normalization and repeated inference - (f24361b)
  • (maintenance) Consolidate database size cancellation checks - (b1e6bc8)
  • (monitor) Remove unused subscription zone and error status - (b17fdce)
  • (netx) Simplify safe download checks and timeout handling - (3614ff7)
  • (offline) Remove redundant projection hash validation - (c13b03f)
  • (offline) Simplify polling guards and subscription pagination - (ad723de)
  • (pan) Remove redundant fallbacks and simplify login status handling - ([5eabfa9](https://git...
Read more

Release v0.1.3

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:57

0.1.3 - 2026-09-29

🚀 Features

  • (codeid,javdb) Implement multi-tier candidate resolution for catalogue scraping - (00c813f)
  • (javbus) Enable adaptive reachability probing and remove manual switch - (72f9fb3)
  • (subscriptions) Decouple subscription targets cache and add paginatio - (51818c0)

📝 Other Changes

🐛 Bug Fixes

  • (api) Abort library local scan handler when JSON binding fails - (991138a)
  • (catalogue) Ignore route persistence errors in cached JavDB queries - (edd3470)
  • (codeid) Add FC2- provider search query variant for FC2-PPV candidates - (3b58fb7)
  • (domain) Mask unexpected and internal error details in public message - (7074f5c)
  • (drive) Bind account cache to credential version - (d9b133f)
  • (emby) Remove unused receiver from translatePath and fix escape check - (9c38b30)
  • (emby) Use atomic single-flight and negative cache for actor avatars - (3a36df5)
  • (emby) Resolve absolute media paths and trigger library refresh on update - (f79e501)
  • (export) Sanitize EmbyMovieDir with nfo.FileStem to prevent illegal paths - (6d65005)
  • (javbus) Strip unsupported pb unit from magnet size regex - (54211f6)
  • (magnet) Distinguish skipped sources and bypass cache on partial failures - (349e1ac)
  • (monitor) Return normalized config upon subscription settings update - (431a334)
  • (monitor) Mark actor cursor initialized to avoid dropping debut works - (fd06c32)
  • (monitor) Eliminate recursive calls on subscription constraint error - (9916221)
  • (monitor) Resume subscription batch from processed count on restart - (5691485)
  • (netx) Explicitly set transport.Proxy to nil in newTransport - (b034764)
  • (netx) Permit local proxy connections in safe transport dialer - (1778d57)
  • (netx,app) Make proxy updates atomic and synchronize database persistence - (b7a2b91)
  • (pan) Restrict retry policy for non-idempotent requests and remove unused upload logic - (de87784)
  • (scan) Normalize local NFO code with fallback and handle ignored errors - (0150471)
  • (scan) Clean up local Emby movie directory and notify Emby on movie deletion - (28dd654)
  • (scrape) Sort multi-part videos naturally and consolidate Emby export - (f26863a)
  • (strm) Only fallback to play URL when direct download is unavailable - (9fdc7bb)
  • (strm) Unify user-agent across download, play, and probe requests - (1171f30)
  • (strm) Regenerate STRM files on rewrite to support token rotation - (985577f)
  • (strm) Support empty user-agent downstream relay and override media content-type - (3e499ad)
  • (strm) Bind 115 raw download url to player user-agent and default public_url - (851a6c1)
  • (subtitle) Delete orphan pending subtitle records during export - (a1feba6)
  • (tasks) Handle JavDB rate limits and retry failed workflow items - (574d600)
  • (tasks) Retry Claim and Finish on transient database errors - (7722fd3)
  • (web) Prevent duplicate beacon POST and clear pending in browse history - (8ab436c)
  • (web) Rename clear cache button to clarify only unused cache is removed - (a885c55)
  • (web) Track pan login qr auto-refresh by session id - (6d55da1)
  • (web) Handle 401 unauthorized on SSE terminal closure - (5f2f14c)
  • (web) Use placeholderData for movie state cache and prevent premature ingestion - (b3ccfaa)
  • (web) Only clear auth token and dispatch unauthorized event on UNAUTHORIZED error code - (abcce48)
  • Prevent Emby settings flicker with optimistic updates - (531bfa6)
  • Separate throttle waits from I/O timeouts and reload uncached recommendations - (fd8e915)
  • Centralize 115 retry-after backoff and recheck deadlines - (5111f35)
  • Preserve scan callbacks and reject invalid GFriends indexes - (49f0228)
  • Avoid blocking GFriends lookups and retry failed index refreshes - (f7d15e2)
  • Rewrite STRM on directory changes and retry incomplete magnet lookups - (c533e85)
  • Centralize API error handling and account state refresh - (d965493)
  • Persist discovery and subscription browsing state in URL - (7a1fd29)
  • Unify error classification and return 429 for login rate limits - (6d27657)
  • Unify web JWT authentication through HttpOnly cookies - (40b03ca)
  • Automatically queue scans for the configured Emby directory - (38e3d10)
  • Resolve audit regressions in exports, scans, playback, and subscriptions - (5e45f6a)
  • fix(scan): persist scanID across checkpoints to prevent resume deletion - (6dd6aa5)

📖 Documentation

  • (audit) Mark lockfile synchronization checklist item as resolved - (197a67c)
  • Prune resolved audit items and refresh remaining recommendations - (ef65c7f)
  • Add full-stack code audit checklist - (d814237)
  • Add categorized frontend and backend code audit - (dbe781b)

⚡ Performance

  • Avoid refreshing browse history after every view - ([1...
Read more

Release v0.1.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:45

0.1.2 - 2026-09-24

🚀 Features

  • (auth) Protect backend API with modern JWT authentication - (16f5354)
  • (emby) Add automatic GFriends actress avatar synchronization - (fd05c3e)

📝 Other Changes

🐛 Bug Fixes

  • (security) Disable trusted proxies by default and enforce idle timeout - (ad2873a)

⚙️ Miscellaneous Tasks

  • Bump version to 0.1.2 - (9ed0e08)

Release v0.1.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:00

0.1.1 - 2026-09-24

🚀 Features

  • (emby) Add Emby integration with debounced batch notifications and unified settings UI - (0331b3a)
  • (library) Export local NFO and artwork for already-scraped movies during scan reconciliation - (31bb8c2)
  • (playback) Add STRM 302 relay endpoints and Emby configuration - (0fb5d13)
  • Add local STRM library export, 302 relay, local scan, and 115 scan pacing - (e8d9eae)

📝 Other Changes

🐛 Bug Fixes

  • (javdb) Limit response body size to prevent OOM - (9ab423d)
  • (library) Export poster and NFO before STRM to ensure Emby realtime sync - (32d3ae7)

📖 Documentation

  • Update README with Docker compose template and Emby environment variables - (31c51ef)
  • Add technical specification for local STRM library export and Emby integration - (9fa1eb5)
  • Revise refactor plan with frontend review and UI principles - (f79765b)

🚜 Refactor

  • (api) Standardize subtitle VTT error handling and query binding - (5ab1a46)
  • (logging) Unify slog usage, standardize key names, and hook ent sql logging - (bb739d4)
  • (settings) Unify action buttons and toast feedback for network and emby - (936c289)
  • Deduplicate shared logic, fix subtitle default invariant, and unify query defaults - (9269bc3)

⚙️ Miscellaneous Tasks

  • Modify section description - (4fefafd)

Release v0.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 06:24

0.1.0 - 2026-09-23

🚀 Features

  • (javdb) Enhance ResolveMovieID with format equivalence and padding tolerance - (1515e1f)
  • (magnet) Implement JavBus source and multi-provider aggregation - (217e28b)
  • (settings) Require active proxy for JavBus and enable optimistic toggle - (61fbcba)
  • (subscription) Refactor monitor into subscription system with preference picker - (e0de46b)
  • (subscription,settings) Decouple JavBus config, revamp subscription UI, and fix review issues - (7e74c61)
  • (subtitle) Implement automated subtitle engine and player integration - (ad55cd1)

📝 Other Changes

🐛 Bug Fixes

  • (pagination) Hide the bar on a single page and label the ellipsis - (09e1b6f)
  • (pan,scrape) Enforce retry rate limits, bounded subtitle queue, and directory caching - (b85114a)
  • (player) Eliminate subtitle jitter and jumping by using transform-based avoidanc - (e35a3df)
  • (subtitle) Resolve M9 review findings and harden subtitle pipelin - (47b7d4c)
  • (web) Control proxy toggle locally and defer backend sync until save - (0ab6e86)
  • (web) Render magnet URI as non-clickable content-fitting text - (5fd2e51)

📖 Documentation

  • (plan) Refine M6 magnet aggregation strategy, skipping rationale, and badge presentation - (f454bd7)

🚜 Refactor

  • (api,config,pan,javdb) Complete milestone M5 and backend cleanup - (fe6cc25)
  • (app) Complete M4 with app composition root and remove internal/service - (9b4d21f)
  • (arch) Untangle domain dependencies, eliminate aliases, and enforce package isolation - (f522535)
  • (catalogue) Extract internal/catalogue package and decouple local state - (118c8a7)
  • (codeid,drive) Add IsEquivalent tolerance matching and unify DirectoryPath - (498bc3c)
  • (config) Strip unused runtime env vars and fix transcode error regression - (c1d75eb)
  • (drive) Close out B3 with rollback-safe mounts and restored concurrency tests - (9ba78b9)
  • (library) Extract library and library/scan with single-NFO tolerance matching - (b105941)
  • (offline) Extract internal/offline package, merge periodic runner, and fix viewed upsert collision - (3408cfc)
  • (playback,maintenance,monitor) Extract packages, migrate subscription schema, and remove worker - (ccf1750)
  • (scrape) Extract library/scrape package and decouple from library service - (a128ff6)
  • (subscription) Align batch actions with history page and streamline settings - (f06275e)
  • refactor(player): unify subtitle button with shadcn Button, standardize candidate styling and add scroll-fade - (4ccb385)
  • Optimize large 115 library scan resilience and complete M8 frontend cleanups - (8da0c34)

🎨 Styling

  • (player) Remove border and ring from subtitle settings dropdown - (f1a5be4)

🧪 Testing

  • test(app): add e2e pipeline test for 115 file deletion reconciliation - (c7bd284)

⚙️ Miscellaneous Tasks

  • (release) Bump version to 0.1.0 - (4be28bc)

Release v0.0.5

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:00

0.0.5 - 2026-09-21

🚀 Features

  • (browse) Unify badge styling and add batched viewed movie history tracking - (23c58cc)
  • (library) Add compact page jump to pagination and remove total movie count - (562f49d)
  • (library) Add bidirectional tolerance matching for ID and NFO validation - (5e93516)
  • (movie-detail) Add full-screen preview viewer with wheel zoom - (bccf062)

📝 Other Changes

  • Update AGENTS.md - (50920ac)
  • Update AGENTS.md - (ee73527)
  • Update README with AI deployment tip

Added a tip about using AI for project deployment. - (afea9ce)

  • Update README.md - (c2834dd)
  • Add GNU GPL v3 license

Added the GNU General Public License version 3 to the project. - (5da1362)

🐛 Bug Fixes

  • (docker) Remove USER directive to avoid volume mount permission issues - (650af73)

📖 Documentation

  • (plan) Add Workstream E for subtitle scraping and playback integration - (b1c2014)
  • (refactor) Update plan to adopt atomic domain migration without aliases - (09c18a0)

🚜 Refactor

  • (domain) Extract domain models and unify domain error handling - (7b077b3)
  • (drive) Extract internal/drive package with session access gate - (326f63e)
  • (history) Isolate viewed movies tracking and rewrite merge logic - (d3d74da)
  • (network) Implement dynamic proxy management with settings UI - (676d68a)
  • (netx) Centralize client creation and streamline proxy handling - (8454e5a)
  • (pagination) Narrow page window to 3 slots and restore shadcn link semantics - (1b64d52)
  • (pagination) Standardize ListPagination using shadcn ui components - (58622d6)
  • (proxy,domain) Refine error model, channel safety, and upstream handling - (ddcf80c)
  • (tasks) Decouple queue from domain rules and clean up task wrappers - (fa9bab9)
  • (tasks) Extract internal/tasks package and decouple task engine via handler registry - (2613122)
  • Delete audit markdown - (badcfa5)

🧪 Testing

  • test: add end-to-end pipeline, golden response and middleware coverage - (bb8da6b)

⚙️ Miscellaneous Tasks

  • Bump web version to 0.0.5 - (cc0bd53)
  • Remove test workflow - (32f2b0a)
  • Add javbus test data - (4c2c427)
  • Change LICENSE to GPLv3 - (8911135)

Release v0.0.4

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:31

0.0.4 - 2026-09-18

🚀 Features

  • (monitor) Watch upcoming movies and auto-add magnets to 115 - (5122080)

🐛 Bug Fixes

  • (javdb) Tolerate duplicate movie IDs during resolution - (573b895)
  • (pan) Keep a scan across poll timeouts and bound 115 login retries - (098fe0e)
  • (pan) Keep a 115 login alive across uninformative polls - (ebdb19f)
  • (pan) Treat a status-less 115 login poll as still waiting - (84e7998)
  • (player) Decouple playback startup from watch recording - (93e2940)

⚙️ Miscellaneous Tasks

  • Bump web version to 0.0.4 - (85228f7)
  • Bump deps - (ed9d1e9)
  • Upgrade checkout to v5 for Node.js 24 support - (884bd55)

Release v0.0.3

Choose a tag to compare

@github-actions github-actions released this 12 Sep 12:56

0.0.3 - 2026-09-12

🚀 Features

  • (discover) Add common filter select to category browsing - (c9e1321)
  • (library) Add local hover details and 20-item pagination - (f126574)
  • (settings) Add data usage stats and unused image cache cleanup - (fa999af)

🐛 Bug Fixes

  • (discover) Remove background refresh indicator - (abac80e)
  • (discover) Prevent flicker when switching filters - (6cb34d3)
  • (image) Register WebP decoder and add artwork regression tests - (838cd9a)
  • (player) Allow closing mobile player by tapping backdrop - (e490398)
  • (player) Avoid blocking playback on library refresh - (ba8c24d)
  • Video cover download cache - (1c60f09)

⚙️ Miscellaneous Tasks

  • Bump web version to 0.0.3 - (3a02be9)

Release v0.0.2

Choose a tag to compare

@github-actions github-actions released this 11 Sep 07:50

0.0.2 - 2026-09-11

🚀 Features

  • Add 3x playback on long press and unify player tooltips - (b8618eb)
  • Add watch history and playback resume with unified card styling - (0068d93)
  • Refine library badges and watch tracking with backend optimizations - (9328375)

📝 Other Changes

🐛 Bug Fixes

  • (player) Restore player focus after timeline clicks and drags - (feb694e)
  • (player) Align keyboard volume feedback with speed indicator - (0c45e8b)
  • Tolerate invalid optional JavDB metadata - (9d7ba47)
  • Correct 115 download progress sync and task state recovery - (2f612e1)
  • Correct media identification and auto-scan mounted directories - (893f038)
  • Synchronize library status across movie views - (c8ad2ce)
  • Prevent 115 background requests from blocking playback - (a1fbc52)
  • Preserve pagination skeletons and simplify Docker deployment - (e93a74d)

⚡ Performance

  • Optimize recommendation loading and detail request scheduling - (717f304)
  • Optimize library scans and database queries - (b0f9652)

🚜 Refactor

  • Unify UI styles, remove custom ARIA, and streamline frontend tooling - (f19b11a)
  • Simplify configuration and remove dev:all - (1f15bdb)

⚙️ Miscellaneous Tasks

  • Bump web version to 0.0.2 - (c265b0f)
  • Change description text - (e025fc3)