Skip to content

Ether 0.2.49

Choose a tag to compare

@github-actions github-actions released this 30 Oct 22:36
· 38 commits to main since this release
f1c35d7

This release lets owners rank releases with rules they type, record one
device's problem as a redacted support archive, and corrects health, new
seasons, Home rows, and several playback and library gates.

New and improved

  • Release preferences: on Releases → Quality profiles, edit a profile
    and type terms to require, prefer, or avoid. A term can be a language, a
    tag, a release group, a codec, or any other text. Order is priority.
    Preview the draft against pasted filenames, or search a title to include
    the rest of the quality rules. Import and export the list. The rules are
    part of the profile, so editing them forgets the release Ether had
    remembered for that profile. The title's original language is used only
    while ranking that title. Changing it forgets a remembered release that
    was chosen with an original-language rule (#156).
  • Integrations as brand cards: the Integrations page shows each service
    as a brand card. Turning a card on walks through setup, and the service
    stays off until that setup is saved. The new copy is translated in the
    owner-console catalogues (feat/integrations-public).
  • Record a problem: from Logs, or from command search, record one device
    and download a single redacted support ZIP (ether.support.v1). An
    unknown device is not selected for you. A capture that only saw polls
    says no playback request was observed. Titles, usernames, and addresses
    are separate opt-ins, and the finish preview names the identity that
    will be in the archive. Review the ZIP before sharing (#151).
  • New seasons of returning shows: a returning series, including its
    season list, is refreshed within an hour instead of waiting out the
    24-hour catalogue refresh. Reported on Reddit for Dexter: Resurrection
    season 2 (#148).

Playback and library

  • Unlabelled WEB releases and a 4K floor: a WEB-DL or WEBRip with no
    resolution in the name counts as SD (480) against the profile minimum.
    That stops an SD WEB release winning when the 4K copy cannot play for
    the client. Reported on Reddit for Coyote vs. Acme. Unlabelled HDTV
    and DVD rips stay exempt. An explicit version pick or a pin still
    bypasses the floor (#149).
  • Home rows: empty Continue Watching, in-progress, and
    viewer-restricted hubs are left out, so Plex for Android no longer
    receives blank rows at the top of Ether's Home. Personalised order stays
    put for one viewer, library surface, and device class until browsing is
    idle for five minutes or the day changes. A repeated hub is listed once.
    Personalised ranking itself is unchanged. A phone build and a Shield
    sitting have not been checked yet (#155, #150).
  • Android audio and subtitle choices: Plex for Android, Android TV and
    Fire TV decisions list every real audio and subtitle track, so the
    in-player menu can switch between them. On a first open Ether uses the
    file probe the detail page already started, rather than a one-audio
    estimate. If that probe has not finished yet, that one open still shows
    the estimate. Embedded text subtitles picked during playback are now
    served from the session. Other clients keep the exact Plex Media Server
    decision shape. Contributed by @alfablac, verified on a Galaxy S24
    (#160, #145).
  • Plezy gets 4K: Plezy on Linux, Windows and macOS receives the same
    2160p, HEVC and HDR10 capabilities as other desktop players instead of the
    generic 1080p H.264 profile. Plezy on Apple devices and Android TV keeps
    its platform's capabilities; Android phones stay at 1080p, like the
    official Plex app. Contributed by @ggiannotti (#161, part of #86).
  • Director disclaimers: a movie release named like
    Title 2026 NOT The <Director> FILM is rejected when that director is
    the catalogue director of the title being resolved. The complete name is
    required. Episodes are unchanged (#154).
  • VAAPI when GPU scaling is unavailable: if scale_vaapi fails a
    one-frame probe, VAAPI sessions decode and scale in software and upload
    frames to the hardware encoder, instead of failing the hardware path and
    transcoding every ladder rung on the CPU. This has automated coverage
    only. No live GPU result is claimed, and the #13 reporter has been asked
    for vainfo output (#153, #13).
  • Content ratings: a content-rating rule set to "is none of" also hides
    titles with no rating, so a missing certification cannot slip past an
    allowlist. Unknown country, genre, year, and language still do not match
    an exclusion. A known local rating still wins over an incomplete remote
    summary (e7fb04e2).
  • Health behind a reverse proxy: an installed, unexpired certificate
    that Ether has not trust-checked stays "Not verified", and that row no
    longer holds the whole server at "Status incomplete." A configured
    direct route and a published custom route are labeled separately.
    Neither label means Ether has proved the server is reachable from
    outside. Missing validity dates, real expiry, renewal, sign-in, and
    publishing failures still count (#146, #144).
  • Large Live TV guides: playlist and XMLTV uploads go to the server
    as the raw file, gzip included, and are streamed. Ether keeps only the
    guide channels the playlist uses, from one day back to 14 days ahead, so
    a full provider EPG no longer hits "exceeds the import size limit." The
    limits are now 2 GB decompressed for a guide and 64 MB for a playlist,
    and URL refreshes use the same filter (#158).
  • Subtitles download only when you pick one: Ether no longer downloads
    OpenSubtitles files in the background (detail pages, playback warm-up,
    preferred languages, or timing alignment), which could use up a free
    account's daily quota and make every later selection fail. Search and
    already-downloaded subtitles still work. A download happens only when a
    viewer chooses a subtitle.
  • Plex import preview: a large preview used to run inside one request
    and show nothing until the scan finished, so the screen stayed on
    "Working…" until the browser or a proxy dropped it (#152). The preview
    now returns immediately and scans in the background. The import screen
    shows how many titles have been scanned, a cancel button, and the
    failure text in an alert. Mapping runs eight titles at a time. Progress
    and failures are logged as component=migrate, without the Plex token
    (#157).

After upgrading

  • Reload an already-open owner console to use Release preferences, the
    Integrations cards, and Record a problem.
  • If a library uses a content-rating "is none of" rule, unrated titles in
    that library are now hidden. Confirm that is what you want.
  • #144 can be checked on the reverse-proxy server that reported a permanent
    "Status incomplete." The certificate row remains "Not verified."

Please retest

These reports are not claimed fixed. After upgrading, please say whether
they still happen:

  • @aZuiZui, #86: 2160p releases missing from the ranking list.
  • @darkjezza, #94: an error when changing quality.
  • @darkjezza, #21: playback still unavailable with the cache turned off.
  • @c-anth, #42: the tray and Plex still using the previous port after Ether
    is moved off 32400.
  • @FizzWhirl, #152: a large Plex import preview that sits on "Working…"
    and then stops. The new job was checked offline, not against that
    library.

Known limits

No live GPU confirmation for the VAAPI scale probe. The shape of
unselected Android tracks follows library metadata; it has not been
compared with a real Plex Media Server capture from the Android app. Prism, Jellyfin client
support, and watch-state sync are not in this release. The Integrations
cards are the owner console only.

Full changes: v0.2.48 → v0.2.49.