github Aetherinox/ntfy-desktop 2.2.0
v2.2.0

2 months ago

Release Info

Item SHA-256 Desc
๐Ÿ“„ ntfy-desktop-2.2.0-win32-arm64.zip de62a4762adbbd253d635331012595667388b9d88d34173d5d313d196996c5d1 Windows arm64 (64-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-win32-ia32.zip 262787447910e8e080d0326ac0bdd83bcbc94f02aa5867b5a64c5941aff1f83f Windows ia32 (32-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-win32-amd64.zip 9d7ce3f6df9dde7a79e0f9a3e95745591b2ab5c69211425f319c6728e6a8eafa Windows x64 (64-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-linux-arm64.zip 06359a6d48f948ab54788180a6158d6f066db02e7e85d238971c79a7ea8415ca Linux arm64 (64-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-linux-armv7l.zip c91c6092d4b8354eba733826d392805cc19a6812fb757d2baa2507a2502d76c6 Linux armv7l (32-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-linux-amd64.zip 4c98fe1a773bde72bf3e0725c5e62afa4781a28363b341d103175c3adf72815e Linux x64 (64-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-darwin-arm64.zip 298750372e775f8c92505956a7abebfac95fe99f621a880d48190ddcd13db79a Darwin / macOS arm64 (64-bit) binaries
๐Ÿ“„ ntfy-desktop-2.2.0-darwin-amd64.zip f82ee7ea0a763a561723c685dd4df85a398cfd7cbef0801c055c1edf6cc07d92 Darwin / macOS x64 (64-bit) binaries
๐Ÿ“„ sha256sum.txt.asc Signed SHA256 hash digest
๐Ÿ“„ sha1sum.txt.asc Signed SHA1 hash digest
๐Ÿท๏ธ GUID 22ce449b-259e-57f4-bf70-d94d669cc4b0
๐Ÿท๏ธ UUID ae6d8eea-511d-53a8-bb01-6231ecfb9298
๐Ÿ•Ÿ Stamp 2.1.2-2025-06-09T18:44:32.000Z ๐Ÿ”บ 2.1.3-2025-06-25T03:04:15.000Z
๐Ÿ“… Last Release 15 days ago



What's New

This release contains the following changes:


Note

This major releases focuses on a complete re-write of the entire app. It also utilizes a proper file structure, separating the application files from other git repo or template files. Additionally, this release focuses on security and utilizing proper practices within Electron to ensure the end-user is not exposed to potential harmful attacks later through open processes that could be intercepted. We have no idea if people are using this app to transmit sensitive information, but it's better to be safe than sorry. Numerous performance enhancing changes have also been made, including proper graceful shutdowns for all operating systems, including MacOSX.

There are plans for more features, but this re-write needed to come first in order to establish a proper structure.


  • feat: New Notification Badge #27 #88
    • When the user receives a new message, a numerical value is shown in the OS taskbar indicating how many un-read messages the user has.
    • Unread will clear once the user interacts with the menu
  • feat: New Inter-Process Communication
    • Electron's different processes now communicate safely with one another without the risk of exposing sensitive info
    • Main process and renderer are completely segregated from one another
  • feat: Action Triggers
    • Ntfy Desktop now can interpret what buttons you are clicking on the interface; which opens the door to many new features based on a user's navigation
    • Introduced with new badge notification counter
  • improvement: Class Segregation
    • All classes now reside in a dedicated folder, instead of in the main app code
  • improvement: Application Restructured
    • For the most part, the app has been entirely re-written
    • Ntfy app files now reside in src/ folder instead of app and repo files being mingled together
  • improvement: Migrated Electron Menus
    • Instead of residing in the main app file; menus have been migrated to their own independent class
  • improvement: Rewrote Windows and Linux Build Scripts
    • Can utilize both local and global node packages
    • Changed the compression functionality for MacOSX users
  • improvement: Switched to Node Imports
  • improvement: Re-wrote isValidUrl Functionality
    • Now supports both external and internal (localhost) instances of Ntfy
  • improvement: Electron Preloader and Renderer
    • Added preloader.js and renderer.js to handle the different processes
  • improvement: Consistent API Token Handling
    • Safer fallback for empty API tokens
  • improvement: Topics Validation
    • Check for empty/missing topics before attempting requests
  • improvement: Proper Interval Management
    • Store and cleanup polling intervals properly
  • improvement: Shutdown State Management
    • Prevent operations during app shutdown
  • improvement: Enhanced User-Agent
    • Include app version in requests
  • improvement: Shutdown Checks
    • Skip operations when app is shutting down
  • improvement: Null Response Handling
    • Handle cases where requests return null
  • improvement: Poll Rate Clamping
    • Automatically fix out-of-bounds poll rates
  • improvement: Proper macOS Support
    • Handle window lifecycle correctly on macOS
  • improvement: Enhanced URL Validation
    • Better localhost detection and fallback handling
  • pref: Request Timeout Handling
    • Added 30-second timeout for message requests with proper cleanup
  • pref: Concurrent Polling Prevention
    • Added isPolling flag to prevent multiple simultaneous requests
  • pref: Graceful Shutdown System
    • Implemented proper cleanup when app closes
  • pref: Poll Rate Validation
    • Added bounds checking (5s minimum, 1 hour maximum)
  • pref: Better Error Handling
    • Distinguish between timeout and network errors
  • pref: Improved Logging
    • More detailed error messages and URI information
  • pref: Menu Initialization
    • Menus now wait until Ntfy is completely initialized before loading
  • fix(security): Disabled Node Integration #117
    • Changed nodeIntegration: false to prevent renderer from accessing Node.js APIs
  • fix(security): Enabled Context Isolation #117
    • Ensures proper isolation between main and renderer processes
  • fix(security): Disabled Remote Module #117
    • Prevents potential security vulnerabilities
  • fix(security): Enabled Web Security #117
    • Blocks insecure content and experimental features
  • fix(security): Sandboxed About Window #117
    • Added sandbox mode for the about dialog
  • fix(build): Windows .batch Build Script
    • windows batch build script provided with app failed to build if build/ folders didn't already exist
  • fix(build): MacOS Binaries Build Failed on Windows
    • when attempting to build macOSX binaries on Windows, script would fail due to windows compression
    • changed to tar.gz
  • tests: New Test Suite
    • Each release will now run an extensive set of tests to ensure Ntfy functionality works properly
    • Utilizes both Vitest and Playwright



Statistics

How the files have changed:

  • Changed files : 16
  • Changes : 2474
  • Commits : 36
  • Additions : 1965
  • Deletions : 509
  • PRs (categorized) : 24
  • PRs (uncategorized) : 12
  • PRs (open) : 0



Pull Requests

This release is associated with the following pull requests:


๐Ÿช› Continuous integration


๐Ÿš€ Features


๐Ÿ› Bugfixes


๐Ÿ”ง Changes


n#### โœจ Optimizations


๐Ÿงน Housekeeping


๐Ÿ“ฆ Build & Dependencies




Don't miss a new ntfy-desktop release

NewReleases is sending notifications on new releases.