First tagged release since v0.7.1 (2026-05-17) — 74 commits.
This is also the fleet pilot for a proposed release-cadence standard, and
the first release in this fleet to publish version-pinned container images.
Breaking changes
Minor rather than patch: under 0.x SemVer, breaking changes bump the minor.
plex_delete_playlist,plex_split_item,plex_merge_itemsnow require
a confirmation title. Passconfirm_title(orconfirm_into_titlefor
merges) matching the target's current title. Existing callers must add the
field or the call is refused (fleet standard MCP-P06).docker-compose.ymlnow requiresHOST_IMAGE_DIRandHOST_LOG_DIR.
The relative fallback is gone — it resolved inside the per-commit Portainer
clone directory, Docker refused the bind mount, and the container silently
stuck increated.docker compose confignow fails fast instead.
Added
- Opt-in HTTPS on the HTTP transport (
src/tls.ts) — self-managed ECDSA
P-256 cert (MCP_TLS=auto) or bring-your-own cert pair. - Opt-in OAuth 2.1 protected-resource auth on
/mcp(src/auth.ts) —
bearer-JWT validation via JWKS, RFC 9728 discovery route. Off by default;
needs a real IdP to be practically usable. - Artwork and diagnostics tooling:
plex_get_image,plex_save_image,
plex_list_posters,plex_set_poster,plex_upload_poster,
plex_download_logs. - Collections support:
plex_list_collections,plex_hub_search, and a
collectionfilter onplex_browse. plex_rate_item;plex_on_deckaccepts an optionalsection_id.- MCP tool annotation hints on every tool; subtitle-track discovery in
minimalmode; MIT LICENSE.
Fixed
- Transport failures now surface their real cause instead of Node's bare
TypeError: fetch failed(fleet standard MCP-F08). - A session the server no longer knows answers HTTP 404, not 400.
Images
ghcr.io/carldog/plex-mcp:0.8.0
ghcr.io/carldog/plex-mcp:0.8
Full detail in CHANGELOG.md.