Skip to content

What is new in 1.3 ​

Version 1.3.0

The server, the web app and the SDK are all at 1.3.0. Some features need SDK 1.3.0 in your own app or plugin.

Version 1.3 focuses on three things: more control over playback, a cleaner watchlist and Continue Watching, and safer updates with better tools for administrators.

For viewers ​

  • Watchlist cleans itself. Turn on the switch in Settings → Playback. A movie leaves your watchlist when you finish it. A series leaves when you finish every episode.
  • Hide from Continue Watching. The hide button keeps your resume point. The title comes back the next time you play it.
  • Fallback subtitle languages. List your languages in order, for example English, then German. If the first one has no subtitles, the next is used.
  • Rewind on resume. Go back 5 to 30 seconds when you continue a title.
  • Sleep timer. The moon button in the player pauses after 15, 30, 45 or 60 minutes, or at the end of the episode.
  • Quality per profile. Set a maximum stream bitrate (no limit, 1.5, 4 or 8 Mb/s). Choose whether HDR passes through or always converts to SDR.
  • Faster playback. The speed goes up to 3×.
  • Change your password in Settings. Your other devices are signed out.
  • Retry failed downloads. A retry queues the same file and quality again.

For administrators ​

  • Scan findings page. Files the scanner could not match have their own page. Ignore a file, restore it later, or search the metadata providers for candidates.
  • Scan progress. Library cards show a live percentage while a scan runs.
  • Safer updates. You can cancel an update that is still downloading. A server update or rollback waits while streams play, unless you force it. A database backup is taken before each server update, and the disk space is checked first.
  • Better logs and audit. Filter logs by module, hide lines by text or time range, and download all logs as one zip. Search the audit log and export it as CSV or JSON Lines.
  • Settings export and import. Copy your server settings to another server. A file with one invalid value is refused as a whole.
  • Database page. Download backups, run an integrity check, see the migration status, and restore a backup. A restore first saves the current database.
  • Offline recovery. Reset a password or turn off two-factor authentication from the command line when nobody can sign in.
  • Plugin upgrades roll back. If a new plugin version does not start, the previous version comes back with its settings.

For plugin users ​

  • Interface switches. On each plugin's settings page, hide any page, dialog, tab, button or search result the plugin adds. The plugin keeps running.
  • Version pinning and update badges. Pin a plugin to keep its version. Plugins with a newer catalog version show an Update available badge.
  • Checked archives. A plugin archive is validated before it installs. A broken one is listed with the reasons.

For plugin authors and SDK users ​

  • Notify every administrator. host.notifications.createForAdmins() sends one notification to each administrator.
  • Code blocks in plugin UI. A new code node in ui.json shows preformatted text. Import the helper from @reelvault/sdk/ui/schema.
  • Stable slot entry IDs. A slot entry can declare an id, so interface switches keep pointing at it when other entries change.
  • Error codes. Failed plugins report an errorCode. Translate the code, not the message.
  • New SDK methods, for example:
ts
await api.me.bulkUpdateWatchlist({ add: ["md-123", "md-456"], remove: [] });
await api.libraries.getScanFindings(libraryId, "active");
await api.admin.getUpdateHistory({ page: 1, limit: 20 });
await api.profiles.getPinStatus(profileId); // { hasPin: boolean }
  • Minimum server version. A plugin that uses the new host APIs should set minServerVersion: "1.3.0" in its manifest.

Full list ​

Every change is listed in the changelog of each repository:

Next steps ​

Released under the GNU GPL v3.