chore(release): v0.14.0
🏗️ Build and Test JellyTau / Run Tests (push) Skipped
🏗️ Build and Test JellyTau / Android Compile Check (push) Skipped
🏗️ Build and Test JellyTau / Supply Chain (push) Successful in 7m22s
📱 Test APK / Build test APK (push) Successful in 23m39s
Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 3m36s
Traceability Validation / Check Requirement Traces (push) Successful in 10s
Build & Release / Run Tests (push) Successful in 10m16s
Build & Release / Build Linux (push) Successful in 14m14s
Build & Release / Build Windows (push) Successful in 11m32s
Build & Release / Build Android (push) Successful in 20m33s
Build & Release / Create Release (push) Successful in 44s
🏗️ Build and Test JellyTau / Run Tests (push) Skipped
🏗️ Build and Test JellyTau / Android Compile Check (push) Skipped
🏗️ Build and Test JellyTau / Supply Chain (push) Successful in 7m22s
📱 Test APK / Build test APK (push) Successful in 23m39s
Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 3m36s
Traceability Validation / Check Requirement Traces (push) Successful in 10s
Build & Release / Run Tests (push) Successful in 10m16s
Build & Release / Build Linux (push) Successful in 14m14s
Build & Release / Build Windows (push) Successful in 11m32s
Build & Release / Build Android (push) Successful in 20m33s
Build & Release / Create Release (push) Successful in 44s
mpv plays all video on Linux and Windows, and the built-in web video player is gone from every platform. Windows plays audio through mpv. mpv commands can no longer be injected through a title, and mpv now verifies TLS; the page loses its network access. Subtitles and audio tracks work in desktop video.
This commit is contained in:
@@ -9,6 +9,53 @@ generated trace matrix lives in [docs/traceability.md](docs/traceability.md).
|
|||||||
For how long each fixed defect had been shipping before it was found, see
|
For how long each fixed defect had been shipping before it was found, see
|
||||||
[docs/defect-windows.md](docs/defect-windows.md).
|
[docs/defect-windows.md](docs/defect-windows.md).
|
||||||
|
|
||||||
|
## v0.14.0
|
||||||
|
|
||||||
|
Video on the desktop is played by mpv, on Linux and now on Windows, and the
|
||||||
|
built-in web player is gone from every platform. Windows gets real audio
|
||||||
|
playback too.
|
||||||
|
|
||||||
|
### 🔒 Security
|
||||||
|
|
||||||
|
- **A track title can no longer run a command on Linux.** mpv was handed stream
|
||||||
|
URLs and downloaded-file paths as a single command string, in which `;` starts
|
||||||
|
a new command — so a file whose title tag carried one could run a program
|
||||||
|
when it played. Every mpv command now passes its arguments separately.
|
||||||
|
(DR-298)
|
||||||
|
- **mpv checks the server's certificate.** It did not by default, and the
|
||||||
|
addresses it opens carry your login token, so anyone able to intercept the
|
||||||
|
connection could read it. It also no longer hands a failed address to
|
||||||
|
youtube-dl. (DR-299)
|
||||||
|
- **The app's web page can no longer reach the network.** It needed that only
|
||||||
|
for the web video player; everything now goes through the backend, so the
|
||||||
|
permission was just a way out for anything injected into the page.
|
||||||
|
|
||||||
|
### ✨ Features
|
||||||
|
|
||||||
|
- **mpv plays all video on Linux and Windows.** On Windows it draws into the app
|
||||||
|
window under the controls; on Linux it no longer needs the experimental
|
||||||
|
switch. Video still arrives transcoded to h264 for now — asking the server for
|
||||||
|
the original file is the next step. (DR-235, DR-237)
|
||||||
|
- **Windows plays audio through mpv**, so volume, the equalizer, volume
|
||||||
|
normalization and gapless playback now work there. The installer ships
|
||||||
|
mpv's LGPL-licensed library and its licence text. (DR-237)
|
||||||
|
|
||||||
|
### 🐛 Fixes
|
||||||
|
|
||||||
|
- **Subtitles and audio-track switching work in desktop video.** mpv now loads
|
||||||
|
the subtitle list and switches subtitles and audio tracks itself; before this
|
||||||
|
they did nothing once mpv drew the picture. (DR-023, DR-024)
|
||||||
|
- **Downloaded songs with a space in their title play offline on Linux.**
|
||||||
|
(DR-298)
|
||||||
|
- **A queued download on Windows keeps the path it was saved under**, rather
|
||||||
|
than having its separators rewritten. (DR-211)
|
||||||
|
|
||||||
|
### 🧹 Removed
|
||||||
|
|
||||||
|
- **The built-in web video player and the "Native Video" setting.** There is
|
||||||
|
nothing left to switch between: every platform plays video natively.
|
||||||
|
(DR-235)
|
||||||
|
|
||||||
## v0.13.3
|
## v0.13.3
|
||||||
|
|
||||||
### 🐛 Fixes
|
### 🐛 Fixes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Code Traceability Matrix
|
# Code Traceability Matrix
|
||||||
|
|
||||||
**Generated:** 9/24/2026, 11:06:05 PM
|
**Generated:** 9/25/2026, 4:18:02 AM
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jellytau",
|
"name": "jellytau",
|
||||||
"version": "0.13.3",
|
"version": "0.14.0",
|
||||||
"description": "A cross-platform Jellyfin client built with Tauri, SvelteKit and Rust.",
|
"description": "A cross-platform Jellyfin client built with Tauri, SvelteKit and Rust.",
|
||||||
"author": "Duncan Tourolle <duncan@tourolle.paris>",
|
"author": "Duncan Tourolle <duncan@tourolle.paris>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
Generated
+1
-1
@@ -2275,7 +2275,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jellytau"
|
name = "jellytau"
|
||||||
version = "0.13.3"
|
version = "0.14.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm",
|
"aes-gcm",
|
||||||
"argon2",
|
"argon2",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ name = "jellytau"
|
|||||||
# `player-conformance`, and a second binary makes a bare `cargo run` —
|
# `player-conformance`, and a second binary makes a bare `cargo run` —
|
||||||
# which `tauri dev` issues — ambiguous.
|
# which `tauri dev` issues — ambiguous.
|
||||||
default-run = "jellytau"
|
default-run = "jellytau"
|
||||||
version = "0.13.3"
|
version = "0.14.0"
|
||||||
description = "A cross-platform Jellyfin client"
|
description = "A cross-platform Jellyfin client"
|
||||||
authors = ["Duncan Tourolle <duncan@tourolle.paris>"]
|
authors = ["Duncan Tourolle <duncan@tourolle.paris>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "JellyTau",
|
"productName": "JellyTau",
|
||||||
"version": "0.13.3",
|
"version": "0.14.0",
|
||||||
"identifier": "com.dtourolle.jellytau",
|
"identifier": "com.dtourolle.jellytau",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "bun run dev",
|
"beforeDevCommand": "bun run dev",
|
||||||
|
|||||||
Reference in New Issue
Block a user