Skip to content
Merged
Show file tree
Hide file tree
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
46 changes: 38 additions & 8 deletions CHANGELOG.en.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,55 @@
# Changelog

[简体中文](CHANGELOG.md)

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.2] - 2026-08-30

### Added

- Plex for Apple TV can now identify HDR and Dolby Vision information for STRM
media. The gateway fills missing MediaInfo while preserving Plex-owned media
fields and playback decisions.
- STRM video, audio, and subtitle details are detected and cached automatically.
Playback prioritizes the current item, while an optional Plex management token
enables nearby-episode prewarming.
- Added a disabled-by-default experimental Apple TV Dolby Vision Profile 5
playback veto.
- Added a live MediaInfo cache-reset command that backs up the Gateway database
before clearing the cache without stopping the container.

### Changed

- Long-season browsing is faster. The gateway combines duplicate media-detail
requests, protects Plex Server, and returns Plex results before filling a cold
MediaInfo cache in the background.
- MediaInfo, request protection, and sanitized tracing are enabled by default.
The official image includes ffprobe, stores data under `/app_data`, and loads
runtime configuration from `app.env`.
- Infuse, Plex iOS, and Plex for Apple TV Direct Play are verified. This release
does not write to the Plex database, and local media remains transparent.

### Fixed

- Fixed repeated waits and unnecessary Plex requests when remote probing is
canceled or combined metadata requests fail.

## [0.1.1] - 2026-08-28

### Added

- Configurable concurrency protection for individual and batch Plex metadata
requests to limit native-client metadata fan-out against Plex Media Server.
- Metadata Guard metrics for admitted, queued, active, and timed-out requests.
- Added Plex metadata request protection and metrics so opening many items at
once does not overwhelm Plex Media Server.

### Fixed

- Apple TV Plex client Direct Play decisions and playback negotiation for STRM
media while preserving Plex authorization of client credentials and Parts.
- Fixed Apple TV Plex playback sessions failing to start for some STRM items.
The gateway enters 302 playback only after Plex confirms the current user,
media selection, and Direct Play decision. Other requests remain transparent.

## [0.1.0] - 2026-08-27

Expand All @@ -41,6 +70,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
gateway redirects playback.
- Logs and metrics exclude Plex tokens and complete signed media URLs.

[Unreleased]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.1...HEAD
[Unreleased]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.2...HEAD
[0.1.2]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/InfinityPacer/plex-gateway/releases/tag/v0.1.0
38 changes: 30 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,47 @@
# 更新日志

[English](CHANGELOG.en.md)

本文件记录项目的所有重要变更。

格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
项目版本遵循 [语义化版本](https://semver.org/lang/zh-CN/spec/v2.0.0.html)。

## [未发布]

## [0.1.2] - 2026-08-30

### 新增

- 支持 Plex for Apple TV 正确识别 STRM 的 HDR 和 Dolby Vision 信息。Gateway 会补齐
Plex 缺失的 MediaInfo,同时保留 Plex 自己已有的媒体信息和播放决策。
- 自动探测并缓存 STRM 的视频、音频和字幕信息。开始播放时优先处理当前影片,配置 Plex
管理 Token 后还会预热相邻剧集,减少连续观看时的等待。
- 增加默认关闭的实验性 Apple TV Dolby Vision Profile 5 播放拒绝开关。
- 增加 MediaInfo 缓存热清理命令,清理前自动备份 Gateway 数据库,无需停止容器。

### 变更

- 优化长剧集页面加载。Gateway 会合并重复的媒体详情请求并保护 Plex Server,首次访问
没有缓存时先返回 Plex 原始结果,再在后台补齐 MediaInfo。
- MediaInfo、请求保护和脱敏追踪默认开启。官方镜像内置 ffprobe,使用 `/app_data`
保存数据,并通过 `app.env` 管理运行配置。
- 已验证 Infuse、Plex iOS 和 Plex for Apple TV 的 Direct Play。本版本不写 Plex 数据库,
本地媒体继续透明转发。

### 修复

- 修复远程探测、请求取消或请求合并失败时可能造成的重复等待和额外 Plex 请求。

## [0.1.1] - 2026-08-28

### 新增

- 为单项和批量 Plex metadata 请求提供可配置的并发保护,限制原生客户端
metadata 扇出对 Plex Server 的压力。
- 提供 Metadata Guard 的准入、排队、活动和超时指标。
- 增加 Plex 媒体详情请求并发保护和监控指标,避免原生客户端一次打开大量媒体时压垮
Plex Server。

### 修复

- 支持 Apple TV Plex 客户端对 STRM 媒体的 Direct Play 决策和播放协商,
同时保留 Plex 对客户端凭据和媒体 Part 的授权。
- 修复 Apple TV Plex 客户端无法为部分 STRM 创建播放会话的问题。Gateway 只在 Plex
已确认当前用户、媒体和 Direct Play 决策后才进入 302 播放,其他请求继续透明转发。

## [0.1.0] - 2026-08-27

Expand All @@ -38,6 +59,7 @@
- Gateway 返回云端播放重定向前,由 Plex 使用当前客户端凭据授权对应 Part。
- 日志和指标不包含 Plex Token 或完整的签名媒体 URL。

[未发布]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.1...HEAD
[未发布]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.2...HEAD
[0.1.2]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/InfinityPacer/plex-gateway/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/InfinityPacer/plex-gateway/releases/tag/v0.1.0
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ RUN apk add --no-cache ca-certificates ffmpeg \
&& adduser -D -H -u 1000 -G gateway -s /sbin/nologin gateway \
&& install -d -o gateway -g gateway /app_data
COPY --from=build /plex-gateway /usr/local/bin/plex-gateway
COPY --chmod=755 scripts/reset-mediainfo-cache.sh /usr/local/bin/plex-gateway-reset-mediainfo-cache
WORKDIR /app_data
USER gateway
EXPOSE 32400
Expand Down
Loading