Skip to content

v3.4.0

Choose a tag to compare

@clementdelestre clementdelestre released this 27 Aug 20:11
7e88fcd

3.4.0 (2026-08-27)

⚠ BREAKING CHANGES

  • plugin-ui: one list, one dispatcher, one resolver for media menus
  • profiles: a fresh install starts with no quality profile, so auto-grab reports unprofiled until an admin creates one. Existing rows are left untouched - no migration deletes them.

Features

  • media-detail: identify a media from its actions menu (dd35ae6)
  • media-menu: group the actions into submenus, with Like and Download (ad05331)
  • media-menu: open the tracking and identify dialogs in place (216d756)
  • media: re-point a media at another work (c9bf9d6)
  • plugin-ui: add a surface predicate to when (ae60f51)
  • profiles: stop seeding a default quality and language profile (3115375)
  • requests: act on a pending request from the title preview (8c9dc82)
  • subtitles: report why a provider connection test failed (5995e7e)

Bug Fixes

  • auto-grab: accept any language when no language profile is set (f0ee821)
  • db: clear the entity drift and enforce the CI check (#1070) (f034abe), closes #1057
  • focus-ring: keep the ring visible in three more scrollers (41486f0)
  • focus-ring: keep the ring visible inside scroll containers (bdd00a9)
  • media-menu: keep the page-owned dialogs off a card, refresh in place (704edef)
  • media-menu: side flyout, card routing and the two live toggles (3eb4229)
  • provider-list: center the editor modal header (ac6419c)
  • requests: hide the import button while a request is pending, and unify the labels (1ca873e)
  • scheduler: walk the subtitle passes in batches instead of all at once (236c84d)
  • subtitles: stop the missing-subtitles list from hanging the server (f3c75f5)

Performance Improvements

  • notifications: dispatch download.complete before the episode lookup (#1071) (dffdc64), closes #893

Miscellaneous Chores

Code Refactoring

  • plugin-ui: one list, one dispatcher, one resolver for media menus (c0ea0e2)