Snarl Changelog

What's new in Snarl 5.0 Beta 2 Preview

Apr 28, 2017
  • Snarl R5.0 is a complete re-write of Snarl using C# for the core back-end. This has added a whole new
  • dimension of stability and performance increase to what was becoming a tired development platform (R4.0
  • was written in Visual Basic 6). In addition to the back-end improvements, the networking core and
  • notification redirection subsystem has been completely re-written as well, with many more new features
  • included.

New in Snarl 3.1 Beta 3 (Jan 22, 2014)

  • Fixed copyright. (45.22) - Added "FORWARD" identifier to SNP 3.0 header and incoming FORWARD packets are now given the SN_NF_FORWARD flag. (45.21)
  • Fixed two bugs which were causing issues with notification forwarding when using SNP 3.0. (45.19)
  • Released as 3.1 Beta 2. (45.18)

New in Snarl 3.1 Beta 2 (Jan 22, 2014)

  • Registered extensions are now included in the Snarl Apps menu. Selecting an entry from the menu will cause the extension's settings panel (if it has one) to be displayed. (45.17)
  • Notify command now accepts "event" arument in place of "class". (45.17)
  • Added "events-add", "events-del" and "events-clear" commands. (45.17)
  • Snarl now always writes to snarl_log.txt; the setting simply indicates whether that's all it does. (45.17)
  • Display preview image is now created in %TEMP%\snarl.style...prvw. (45.16)
  • Application Roster now provides a global DefaultAppIcon() and BannedAppIcon() rather than loading them each time. (45.15)
  • Several icons are now passed as objects to Prefs Kit rather than by filename. (45.14)
  • Notification actions button moved to bottom right corner. (45.12)
  • Notification callback button text changed. (45.11)
  • Action menu icons are now cached at startup. (45.11)
  • Notification HUD layout cosmetic improvements. (45.9)
  • Cosmetic tweaks to some HUD content. (45.3)
  • Now using menu.library 2.0 to create the tray menu. This means we can have icons in menus again and, finally, have proper Missed Notifications and Snarl Apps sub- menus. (45.2)
  • Bumped to V45. (45.1)

New in Snarl 3.1 Beta 1 (May 25, 2013)

  • Includes Melon 3.78 which addresses several issues with the Prefs Kit, graphics.library and icon.resource;
  • Updated SysInfo 3.3 extension, Corporate 2.0 display, Metro 2.0 display Prowl 2.1 redirect, and NMA 1.2 redirect;
  • Wifi Monitor extension no longer included in distribution (functionality is now provided by SysInfo extension);
  • Standardised icons for Clock+, SysInfo and AudioMon extensions;
  • Standardised icons for Prowl redirect;
  • Fixed: a dropshadow value of zero no longer crashes Snarl;
  • Fixed: dropshadow slider in panel now initialises correctly when the panel is opened;
  • Fixed: SysInfo extension no longer halts system when handling a clipboard change;
  • New: SysInfo extension now recognises r,g,b formatted text on the clipboard as a colour;
  • New: SysInfo extension now monitors wifi connections;
  • New: Style previews now include http://getsnarl.info as the default callback;
  • New: Prowl redirect now supports the Prowl 1.2 "URL" parameter;
  • Fixed: Prowl redirect correctly supports the "priority" parameter;
  • New: NMA redirect now supports the "priority" parameter;
  • Fixed: Various issues with ICO format image handling.
  • Key changes and improvements since R3.0
  • Fixed: Issue which could cause Snarl to crash when creating a new redirect.
  • Key changes and improvements since R2.5.1
  • Fixed: Bug in the Win32 transport which was causing the wrong notify signal to be sent back to the calling application;
  • New: JSON handler now supports full API request functionality;
  • Fixed: GNTP application icon parsing;
  • New: Block further notifications option in the notification menu. Selecting this will disable the class which generated the notification;
  • New: Per-class setting which will prevent notifications from being programmatically hidden (closed) by applications;
  • New: Per-class option to automatically redact notification body text based on the notification's sensitivity value;
  • New: Styles may now provide custom Close and Actions gadget images;
  • New: Can now subscribe to notifications from a remote computer (SNP only at present);
  • When an extension is enabled, Snarl will compare its version number to a cached copy - if the two are different, Snarl will notify that the extension has changed;
  • New: Per-class colour tint option allows notifications which use the same style to be easily identified (style in use must support this feature);
  • New: Can now load, unload and configure extensions via the command line arguments passed to Snarl.exe;
  • Notification scaling re-implemented;
  • Updated "good" and "bad" icons;
  • Extensions can now be configured via the [Applications] page;
  • A gear wheel emblem is now drawn on the notification if it has a default callback;
  • New: Can unload extensions from the [Applications] page;
  • Can view details of remote applications via the [Applications] page;
  • Garbage collection can now be disabled by setting garbage_collection to 0 (zero) in snarl41.config;
  • New: can now define which notifications are sent to subscribed computers at a per-class level;
  • Subscribed computers are now listed in the [Network] page;
  • Completely revised and improved notification forwarding via both SNP and GNTP;
  • Completely reworked Class Configuration panel;
  • Completely reworked Preferences panel content;
  • Styles are now separated into displays and redirectors.
  • In addition to the above, there have been many bug fixes, security enhancements and cosmetic changes - see the change log for full details.

