Repository navigation
What changed in this release
This update improves watch history and alternate episode orders, strengthens sync reliability, and reduces the Docker image size.
Plekt.net · Discord · Reddit · GitHub
Bug Fixes
Sync & provider recovery
- Alternate-order episode watches no longer become unwatched when Plex, Emby or Jellyfin background checks inspect a different episode.
- Plex Web watched and unwatched changes are picked up more reliably, including bursts of manual watches.
- Import Watched Status verifies every episode before saving and keeps episodes distinct when media servers use different orders.
- Manual Watch Review matches episode names to stored numbering and labels verified alternate-order watches with aired episode numbers.
Tweaks
Up Next & watch-state
- Up Next shows the selected episode order, and watch actions preserve verified episode identity when mappings change.
- The dashboard Up Next cog controls media-app queue syncing, and its options popup fits smaller screens.
Manual Watch review
- Manual Watch Review shows aired and selected-order candidates for uncertain older watches. An administrator confirms repairs after a local backup is verified.
Sync & connection recovery
- Force Sync no longer removes a Trakt play without adding it back.
- Sync handles incomplete provider reads more safely and needs stronger evidence before changing duplicate watches or unwatches.
- Watch history searches include records beyond the newest 25,000, and show progress refreshes after history restores and data wipes.
- Cached artwork and metadata remain available during temporary outages, with retries for failed downloads.
- Release dates, next-airing dates and playlist rules use the server's local calendar day.
- Full backup restores explain how destination connections are preserved and when services need reconnecting.
- The Docker image is about half the size.
- The notice on the retiring Plembfin image no longer obscures the sidebar logo or phone heading.
- Security improvements strengthen session handling and connection tests.
- Confirmations are safer to cancel, and Plekt remains usable when browser storage is blocked or full.
- Transient search failures are retried instead of being retained for the session.
- Episode thumbnails load after choosing a DVD or other TVDB order. Older unplaced watches stay out of episode cards and counts, with a notice; their records remain unchanged.
- Clearing a resume position on Plex, Emby or Jellyfin clears it on the other servers, even when Plex misses the notification.
- Plex missed-notification checks reconcile a watched-then-unwatched item and dismiss any superseded review.
Start safely
- Read the fresh-install and provider setup notes.
- Create a backup before the first write-back.
- Start with a small library or a limited provider scope.
- Inspect Sync Activity after the first run and retry only the rows that need it.
Known limitations
- Provider APIs and rate limits can still make delivery delayed.
- Cross-provider matching can remain ambiguous for unusual titles, alternate cuts, or inconsistent episode metadata.
- The canonical database is local to the deployment and must be included in your backup plan.
Get the build
- Docker:
ghcr.io/lasikiewicz/plekt:latestfor the stable tag, orghcr.io/lasikiewicz/plekt:2.3.0for this exact release. - Windows: the installer and
SHA256SUMS.txtare attached to this GitHub Release.
Feedback
When reporting a bug, include the provider, version, media type, and the relevant Sync Activity reason. Please do not include credentials or private server URLs.
Project
Plekt is licensed under AGPL-3.0. Repository · Documentation
Development and release work were heavily AI-assisted under my direction. I reviewed the generated changes, tested the integrations and browser flows, and maintain the project. AI is not required at runtime.
Build commit: 370dd49