You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two complementary features around the existing self-update path:
What's new — after a build is deployed, every signed-in user sees a
one-time dialog with the release notes for everything that changed since
the build they last acknowledged. Notes are Markdown generated from the
commit messages (bookkeeping trailers stripped) and rendered with the
in-app Markdown pipeline. Tracked per user via User.lastSeenVersion, so
it shows exactly once per update and never replays history to new users.
Automatic updates — an opt-in global setting (Setting.autoUpdateEnabled)
makes the instance check GitHub a few times a day and apply a newer build
automatically, reusing the health-checked, auto-rollback self-update.
Off by default, requires SELF_UPDATE_ENABLED, backs off for a day after a
failed attempt so a persistent failure can't loop. Toggle lives in the
admin Update panel.
- API: GET /version/whats-new (+ /seen) for any user; getChangelog /
getRecentChangelog in the version service; startAutoUpdate scheduler
wired into the boot/shutdown lifecycle; autoUpdateEnabled surfaced and
editable via /admin/version and /admin/settings.
- Web: WhatsNew modal mounted in the app shell; auto-update switch in the
admin Update panel. FR/EN i18n at parity.
- Tests: integration coverage for the first-contact-silent → show-once →
dismissed lifecycle.
0 commit comments