New in Snarl 3.0.1 (Jan 3, 2013)

  • Fixed: Issue which could cause Snarl to crash when creating a new redirect.
  • Fixed: Bug in the Win32 transport which was causing the wrong notify signal to be sent back to the calling application;
  • New: JSON handler now supports full API request functionality;
  • Fixed: GNTP application icon parsing;
  • New: Block further notifications option in the notification menu. Selecting this will disable the class which generated the notification;
  • New: Per-class setting which will prevent notifications from being programmatically hidden (closed) by applications;
  • New: Per-class option to automatically redact notification body text based on the notification's sensitivity value;
  • New: Styles may now provide custom Close and Actions gadget images;
  • New: Can now subscribe to notifications from a remote computer (SNP only at present);
  • When an extension is enabled, Snarl will compare its version number to a cached copy - if the two are different, Snarl will notify that the extension has changed;
  • New: Per-class color tint option allows notifications which use the same style to be easily identified (style in use must support this feature);
  • New: Can now load, unload and configure extensions via the command line arguments passed to Snarl.exe;
  • Notification scaling re-implemented; Updated "good" and "bad" icons;
  • Extensions can now be configured via the [Applications] page;
  • A gear wheel emblem is now drawn on the notification if it has a default callback;
  • New: Can unload extensions from the [Applications] page;
  • Can view details of remote applications via the [Applications] page;
  • Garbage collection can now be disabled by setting garbage_collection to 0 (zero) in snarl41.config;
  • New: can now define which notifications are sent to subscribed computers at a per-class level;
  • Subscribed computers are now listed in the [Network] page;
  • Completely revised and improved notification forwarding via both SNP and GNTP;
  • Completely reworked Class Configuration panel;
  • Completely reworked Preferences panel content;
  • Styles are now separated into displays and redirectors.
  • In addition to the above, there have been many bug fixes, security enhancements and cosmetic changes.

New in Snarl 3.0 Beta 2 (Aug 31, 2012)

  • Fixed: Bug in the Win32 transport which was causing the wrong notify signal to be sent back to the calling application;
  • New: JSON handler now supports full API request functionality;
  • Fixed: GNTP application icon parsing.

New in Snarl 2.6 Alpha 4 (Apr 12, 2012)

  • "Redirectors" are now known simply as "Redirects".
  • Correctly update all lists and combos when the available styles change.
  • Changed command-line arg "-r" (request) to "-p|--parse" (parse).
  • Fixed bug which was preventing redirects from being permanently removed in some
  • situations. Credit to Pako for spotting this.
  • Re-enabled support for legacy SNARL_LOAD_EXTENSION and SNARL_UNLOAD_EXTENSION
  • commands as snarlm.exe still issues these.
  • Improved support for legacy SNARL_LOAD_STYLE_ENGINE and SNARL_UNLOAD_STYLE_ENGINE
  • commands as snarlm.exe still issues these.
  • Now correctly installs zipped runnable styles (.RSZ files) if they're passed as
  • part of a command line.
  • Added "mark as read" indicator to NC items. Clicking the indicator will remove
  • the item from the NC without replaying it.
  • Can now configure extensions even if they're in a FAILED state.
  • Changed lots of system notifications to use the Welcome Message / Others class.
  • Growl UDP registrations now use the remote host IP address rather than the
  • host name.
  • Added extra debug output to Growl UDP packet parsing.
  • Notification Centre: can now close it by clicking the "X" button in the top
  • right corner.
  • Notification Centre: double-clicking a header expands/collapses the items
  • within it; double-clicking an item replays it and removes it from the NC.
  • Notification Centre: clicking the "X" button in a header removes all the items
  • within the header.
  • Notification Centre: automatically closes when the last item is removed.
  • "Quit Snarl" menu item is now at the bottom of the menu.
  • Class configuration panel can now be displayed on its own (that is, without
  • the main panel being around). This is used by the "Notification Settings..."
  • option in the notification menu.
  • Can now configure Notification Centre colors.

