Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions _posts/releases/themerr/2026-10-08-v2026.1008.3030.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
layout: release
title: Themerr v2026.1008.3030 Released
release-tag: v2026.1008.3030
gh-repo: LizardByte/Themerr
gh-badge: [follow, fork, star]
tags: [release, themerr]
thumbnail-img: https://app.lizardbyte.dev/dashboard/github/openGraphImages/Themerr_624x312.png
comments: true
authors:
- github: LizardByte-bot
---

## ‼️ Attention: Themerr now supports Plex and Jellyfin!

Themerr-plex has been renamed to **Themerr**! Manage Plex and Jellyfin servers from the same standalone application, with shared library browsing, theme playback, and processing history. This release also provides a migration path from the older Themerr-jellyfin plugin. ([#600](https://github.com/LizardByte/Themerr/pull/600))

## ⚠️ Breaking changes and migration notes

- **Update launchers and Docker references.** Release archives now use the Themerr name. Launch `themerr`, or `themerr.app` on macOS, and update Docker deployments to `lizardbyte/themerr`. Preserve your existing configuration directory or `/config` volume to retain saved settings, server connections, and history.
- **Keep your existing credential encryption key.** Docker and headless installations use `THEMERR_TOKEN_KEY_FILE`. The previous `THEMERR_PLEX_TOKEN_KEY_FILE` name remains supported; use the same key file when changing the variable name. This key also protects saved YouTube cookies.
- **Review Jellyfin migration settings before connecting.** Connect through **Servers > Jellyfin** using a Jellyfin API key. By default, Themerr recognizes unchanged themes from the older Themerr-jellyfin plugin and removes that plugin and its repository after connecting. These preferences are available under **Settings > Jellyfin**.
- **Make Themerr reachable from Jellyfin.** Save a Themerr address on the connected server card so Jellyfin can install its connector. With Themerr's default self-signed certificate, use the connector repository on HTTP port `9495` and publish that port in Docker. Use an address reachable from the Jellyfin server; `localhost` inside another container refers to that container.
- **Older Plex plugin installations still require migration.** If upgrading from `v2024.813.13709` or earlier, follow the [standalone application migration notes](https://github.com/LizardByte/Themerr/releases/tag/v2026.1004.152244) before starting this release.

## ✨ Highlights

- **Jellyfin integration.** Add themes to movies, series, and collections on Jellyfin 10.11.x and stable Jellyfin 12.x starting at 12.1, including 12.2. Existing user themes are protected by default, with optional replacement and backups. ([#600](https://github.com/LizardByte/Themerr/pull/600), [#613](https://github.com/LizardByte/Themerr/pull/613))
- **Automatic Jellyfin connector management.** Themerr installs and updates the matching connector, waits for playback to finish before automatic restarts, and fixes connector replacement restart loops. ([#600](https://github.com/LizardByte/Themerr/pull/600), [#606](https://github.com/LizardByte/Themerr/pull/606))
- **Remote Plex cleanup over SSH.** Remove older uploaded themes, posters, and artwork through SFTP when Plex runs on another machine. Configure password or private-key authentication with server fingerprint verification directly from the updated server cards. ([#619](https://github.com/LizardByte/Themerr/pull/619))
- **Safer YouTube cookie storage.** Saved cookies are encrypted and masked in Settings, with explicit controls to reveal, replace, or clear them. Existing saved cookies are encrypted automatically when upgrading. ([#612](https://github.com/LizardByte/Themerr/pull/612))
- **Accurate ThemerrDB deployment status.** The deployment indicator now reads the timestamp from ThemerrDB's published metadata. ([#615](https://github.com/LizardByte/Themerr/pull/615))
- **Updated Docker packaging.** Docker images now use an Alpine runtime with the packaged Themerr application and bundled Jellyfin connectors. ([#625](https://github.com/LizardByte/Themerr/pull/625))

For a comprehensive list of changes, see below.

## What's Changed
* feat: support Jellyfin and rename repo to Themerr by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#600](https://github.com/LizardByte/Themerr/pull/600)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#601](https://github.com/LizardByte/Themerr/pull/601)
* chore(deps): update dependency lucide to v1.52.0 by [@renovate[bot]](https://github.com/apps/renovate) in [#603](https://github.com/LizardByte/Themerr/pull/603)
* chore(l10n): update translations by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#604](https://github.com/LizardByte/Themerr/pull/604)
* chore: add sonar property files by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#605](https://github.com/LizardByte/Themerr/pull/605)
* fix(jellyfin): prevent connector replacement restart loops by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#606](https://github.com/LizardByte/Themerr/pull/606)
* ci: reuse preinstalled OpenSSL on Windows ARM64 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#610](https://github.com/LizardByte/Themerr/pull/610)
* fix: securely store YouTube cookies by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#612](https://github.com/LizardByte/Themerr/pull/612)
* feat(jellyfin): support compatibility series and runtime validation by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#613](https://github.com/LizardByte/Themerr/pull/613)
* chore(l10n): new babel updates by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#614](https://github.com/LizardByte/Themerr/pull/614)
* fix: read ThemerrDB deployment timestamp from published metadata by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#615](https://github.com/LizardByte/Themerr/pull/615)
* fix(l10n): keep JavaScript extraction consistent across platforms by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#617](https://github.com/LizardByte/Themerr/pull/617)
* feat: add secure Plex SSH cleanup and refine server cards by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#619](https://github.com/LizardByte/Themerr/pull/619)
* chore(deps): update mcr.microsoft.com/dotnet/sdk docker tag to v11 by [@renovate[bot]](https://github.com/apps/renovate) in [#618](https://github.com/LizardByte/Themerr/pull/618)
* chore(l10n): update translations by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#607](https://github.com/LizardByte/Themerr/pull/607)
* chore(deps): update official github actions by [@renovate[bot]](https://github.com/apps/renovate) in [#620](https://github.com/LizardByte/Themerr/pull/620)
* chore(deps): update dependency sqlalchemy to v2.1.4 by [@renovate[bot]](https://github.com/apps/renovate) in [#623](https://github.com/LizardByte/Themerr/pull/623)
* chore(deps): update dependency fastapi to v0.142.4 by [@renovate[bot]](https://github.com/apps/renovate) in [#624](https://github.com/LizardByte/Themerr/pull/624)
* build(docker): package Themerr in an Alpine runtime image by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#625](https://github.com/LizardByte/Themerr/pull/625)
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#622](https://github.com/LizardByte/Themerr/pull/622)


**Full Changelog**: https://github.com/LizardByte/Themerr/compare/v2026.1004.152244...v2026.1008.3030

---
## Contributors
<a href="/ReenigneArcher" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ReenigneArcher" ><img src="/ReenigneArcher.png?size=40" width="40" height="40" alt="ReenigneArcher" title="ReenigneArcher: 12 merges" ></a><a href="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/apps/renovate" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, renovate[bot]" ><img src="https://avatars.githubusercontent.com/in/2740?size=40" width="40" height="40" alt="renovate[bot]" title="renovate[bot]: 7 merges" ></a><a href="/LizardByte-bot" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, LizardByte-bot" ><img src="/LizardByte-bot.png?size=40" width="40" height="40" alt="LizardByte-bot" title="LizardByte-bot: 1 merge" ></a>


---
📦 **Assets:**

| ⬇️ Download | #️⃣ Download Count | 🛡️ VirusTotal |
|-------------|-------------------|---------------|
| [Themerr_Linux_aarch64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_Linux_aarch64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_Linux_aarch64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:4fda3d91053d44924f644fa414ff8913c93550b9009255e99e98d57188fc5fc8?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/OGVlNDg3MzYwNjQ0MTEwOTk3Zjk0YWI3YzNlY2IxOWE6MTc5MTQyMDI4Mg==) |
| [Themerr_Linux_x86_64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_Linux_x86_64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_Linux_x86_64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:8944ab5914e6a065608497b4bf303db8ab987d1af6db74ae54d4d863fd93b72f?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/ZTIxYzYwZjUxODk5MDk5NGE0Y2RhNzIxYzVmNjQyYmM6MTc5MTQyMDI4NQ==) |
| [Themerr_Windows_AMD64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_Windows_AMD64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_Windows_AMD64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:5209f9ebbba75f3130061a19b1c523cb80162d773e472ff553adc1346ce3debe?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/NGEwOTZjOTM4ZjU3MTAyNjg1MDE3OTVjNmJjNjEwNmU6MTc5MTQyMDI4OA==) |
| [Themerr_Windows_ARM64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_Windows_ARM64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_Windows_ARM64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:5896aa205e1a86654b72ad2b85ee92138a861c878820b331b2814efde8472c27?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/MWYzNzYzN2VhMWQ0ZTY5NTY0ZDQwOGYwYTc4MTZkNGE6MTc5MTQyMDI5MQ==) |
| [Themerr_macOS_arm64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_macOS_arm64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_macOS_arm64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:c49e1909e22bce684ae1625862e7fca6a8380983649609371febf58bddf8e3f0?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/NWE5MDI5MzlkZGJkYjIwNzQyZmUxZjI3MjQ4Y2I1YWM6MTc5MTQyMDM0Mg==) |
| [Themerr_macOS_x86_64.zip](https://github.com/LizardByte/Themerr/releases/download/v2026.1008.3030/Themerr_macOS_x86_64.zip) | ![Downloads](https://img.shields.io/github/downloads/LizardByte/Themerr/v2026.1008.3030/Themerr_macOS_x86_64.zip?style=flat-square&label=&displayAssetName=false) | [![VirusTotal](https://badges.cssnr.com/vt/id/sha256:3b250ca15caa3afd048be8b33708fb8b77fb5f116e1aaecaa1d44d448976b418?style=flat-square&icon=virustotal&label=)](https://www.virustotal.com/gui/file-analysis/MzU3MTE0NGM1MDE0NzVmZjY3ZTEzY2E1NmFlZjEzNjQ6MTc5MTQyMDM0OA==) |
Loading