Skip to content

Releases: opensubtitles/OpenSubtitles-Uploader-PRO

v1.8.26

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:22

Version 1.8.26 - AppImage header fix and AppStream metadata

v1.8.25

Choose a tag to compare

@github-actions github-actions released this 28 Sep 05:40

Version 1.8.25 - Fix Linux AppImage startup for other users

v1.8.24

Choose a tag to compare

@github-actions github-actions released this 20 Sep 16:30

New release with improvements and bug fixes. See commit history for detailed changes.

v1.8.23

Choose a tag to compare

@github-actions github-actions released this 20 Sep 16:11

Version 1.8.23 - Tauri 2.11 upgrade

Upgrades the desktop runtime from Tauri 2.7.0 to 2.11.6 and every Tauri
plugin to its latest compatible 2.x release. No application behaviour
changes; main.rs and the React sources are untouched.

Runtime:
tauri 2.7.0 -> 2.11.6
tauri-build 2.3.1 -> 2.6.3
wry 0.52.1 -> 0.55.1
tao 0.34 -> 0.35.3

Plugins (Rust / npm):
dialog 2.3.2 -> 2.7.3 / 2.3.0 -> 2.7.3
fs 2.4.1 -> 2.5.2 / 2.4.0 -> 2.5.2
http 2.5.1 -> 2.6.1 / 2.5.0 -> 2.6.1
process 2.3.0 -> 2.3.1 / 2.3.0 -> 2.3.1
shell 2.3.0 -> 2.3.6 / 2.3.0 -> 2.3.6
updater 2.9.0 -> 2.12.0 / 2.9.0 -> 2.12.0
api / 2.6.0 -> 2.11.1
cli / 2.6.2 -> 2.11.5

Security: Tauri 2.11.1 enforces ACL checks for IPC requests from remote
origins even when no AppManifest is configured. Previously custom commands
bypassed ACL entirely, letting any origin invoke them. It also corrects
.localhost suffix handling in local-origin detection on Windows and Android,
which classified remote hosts such as app.evil.com as local.

Verified building on ubuntu-22.04, macos-14 and windows-2022 with
cargo build --release --locked, which also proves the committed lockfile is
complete on every target. Locally on macOS: zero compiler warnings, .app /
.dmg / .app.tar.gz bundles produced, app launches and renders its window,
225/225 tests pass, ESLint and TypeScript error counts unchanged from the
pre-upgrade baseline.

v1.8.22

Choose a tag to compare

@github-actions github-actions released this 08 Sep 04:30

Version 1.8.22 - Session keep-alive and auth robustness

Keep the OpenSubtitles session alive while the app is open, and stop
transient network failures from logging users out.

The app stores a server-issued PHPSESSID as its session token. The server
expires it six hours after the last request (Set-Cookie Max-Age=21600),
and nothing was refreshing it.

Session keep-alive:

  • Add XmlRpcService.noOperation() and an hourly keep-alive ping
  • Ping is best-effort: it never mutates authentication state, because
    NoOperation answers 200 OK even for tokens the server never issued
  • Guard against timer stacking, stale in-flight state, and hung sockets
  • Revalidate with a fresh GetUserInfo on wake/refocus after an idle gap,
    bypassing the one-hour user-info cache

Authentication fixes:

  • checkAuthStatus no longer discards stored credentials when the server
    is simply unreachable; only an actual rejection logs the user out
  • Return the verdict instead of stashing it on the service singleton,
    which two concurrent StrictMode inits could clobber
  • Retry an unverified session when connectivity returns
  • Await restoreAuthFromStorage; a promise is always truthy

Latent bugs found by fixing the ESLint parser:

  • updateService: downloadPath/totalBytes were block-scoped to the try but
    read in the catch, so the signature-validation download fallback threw
    ReferenceError instead of running
  • DebugPanel: same pattern left the older-browser clipboard fallback dead

Security:

  • Stop logging partial session ids and tokens in SessionManager,
    sessionUtils, DebugPanel and TryUploadSubtitles
  • DebugPanel no longer copies a token prefix into the clipboard blob
  • Escape the token in every XML-RPC request body

Housekeeping:

  • ESLint ecmaVersion 2021 -> 2022; static class fields broke the parser,
    leaving eight service files silently unlinted
  • Store the session under the key detectSession actually reads, and purge
    the orphaned write-only opensubtitles_session_id
  • Collapse two XML escapers into one, and make it null-safe
  • Sync Cargo.lock, stale since 1.8.18

v1.8.21

Choose a tag to compare

@github-actions github-actions released this 30 Jul 23:56

Version 1.8.21 - Fix Upload button staying disabled after Clear All

v1.8.20

Choose a tag to compare

@github-actions github-actions released this 26 Jul 23:40

Version 1.8.20 - Rank validation, large subtitle uploads, episode labels

  • Gold members holding any group rank are no longer denied uploading
  • Subtitles around 380 KB and up no longer fail with a stack overflow
  • Episodes attached by IMDb ID label as Episode instead of Movie

v1.8.19 - Extracted MKV Subtitles Fix

Choose a tag to compare

@opensubtitles opensubtitles released this 16 Jul 13:44

🐛 Bug Fix: Extracted MKV Subtitles Classification

Fixed extracted MKV subtitles being incorrectly classified as orphaned subtitles, which prevented them from displaying episode numbers.

What was broken

  • When subtitles were extracted from MKV files, they were sometimes treated as orphaned instead of paired with the source video
  • Orphaned subtitles display differently in UI (without episode info from the paired video)
  • This was a race condition in subtitle pairing detection

What's fixed

  • Extracted subtitles now explicitly check pairedWithMkv flag to prevent orphan classification
  • Subtitles extracted from MKV are now correctly recognized as paired, not orphaned
  • Episode information now displays correctly for extracted subtitles

Files changed

  • SubtitleUploader.jsx: Added pairedWithMkv flag check in orphaned subtitle filter

v1.8.18

Choose a tag to compare

@github-actions github-actions released this 16 Jul 00:23

🐛 Bug Fix: Episode Display

Fixed episode numbers not displaying in video details when using the Features API data source.

What was broken

  • Episodes (Season/Episode numbers) were only visible when using XML-RPC data
  • When REST API (Features) data loaded, episode information disappeared from UI
  • Backend was correctly detecting episodes, but UI wasn't showing them

What's fixed

  • Added season/episode display to Features API rendering path
  • Episodes now consistently appear for all data sources
  • VideoFile component now merges episode data from GuessIt with Features API data

Files changed

  • VideoFile.jsx: Added season/episode fields to Features API details section

v1.8.17

Choose a tag to compare

@github-actions github-actions released this 14 Jul 14:43

Version 1.8.17 - Episode series title fallback fix