New in Snarl 2.6 Alpha 2 (Apr 12, 2012)

  • Added Notification Centre.
  • Shift-clicking a notification closes all notifications; Ctrl+Shift-clicking
  • closes only those notifications from the same app.
  • The label of the default callback button can now be customized using "callback-
  • label=foo" in the {notify} request.
  • New notification model. Actions gadget is larger and appears in the top left
  • corner. If the notification has a callback, this is now displayed as a button
  • in the bottom right of the notification. Clicking the notification body simply
  • closes (SNARL_EVENT_CLOSED) the notification.
  • Non-interactive notifications now fade to 25% opacity and fade faster.
  • Added new global "Ignore mouse and other inputs" option.
  • Style and Extension configuration panels are no longer displayed modal.
  • Applications can no longer be automatically banned. Instead, uCheckDOS()
  • now counts up how many notifications the application currently has visible
  • and drops further notifications while this number is ten or more.
  • Fixed a number of bugs to do with subscriptions and forwarding via SNP.

New in Snarl 2.6 Alpha 1 (Feb 15, 2012)

  • New: Block further notifications option in the notification menu. Selecting this will disable the class which generated the notification;
  • New: Per-class setting which will prevent notifications from being programmatically hidden (closed) by applications;
  • New: Per-class option to automatically redact notification body text based on the notification's sensitivity value;
  • New: Styles may now provide custom Close and Actions gadget images;
  • New: Can now subscribe to notifications from a remote computer (SNP only at present);
  • When an extension is enabled, Snarl will compare its version number to a cached copy - if the two are different, Snarl will notify that the extension has changed;
  • New: Per-class colour tint option allows notifications which use the same style to be easily identified (style in use must support this feature);
  • New: Can now load, unload and configure extensions via the command line arguments passed to Snarl.exe; Notification scaling re-implemented; Updated "good" and "bad" icons; Extensions can now be configured via the [Applications] page; A gear wheel emblem is now drawn on the notification if it has a default callback;
  • New: Can unload extensions from the [Applications] page; Can view details of remote applications via the [Applications] page;
  • Garbage collection can now be disabled by setting garbage_collection to 0 (zero) in snarl41.config;
  • New: can now define which notifications are sent to subscribed computers at a per-class level;
  • Subscribed computers are now listed in the [Network] page;
  • Completely revised and improved notification forwarding via both SNP and GNTP;
  • Completely reworked Class Configuration panel;
  • Completely reworked Preferences panel content;
  • Styles are now separated into displays and redirectors. In addition to the above, there have been many bug fixes, security enhancements and cosmetic changes - see the change log for full details.

New in Snarl 2.5.1 (Jan 30, 2012)

  • Key changes and improvements Fixed bug which sometimes stopped the "Copy to Clipboard" option in the notification's menu from working; Can now copy and paste selected missed or historical notifications to the clipboard; Revised AudioMon extension; New Scroller style engine
  • includes two new redirect styles which display the notification content on-screen in different scrolling formats; Runnable style engine now loads styles from ALLUSERDIR/styles/runnable and USERDIR/styles/runnable; The style engine which provides the Speech style was missing from the previous installation. A new, fully revised, version of the Speech style is now included; Installer now creates ALLUSERDIR/styles folder and copies some default styles in; Included beta version of Script style engine which allows for creation of styles using VBScript; Snarl now loads style engine links from INSTDIR/styles first, then from USERDIR/styles. In the case of a conflict, the engines already loaded (i.e. those from INSTDIR/styles) take priority; Updated SysInfo extension now includes "My Computer" action in volume mounted notifications. Selecting this action opens the Windows My Computer folder; Per-user settings are now created by Snarl, not the installer. This resolves an issue when installing Snarl on Windows 7 using a non-administrator account, and improves the installation experience generally; Style engine and extension links are now stored in the Snarl installation folder under \styles\ and \extensions\ respectively. This improves the experience when using Snarl in a multi-user environment; EZ styles are now stored in the same folder as the style engine (\styles\ez\) rather than in the user application data folder; The mobile style engine now creates its \webforward\ folder in the user's application data folder on start up; Runnable styles are now stored in the same folder as the style engine (\styles\runnable\) rather than in the user application data folder; Start menu content is now created in the all users folder; Fixed bug in Clock+ extension which would generate incorrect content in some cases; Clock+ extension hourly chime notifications are no longer logged in Snarl by default; Prowl redirect style now supports new "sensitivity" parameter; Many bug fixes and enhancements. In addition to the above, there have been many bug fixes, security enhancements and cosmetic changes - see the change log for full details.

