feat(updates): "What's New" highlights after update + pre-update teaser
Surfaces release highlights to admins, sourced from the GitHub release notes (no AI at runtime). Bullets are written once per release in CI via GitHub Models (see docs/ci/whatsnew-highlights.yml) into a <!-- whatsnew --> block; the app reads that block and falls back to the changelog's "### Features" for releases without it — so it works against today's releases immediately. - backend utils/whatsNew.parseWhatsNew(body): curated block else Features section, strips scope/PR-links, de-dups, caps at 8 (tested). - GET /admin/system/updates/whatsnew: highlights for every version moved through since the per-instance marker (whatsnew_last_seen_version); fresh installs self-anchor silently. Best-effort, never errors. - POST /admin/system/updates/whatsnew/seen: advance the marker (per-instance). - /admin/system/updates also returns latestHighlights for the teaser. - Frontend: WhatsNewBanner (green bar -> modal with "Full changelog" link) on the dashboard via adminService; UpdateNotification shows a "New features include:" teaser. i18n de/en. No migration (uses app_settings).
This commit is contained in:
@@ -2295,10 +2295,18 @@
|
||||
"warning": "Warnung",
|
||||
"error": "Fehler"
|
||||
},
|
||||
"whatsnew": {
|
||||
"title": "Neu in {{version}}",
|
||||
"viewAll": "Was ist neu",
|
||||
"modalTitle": "Was ist neu",
|
||||
"fullChangelog": "Vollständiges Änderungsprotokoll",
|
||||
"gotIt": "Verstanden"
|
||||
},
|
||||
"updates": {
|
||||
"available": "Update verfügbar",
|
||||
"newVersion": "Version {{version}} ist verfügbar",
|
||||
"currentVersion": "Aktuell: {{version}}",
|
||||
"newFeatures": "Neue Funktionen:",
|
||||
"channel": "Kanal: {{channel}}",
|
||||
"channelStable": "Stabil",
|
||||
"channelBeta": "Beta",
|
||||
|
||||
@@ -1880,10 +1880,18 @@
|
||||
"error": "Error",
|
||||
"checking": "Checking..."
|
||||
},
|
||||
"whatsnew": {
|
||||
"title": "What's new in {{version}}",
|
||||
"viewAll": "What's new",
|
||||
"modalTitle": "What's new",
|
||||
"fullChangelog": "Full changelog",
|
||||
"gotIt": "Got it"
|
||||
},
|
||||
"updates": {
|
||||
"available": "Update Available",
|
||||
"newVersion": "Version {{version}} is available",
|
||||
"currentVersion": "Current: {{version}}",
|
||||
"newFeatures": "New features include:",
|
||||
"channel": "Channel: {{channel}}",
|
||||
"channelStable": "Stable",
|
||||
"channelBeta": "Beta",
|
||||
|
||||
Reference in New Issue
Block a user