This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+4 more
Affected surfaces
Summary
AI summaryFix Twitch auth token refresh which was causing 403 errors.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Automated scripts can use API keys managed at Admin > API Keys. Automated scripts can use API keys managed at Admin > API Keys. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Allow sub directories (slashes) in directory templates. Allow sub directories (slashes) in directory templates. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Show skeleton placeholder while card images load. Show skeleton placeholder while card images load. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Admin-managed API keys with per-resource scopes. Admin-managed API keys with per-resource scopes. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Refresh continue watching and card progress without reload. Refresh continue watching and card progress without reload. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump github.com/shirou/gopsutil/v4 from 4.26.3 to 4.26.4. Bump github.com/shirou/gopsutil/v4 from 4.26.3 to 4.26.4. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.2. Bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.2. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump axios from 1.15.0 to 1.15.2 in /frontend. Bump axios from 1.15.0 to 1.15.2 in /frontend. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump icu-minify from 4.9.1 to 4.11.0 in /frontend. Bump icu-minify from 4.9.1 to 4.11.0 in /frontend. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump next-intl from 4.9.1 to 4.9.2 in /frontend. Bump next-intl from 4.9.1 to 4.9.2 in /frontend. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump next from 16.2.3 to 16.2.6 in /frontend. Bump next from 16.2.3 to 16.2.6 in /frontend. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump golang.org/x/crypto from 0.50.0 to 0.51.0. Bump golang.org/x/crypto from 0.50.0 to 0.51.0. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump github.com/riverqueue/river from 0.35.1 to 0.37.0. Bump github.com/riverqueue/river from 0.35.1 to 0.37.0. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.35.1 to 0.37.0. Bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.35.1 to 0.37.0. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump node from 24-alpine to 26-alpine. Bump node from 24-alpine to 26-alpine. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump python from 3.12-bookworm to 3.14-bookworm. Bump python from 3.12-bookworm to 3.14-bookworm. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump golang from 1.25-bookworm to 1.26-bookworm. Bump golang from 1.25-bookworm to 1.26-bookworm. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Bump github.com/riverqueue/river/rivertype from 0.37.0 to 0.37.1. Bump github.com/riverqueue/river/rivertype from 0.37.0 to 0.37.1. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Upgrade mantine to v9 in frontend deps. Upgrade mantine to v9 in frontend deps. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fix chat messages not populating right away when jumping time in a video. Fix chat messages not populating right away when jumping time in a video. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fix Twitch auth token refresh issues causing 403 errors. Fix Twitch auth token refresh issues causing 403 errors. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Preserve nested directory structure in folder template. Preserve nested directory structure in folder template. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Low |
Keep player and chat mounted across mobile/desktop switch. Keep player and chat mounted across mobile/desktop switch. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Bugfix | Low |
Forward shared user args to chatupdate and chatdownload. Forward shared user args to chatupdate and chatdownload. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
Full changelog
[!IMPORTANT]
If you are running the:devcontainer image now is the best time to switch back to:latestor the semver version.
Change Highlights
- API Keys
- Automated scripts can use API keys. Manage API keys at Admin > API Keys
- API docs are not 100% accurate. Use the browser tools to inspect network traffic to find API routes.
- Allow sub directories (slashes) in directory templates
- Fix chat messages not populating right away when jumping time in a video
- Fix Twitch auth token not updating correctly which was causing 403 errors to Twitch
What's Changed
- fix(video): keep player and chat mounted across mobile/desktop switch by @fllppi in https://github.com/Zibbp/ganymede/pull/1167
- build(deps): bump github.com/shirou/gopsutil/v4 from 4.26.3 to 4.26.4 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1168
- build(deps): bump github.com/labstack/echo/v4 from 4.15.1 to 4.15.2 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1169
- fix(frontend): refresh continue watching and card progress without reload by @fllppi in https://github.com/Zibbp/ganymede/pull/1166
- feat(frontend): show skeleton placeholder while card images load by @fllppi in https://github.com/Zibbp/ganymede/pull/1170
- build(deps): bump axios from 1.15.0 to 1.15.2 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1171
- fix(archive): preserve nested directory structure in folder template by @fllppi in https://github.com/Zibbp/ganymede/pull/1164
- build(deps): bump icu-minify from 4.9.1 to 4.11.0 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1173
- build(deps): bump next-intl from 4.9.1 to 4.9.2 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1174
- feat(api): admin-managed API keys with per-resource scopes by @fllppi in https://github.com/Zibbp/ganymede/pull/1165
- fix(chat): forward shared user args to chatupdate and chatdownload by @fllppi in https://github.com/Zibbp/ganymede/pull/1175
- fix twitch auth token refresh by @Zibbp in https://github.com/Zibbp/ganymede/pull/1176
- build(deps): bump next from 16.2.3 to 16.2.6 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1184
- build(deps): bump golang.org/x/crypto from 0.50.0 to 0.51.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1182
- build(deps): bump github.com/riverqueue/river from 0.35.1 to 0.37.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1181
- build(deps): bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.35.1 to 0.37.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1179
- build(deps): bump node from 24-alpine to 26-alpine by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1183
- build(deps): bump python from 3.12-bookworm to 3.14-bookworm by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/916
- build(deps): bump golang from 1.25-bookworm to 1.26-bookworm by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1067
- build(deps): bump github.com/riverqueue/river/rivertype from 0.37.0 to 0.37.1 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1178
- update frontend deps + upgrade mantine to v9 by @Zibbp in https://github.com/Zibbp/ganymede/pull/1185
- fix chat messages not populating correctly during time skips by @Zibbp in https://github.com/Zibbp/ganymede/pull/1186
Full Changelog: https://github.com/Zibbp/ganymede/compare/v4.16.0...v4.17.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ganymede
Twitch VOD and Live Stream archiving platform. Includes a rendered and real-time chat for each archive.
Related context
Beta — feedback welcome: [email protected]