New in Snarl 2.5.1 Beta 2 (Jan 26, 2012)

  • Added "Options..." button to [Missed] and [Displayed] subtabs. (43.73)
  • Fixed bug which sometimes prevented the "Copy to Clipboard" menu item from working. (43.73)
  • Added option on [General] page to enable/disable the close notification key combo.
  • Minor cosmetic changes to scheme preview notification and Snarl Apps pop-up window. (43.72)
  • Added an undocumented S_STYLE_REDIRECT_TO_SCREEN (0x1000) flag which a redirect style can use to indicate it generates on-screen content. Snarl doesn't generate a "A notification using was created" notification for styles which implement this value. (43.72)
  • Minor cosmetic changes to the [Presence] sub-pages. (43.72)
  • Removed non-functional "Install Extension..." button from the [Extensions] page. (43.72)
  • Renamed "Snarl Daemons" menu entry to "Snarl Specific Apps". (43.72) Added undocumented "away" and "back" commands to SOS. These set and clear a new SN_PF_AWAY_SOS flag which is used purely for testing the user presence code. (43.71)
  • Holding down 'E' while starting Snarl prevents all extensions from starting; 'D' enables debug mode and 'S' prevents startup-sequence files from being launched. Holding down either CTRL key no longer enables debug mode. (43.71)
  • Snarl now launches links from USERDIR/startup-sequence and ALLUSERDIR/startup- sequence on startup. These are SSL2 links which follow are standard INI file format. See the end of this document for more information. (43.71)
  • Reworded inaccurate text on [Extensions] page. (43.71)
  • Added "keep-alive" to {register} command. Default is zero. Setting to "1" ensures the application is not removed during garbage collection if the creator has disappeared (useful for scripts and command prompt-launched stuff). (43.71)
  • Snarl now runs a garbage collection every 10 seconds looking for applications whose process is no longer running. Any orphans are then gracefully unregistered. (43.71)
  • Now looks in user folder for style engine links *after* loading links from INSTDIR\styles.

New in Snarl 2.5.1 Beta 1 (Jan 6, 2012)

  • New "sensitivity" argument added to {notify} command. Defined values are as follows: 0 - Normal; 16 - Personal; 32 - Private; 48 - Confidential. Note that Snarl simply passes the value on. (43.62)
  • Removed the "include_host_name_when_forwarding" option. Styles now need to include the computer name themselves. (43.62)
  • Can now send "recipient=/S" in {notify} request. Snarl will compare the value against the logged-on user's username and will discard any which don't match. (43.61)
  • Double-clicking the tray icon when there are missed notifications now opens the missed notifications panel. (43.60)
  • Fixed bug which caused all notification classes to default to "log always". (43.60)
  • Extensions and style engines are now stored (and loaded from) INSTDIR/extensions/ and INSTDIR/styles/ respectively. (43.59)
  • User-specific data folders are now created during start-up. (43.58) Applications which register via TCP/IP on the local computer no longer get treated as remote applications. Specifically: there's no "... on " text and the registration notification say "Application registered". (43.57)
  • Fixed bug which broke SNP2. Credit to the G+ Notifier guys for spotting this. (43.55)
  • Added new "BlockUnknownApps" admin setting. If this is enabled ("1"), only applications which have existing .class files will be allowed to register with Snarl. (43.53)
  • Fixed a bug introduced in R2.4.2 which meant that if no notification title or text is supplied for {notify} you'll always receive an ERROR_ARG_MISSING, even if the notification class has a default title or text.
  • Changed the way missed notifications are counted. (43.52)
  • Extension icon loader now uses same code as notification icon loader. (43.52) - Better parsing of icon paths so filenames which contain commas should no longer be misunderstood as resource indicies. Credit to Toke for this. (43.52)
  • System info notification now displays local IP addresses and screen resolution. (43.52)
  • Fixed bug which caused the class default sound to play even if a notification provided its own specific sound.

