-
Notifications
You must be signed in to change notification settings - Fork 394
feat: implement "what's new" and update notifications #1901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: rnwood <[email protected]>
|
@copilot The build triggered by this PR has failed. Please use the Azure DevOps REST API to investigate and fix the issues. 🚨 IMPORTANT: Only proceed if this is the most recent commit on your branch. If a newer commit exists, ignore this notification. Build Details:
Instructions for @copilot:
The Azure DevOps REST API provides comprehensive build failure information without requiring browser access. |
Co-authored-by: rnwood <[email protected]>
|
📊 Code Coverage Report
📁 Coverage by Namespace
Overall Coverage Details:
Enhanced coverage report with namespace breakdown - Azure DevOps Build #3.11.0-ci20251006103_pr1901 20251006.4 |


Overview
Implements comprehensive update notification and "what's new" functionality for smtp4dev, helping users stay informed about new releases and features.
Features
What's New Notifications
-rcversions only see other-rcreleases)Auto Update Notifications
Settings & Configuration
New settings in the General tab:
Both settings support:
appsettings.json--disablewhatsNewnotifications,--disableupdatenotificationsServerOptions__DisableWhatsNewNotifications,ServerOptions__DisableUpdateNotificationsPersistence & Tracking
UserVersionInfotable tracks last seen version, check dates, and dismissal state per userTechnical Implementation
Backend Components
UpdateNotificationService: Core service handling GitHub API integration, version comparison, and filtering logicUpdatesController: REST API endpoints for update checks and version trackingUserVersionInfoModel: Entity Framework model for database persistence20250915000000_AddUserVersionInfofor schema updatesFrontend Components
UpdateNotificationManager.ts: Manages periodic update checks, localStorage persistence, and callback coordinationWhatsNewDialog.vue: Vue 3 component displaying release notes with markdown rendering, timeline view, and GitHub linksAPI Endpoints
Console Output Example
On startup, users see:
Screenshots
Main Application
Settings Dialog with New Notification Options
Version Comparison Logic
The implementation includes sophisticated version comparison:
3.3.0-rc.1)vprefix automatically)Breaking Changes
None. All features are opt-in and backward compatible.
Configuration Examples
appsettings.json:
{ "ServerOptions": { "DisableWhatsNewNotifications": false, "DisableUpdateNotifications": false } }Command Line:
Environment Variables:
Related Issue
Closes #68cc30c9
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.