Skip to content

Commit 39cfd4e

Browse files
chore: Add blog post for Themerr release v2026.1008.3030 (#487)
1 parent 0deb3ac commit 39cfd4e

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
layout: release
3+
title: Themerr v2026.1008.3030 Released
4+
release-tag: v2026.1008.3030
5+
gh-repo: LizardByte/Themerr
6+
gh-badge: [follow, fork, star]
7+
tags: [release, themerr]
8+
thumbnail-img: https://app.lizardbyte.dev/dashboard/github/openGraphImages/Themerr_624x312.png
9+
comments: true
10+
authors:
11+
- github: LizardByte-bot
12+
---
13+
14+
## ‼️ Attention: Themerr now supports Plex and Jellyfin!
15+
16+
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))
17+
18+
## ⚠️ Breaking changes and migration notes
19+
20+
- **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.
21+
- **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.
22+
- **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**.
23+
- **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.
24+
- **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.
25+
26+
## ✨ Highlights
27+
28+
- **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))
29+
- **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))
30+
- **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))
31+
- **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))
32+
- **Accurate ThemerrDB deployment status.** The deployment indicator now reads the timestamp from ThemerrDB's published metadata. ([#615](https://github.com/LizardByte/Themerr/pull/615))
33+
- **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))
34+
35+
For a comprehensive list of changes, see below.
36+
37+
## What's Changed
38+
* feat: support Jellyfin and rename repo to Themerr by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#600](https://github.com/LizardByte/Themerr/pull/600)
39+
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#601](https://github.com/LizardByte/Themerr/pull/601)
40+
* 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)
41+
* chore(l10n): update translations by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#604](https://github.com/LizardByte/Themerr/pull/604)
42+
* chore: add sonar property files by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#605](https://github.com/LizardByte/Themerr/pull/605)
43+
* fix(jellyfin): prevent connector replacement restart loops by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#606](https://github.com/LizardByte/Themerr/pull/606)
44+
* ci: reuse preinstalled OpenSSL on Windows ARM64 by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#610](https://github.com/LizardByte/Themerr/pull/610)
45+
* fix: securely store YouTube cookies by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#612](https://github.com/LizardByte/Themerr/pull/612)
46+
* feat(jellyfin): support compatibility series and runtime validation by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#613](https://github.com/LizardByte/Themerr/pull/613)
47+
* chore(l10n): new babel updates by [@LizardByte-bot](https://github.com/LizardByte-bot) in [#614](https://github.com/LizardByte/Themerr/pull/614)
48+
* fix: read ThemerrDB deployment timestamp from published metadata by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#615](https://github.com/LizardByte/Themerr/pull/615)
49+
* fix(l10n): keep JavaScript extraction consistent across platforms by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#617](https://github.com/LizardByte/Themerr/pull/617)
50+
* 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)
51+
* 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)
52+
* chore(l10n): update translations by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#607](https://github.com/LizardByte/Themerr/pull/607)
53+
* chore(deps): update official github actions by [@renovate[bot]](https://github.com/apps/renovate) in [#620](https://github.com/LizardByte/Themerr/pull/620)
54+
* 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)
55+
* 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)
56+
* build(docker): package Themerr in an Alpine runtime image by [@ReenigneArcher](https://github.com/ReenigneArcher) in [#625](https://github.com/LizardByte/Themerr/pull/625)
57+
* chore(deps): lock file maintenance by [@renovate[bot]](https://github.com/apps/renovate) in [#622](https://github.com/LizardByte/Themerr/pull/622)
58+
59+
60+
**Full Changelog**: https://github.com/LizardByte/Themerr/compare/v2026.1004.152244...v2026.1008.3030
61+
62+
---
63+
## Contributors
64+
<a href="https://github.com/ReenigneArcher" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, ReenigneArcher" ><img src="https://github.com/ReenigneArcher.png?size=40" width="40" height="40" alt="ReenigneArcher" title="ReenigneArcher: 12 merges" ></a><a href="https://github.com/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="https://github.com/LizardByte-bot" target="_blank" rel="external noopener noreferrer" aria-label="GitHub profile of contributor, LizardByte-bot" ><img src="https://github.com/LizardByte-bot.png?size=40" width="40" height="40" alt="LizardByte-bot" title="LizardByte-bot: 1 merge" ></a>
65+
66+
67+
---
68+
📦 **Assets:**
69+
70+
| ⬇️ Download | #️⃣ Download Count | 🛡️ VirusTotal |
71+
|-------------|-------------------|---------------|
72+
| [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==) |
73+
| [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==) |
74+
| [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==) |
75+
| [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==) |
76+
| [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==) |
77+
| [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==) |

0 commit comments

Comments
 (0)