New in Snarl 2.5 Beta 2 (Nov 11, 2011)

  • Fixed bug to do with class default timeout. Credit to Pako for this. (43.50)
  • Fixed bug which caused notification_info->title to be empty if S_STYLE_IS_ WINDOWLESS is specified but neither of S_STYLE_V42_CONTENT nor S_STYLE_WANT_ APP_NAME are and "Include host name when forwarding" is disabled. Credit to Pako for spotting this. (43.35)
  • Style Engines can now support their own configuration interfaces. To do this, the style engine should respond to a call to IStyleEngine.StyleAt() where the index provided is zero by setting style_info->flags to S_STYLE_IS_CONFIGURABLE. Snarl will then call IStyleEngine.GetConfigWindow() with StyleName set to ".global". At this time, the engine should provide its own UI and return zero. Returning a non-zero value is not permitted and will break in future releases of Snarl. (43.34)
  • "Remove Selected" in the missed/history lists now correctly removes the selected items. (43.34)
  • External apps can now query Snarl's state using the new snGetSystemFlags() API. This currently returns the debug state, user away state and user busy state in the new SNARL_SYSTEM_FLAGS enum. (43.33)
  • Snarl now notifies on style drag-drop. (43.32)
  • Notification details menu now includes the source computer in the application name. (43.32)
  • Improvements to forwarding code. (43.32)
  • "Log to history" is now a 3-state control with the ability for the app to suggest what should be done if the user allows it. The app can do this by supplying "log=0" within the command to prevent the notification from being logged, otherwise it gets logged. (43.31)
  • Snarl no longer creates an empty file when an invalid icon path is provided. (43.31)
  • Notifications can now be replayed even while DnD mode is enabled. (43.31) Changed "Missed Notifications..." menu item to a menu parent which will open a submenu of (at most) the last 10 missed notifications. Selecting an entry from the menu will reply the notification. (43.31) - Added GNTP flash policy support. (43.30)
  • Added "Restory Factory Settings" button to [Advanced] page (suggested by Shawn) which currently renames "config41.snarl", "styledefaults.conf" and anything with the extension of ".class" to "xxx.backup", launches the new DelayLoad app, and quits Snarl. (43.29)
  • Added priority background, title and text colours to default style settings. (43.21)
  • Pass-Thru implemented. This only applies when the user is Active (that is, when they're neither Away nor Busy). (43.21)
  • Moved [Pass-Thru] from [Display] into [Presence->Active]. (43.21) Command-line parser now supports .runz and .webforward files which are copied/extracted accordingly. (43.20)
  • Can now drag-and-drop .runz (zipped runnable styles) and .webforward files onto the Preferences panel. Snarl will copy/extract accordingly and re-load styles. (43.20)
  • Added "never_ban" setting to the per-application config
  • if this is set to 1 the application will never be banned by Snarl. (43.20) Improved way Missed and History lists are managed. (43.20)
  • History and Missed lists now limited to 1,000 items. (43.19)
  • NOTIFY will now register and the application if "app-sig" and "app- title" are both supplied. It will also add the required class if "class-id" and "class-name" are supplied. (43.18)
  • Listen for JSON and SNP/GNTP now enabled by default. (43.15)
  • Now listens on Port 5233 as well. (43.15)
  • Moved Missed Notifications into [History] page under new "Missed" tab. Suggested by Shawn. (43.14)
  • Added support for scripted callbacks. (43.8)
  • Extensions can now provide resource-based icons in extension_info-> iconpath. For this to work, the path must contain the path to the resource file, a comma, and the index of the icon to use
  • e.g. "shell32.dll,34". The path need not be absolute, so long as Windows can figure it out. (43.6)
  • Only !icons are now sent verbatim; cached icons are sent phat-encoded just like other filesystem ones. (43.2)
  • Content is now crafted by the subcriber roster before being passed to the individual subscribers. (43.2)
  • Behind-the-scenes forwarding improved significantly. (43.2)
  • Can now selectively enable and disable individual forwarders and subscribers via the [Network] page. (43.2)
  • "Has action" emblem is now drawn if the notification has a static click callback. (43.2)
  • Style defaults "width" is now a slider control.

New in Snarl 2.5 Beta 1 (Nov 11, 2011)

  • Can now selectively enable and disable individual forwarders and subscribers via the [Network] page.
  • "Has action" emblem is now drawn if the notification has a static click callback. Style defaults "width" is now a slider control.