Release notes row for v26.16.0: range 736649b3b..1f7b763a7, 24 merged PRs.
Headline: Jellyfin music videos play again (#924/#928). After deploy, existing rows need a deep scan of the Music Videos library (id 16).
Also included: #880 (slipped from v26.15.0), #887 (image builds), #568, #554, #830, plus the Process/CI items. No migrations, no dependency bumps.
Release-boundary checks, 2026-10-22:
decisions_validate.py: OK. build_decisions_catalog.py: no drift.
dotnet list package --vulnerable --include-transitive: two advisories published after v26.15.0, carried unchanged and tracked in #929. Neither is new exposure relative to prod.
Release notes row for **v26.16.0**: range `736649b3b..1f7b763a7`, 24 merged PRs.
Headline: Jellyfin music videos play again (#924/#928). After deploy, existing rows need a deep scan of the Music Videos library (id 16).
Also included: #880 (slipped from v26.15.0), #887 (image builds), #568, #554, #830, plus the Process/CI items. No migrations, no dependency bumps.
Release-boundary checks, 2026-10-22:
- `decisions_validate.py`: OK. `build_decisions_catalog.py`: no drift.
- `dotnet list package --vulnerable --include-transitive`: two advisories published after v26.15.0, carried unchanged and tracked in #929. Neither is new exposure relative to prod.
Docs-only (`docs/ci-cd.md`).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Range 736649b3b..1f7b763a7 (v26.15.0 was cut at 736649b3b, not at
main's head, because of #887). Headline: Jellyfin music videos play
again (#924/#928). Also carries the #880 recurrence fix that slipped
from v26.15.0, and the #887 image-build fix. No migrations and no
dependency bumps. Two advisories published after v26.15.0 are carried
unchanged and tracked in #929.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: 99d1dedb-f027-4e05-baab-2111f3a7d951
release.tag-protection-v-star deferred its positive verification to the
next real cut. The v26.16.0 tag push as `timothy` succeeded on
2026-10-27, and GET tag_protections the same day showed rule id 1
unchanged since 2026-09-04, so the push ran with the rule in force. The
record and both ci-cd.md caveats now say so. That a renovate push is
refused remains unverified.
Decisions-Edit: yes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: 99d1dedb-f027-4e05-baab-2111f3a7d951
The tag build picked up MCR's 10.0.14 aspnet/sdk images (published
2026-10-26), measured inside :26.16.0. ZAP and semgrep results are
recorded as triaged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: 99d1dedb-f027-4e05-baab-2111f3a7d951
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Release notes row for v26.16.0: range
736649b3b..1f7b763a7, 24 merged PRs.Headline: Jellyfin music videos play again (#924/#928). After deploy, existing rows need a deep scan of the Music Videos library (id 16).
Also included: #880 (slipped from v26.15.0), #887 (image builds), #568, #554, #830, plus the Process/CI items. No migrations, no dependency bumps.
Release-boundary checks, 2026-10-22:
decisions_validate.py: OK.build_decisions_catalog.py: no drift.dotnet list package --vulnerable --include-transitive: two advisories published after v26.15.0, carried unchanged and tracked in #929. Neither is new exposure relative to prod.Docs-only (
docs/ci-cd.md).🤖 Generated with Claude Code