.release-notes margin-top: 1rem; font-size: 0.9rem; background: #f8f9fa; padding: 12px; border-radius: 12px;
// GET /api/jex/latest app.get('/api/jex/latest', (req, res) => const latestVersion = '2.5.0'; const releaseDate = '2026-04-10'; res.json( version: latestVersion, releaseDate, releaseNotes: [ "✨ New dark mode UI", "⚡ 30% faster sync", "🐛 Fixed connection timeout bug" ], downloads: windows: https://cdn.jex.com/client/$latestVersion/Jex-Setup-$latestVersion.exe , mac: https://cdn.jex.com/client/$latestVersion/Jex-$latestVersion.dmg , "mac-arm": https://cdn.jex.com/client/$latestVersion/Jex-$latestVersion-arm64.dmg , linux: https://cdn.jex.com/client/$latestVersion/jex_$latestVersion_amd64.deb Jex Client Download
<details class="release-notes"> <summary>📝 Release Notes v2.5.0</summary> <ul> <li>✨ New dark mode UI</li> <li>⚡ 30% faster sync</li> <li>🐛 Fixed connection timeout bug</li> </ul> </details> </div> // Download URLs mapping const downloadUrls = windows: 'https://cdn.jex.com/client/latest/Jex-Setup-2.5.0.exe', mac: 'https://cdn.jex.com/client/latest/Jex-2.5.0.dmg', 'mac-arm': 'https://cdn.jex.com/client/latest/Jex-2.5.0-arm64.dmg', linux: 'https://cdn.jex.com/client/latest/jex_2.5.0_amd64.deb', 'linux-rpm': 'https://cdn.jex.com/client/latest/jex-2.5.0-1.x86_64.rpm' ; // Detect OS function detectOS() const platform = navigator.platform.toLowerCase(); const userAgent = navigator.userAgent.toLowerCase(); .release-notes margin-top: 1rem
// Show confirmation showToast( ⬇️ Download started for $getReadableOS(osKey) ); // GET /api/jex/latest app.get('/api/jex/latest'
// Get readable OS name function getReadableOS(osKey) const names = windows: 'Windows 64-bit', mac: 'macOS (Intel)', 'mac-arm': 'macOS (Apple Silicon)', linux: 'Linux (.deb)', 'linux-rpm': 'Linux (.rpm)' ; return names[osKey]
.platform-options display: flex; flex-wrap: wrap; gap: 10px; margin: 1.5rem 0;