Skip to content

Release history

ganymede releases

Twitch VOD and Live Stream archiving platform. Includes a rendered and real-time chat for each archive.

All releases

12 shown

Upgrade now
v4.17.0 Bug fix
Auth

Twitch auth token refresh

v4.16.0 Breaking risk
Breaking changes
  • Discontinue use of the `:dev` container image; migrate to `:latest` or a specific semver version.
Notable features
  • Conditional profile image replacement during periodic channel sync
  • Absolute clock time display in video player UI
  • Configurable chat timestamps via user profile settings
Full changelog

[!IMPORTANT]
If you are running the :dev container image now is the best time to switch back to :latest or the semver version.

Change Highlights

  • feat(channel): conditionally replace profile image during periodic sync by @fllppi in https://github.com/Zibbp/ganymede/pull/1154
    • Update channel image during periodic sync
  • feat(frontend): add absolute clock time display to video player by @fllppi in https://github.com/Zibbp/ganymede/pull/1155
  • feat: chat timestamps by @Zibbp in https://github.com/Zibbp/ganymede/pull/1156
    • New setting, configurable on your profile page, to show chat timestamps.
  • feat(frontend): add autoplay video setting to profile by @fllppi in https://github.com/Zibbp/ganymede/pull/1161
    • New setting, configurable on your profile page, to auto play videos when loading a video page.

What's Changed

  • build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1146
  • build(deps): bump golang.org/x/sys from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1145
  • build(deps): bump github.com/testcontainers/testcontainers-go from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1143
  • build(deps): bump golang.org/x/crypto from 0.49.0 to 0.50.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1142
  • build(deps): bump github.com/coreos/go-oidc/v3 from 3.17.0 to 3.18.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1144
  • build(deps): bump github.com/testcontainers/testcontainers-go/modules/postgres from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1141
  • build(deps): bump github.com/jackc/pgx/v5 from 5.9.1 to 5.9.2 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1149
  • build(deps): bump github.com/riverqueue/river from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1151
  • build(deps): bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1150
  • feat: live archive ffmpeg timeouts by @Zibbp in https://github.com/Zibbp/ganymede/pull/1147
  • build(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1153
  • feat(channel): conditionally replace profile image during periodic sync by @fllppi in https://github.com/Zibbp/ganymede/pull/1154
  • feat(frontend): add absolute clock time display to video player by @fllppi in https://github.com/Zibbp/ganymede/pull/1155
  • feat: chat timestamps by @Zibbp in https://github.com/Zibbp/ganymede/pull/1156
  • build(deps): bump github.com/riverqueue/river from 0.35.0 to 0.35.1 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1160
  • build(deps): bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.35.0 to 0.35.1 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1159
  • build(deps): bump github.com/rs/zerolog from 1.35.0 to 1.35.1 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1158
  • feat(frontend): add autoplay video setting to profile by @fllppi in https://github.com/Zibbp/ganymede/pull/1161

Full Changelog: https://github.com/Zibbp/ganymede/compare/v4.15.1...v4.16.0

v4.15.1 Security relevant
Security fixes
  • Upstream dependency security patches: next-intl 4.9.1, lib/pq 1.12.3, go-playground/validator 10.30.2, riverqueue/river 0.33.0, gopsutil 4.26.3, next 16.2.3, axios 1.15.0
Full changelog

What's Changed

Security updates from dependencies.

  • build(deps): bump next-intl from 4.8.2 to 4.9.1 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1137
  • build(deps): bump github.com/lib/pq from 1.12.1 to 1.12.3 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1130
  • build(deps): bump github.com/go-playground/validator/v10 from 10.30.1 to 10.30.2 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1131
  • build(deps): bump github.com/riverqueue/river/rivertype from 0.32.0 to 0.33.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1133
  • build(deps): bump github.com/shirou/gopsutil/v4 from 4.26.2 to 4.26.3 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1132
  • build(deps): bump github.com/riverqueue/river/riverdriver/riverpgxv5 from 0.32.0 to 0.33.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1134
  • build(deps): bump next from 16.1.7 to 16.2.3 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1138
  • build(deps): bump axios from 1.13.5 to 1.15.0 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1139

Full Changelog: https://github.com/Zibbp/ganymede/compare/v4.15.0...v4.15.1

v4.15.0 Mixed
⚠ Upgrade required
  • If running :dev container image, switch to :latest or a semver version
  • New log_retention_days configuration setting available to control log file retention
Notable features
  • Live stream chat archiving: writes to temporary file flushed to main file every 2 seconds, preventing per-message JSON rewrites
  • Daily log pruning task configurable via log_retention_days setting
  • Reset is_live state on server start
Full changelog

[!IMPORTANT]
If you are running the :dev container image now is the best time to switch back to :latest or the semver version.

Changes

Better Live stream chat archiving - https://github.com/Zibbp/ganymede/pull/1113

Saves live chat JSON/messages to a temporary file then flushes to the main JSON/chat file every 2 seconds. This prevents expensive re-writes of the entire JSON file for every chat message.

Prune old log files - https://github.com/Zibbp/ganymede/pull/1126

A new task runs daily to prune old log files. Configurable via the log_retention_days config setting.

What's Changed

  • build(deps): bump picomatch in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1119
  • feat: reset is_live state on server start by @Zibbp in https://github.com/Zibbp/ganymede/pull/1121
  • bump test archive timeout by @Zibbp in https://github.com/Zibbp/ganymede/pull/1122
  • build(deps): bump github.com/lib/pq from 1.12.0 to 1.12.1 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1123
  • build(deps): bump github.com/rs/zerolog from 1.34.0 to 1.35.0 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1124
  • fix: save live chat to temporary file then flush by @Zibbp in https://github.com/Zibbp/ganymede/pull/1113
  • feat: prune old logs by @Zibbp in https://github.com/Zibbp/ganymede/pull/1126
  • build(deps): bump lodash from 4.17.23 to 4.18.1 in /frontend by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1129
  • build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in https://github.com/Zibbp/ganymede/pull/1128

Full Changelog: https://github.com/Zibbp/ganymede/compare/v4.14.1...v4.15.0

v4.14.0 New feature
Notable features
  • Notification admin page
  • Apprise integration
  • VOD metrics
v4.11.5 Bug fix

Fixed bug where channel retention settings were reset during scheduled channel update task.

v4.11.4 Bug fix
Security fixes
  • Next.js 16.0.10 to 16.1.5 moderate security fix
Notable features
  • Hourly platform authentication
v4.11.2 Bug fix

Reverted fragmented MP4 changes that caused unplayable videos and aggressively sanitized filenames.

Beta — feedback welcome: [email protected]