Looking for the latest version? Download Snarl-3.1-setup.exe (9.9 MB)
Home / Snarl / Current Beta
Name Modified Size Downloads / Week Status
Parent folder
Totals: 30 Items   261.6 MB 84
4.0 2015-03-07 88 weekly downloads
Snarl-4.0-dr4-setup.exe 2015-02-01 9.7 MB 1515 weekly downloads
readme.txt 2015-01-22 111.1 kB 22 weekly downloads
Snarl-4.0-beta-3-setup.exe 2015-01-22 9.7 MB 3737 weekly downloads
Snarl-4.0-beta-2-setup.exe 2015-01-06 9.7 MB 11 weekly downloads
Snarl-4.0-beta-1-setup.exe 2015-01-03 9.8 MB 11 weekly downloads
Snarl-3.1-beta-5-setup.exe 2014-02-15 9.9 MB 11 weekly downloads
Snarl-3.1-beta-4-setup.exe 2014-02-14 9.9 MB 22 weekly downloads
Snarl-3.1-beta-3a-setup.exe 2014-01-20 9.9 MB 22 weekly downloads
Snarl-3.1-beta-2-setup.exe 2014-01-10 9.8 MB 11 weekly downloads
Snarl-3.1-beta-1-setup.exe 2013-05-25 8.5 MB 11 weekly downloads
Snarl-3.0-beta-2-setup.exe 2012-08-30 8.3 MB 11 weekly downloads
Snarl-3.0-beta-1-setup.exe 2012-07-27 8.3 MB 22 weekly downloads
Snarl-2.6-alpha-4-setup.exe 2012-04-12 8.3 MB 11 weekly downloads
Snarl-2.6-alpha-3-setup.exe 2012-03-05 8.6 MB 11 weekly downloads
Snarl-2.6-alpha-2-setup.exe 2012-02-21 8.6 MB 11 weekly downloads
Snarl-2.6-alpha-1-setup.exe 2012-02-10 8.6 MB 11 weekly downloads
Snarl-2.5.1-beta-2-setup.exe 2012-01-25 8.7 MB 22 weekly downloads
Snarl-2.5.1-beta-1-setup.exe 2012-01-04 8.4 MB 11 weekly downloads
Snarl-2.5-beta3-setup.exe 2011-11-25 8.3 MB 11 weekly downloads
Snarl-2.5-beta2-setup.exe 2011-11-11 8.3 MB 11 weekly downloads
Snarl-2.5-beta1-setup.exe 2011-08-26 8.2 MB 11 weekly downloads
Snarl-2.4.1b3-setup.exe 2011-05-26 11.0 MB 11 weekly downloads
Snarl-2.4.1b2-setup.exe 2011-05-07 11.0 MB 11 weekly downloads
Snarl-2.4.1b1-setup.exe 2011-05-05 11.0 MB 11 weekly downloads
Snarl-2.4rc1-setup.exe 2011-03-26 10.5 MB 11 weekly downloads
Snarl-2.4b4-setup.exe 2011-02-13 10.1 MB 11 weekly downloads
Snarl-2.4b3-setup.exe 2011-01-30 10.0 MB 11 weekly downloads
Snarl-2.4b2-setup.exe 2010-12-08 9.3 MB 11 weekly downloads
Snarl-2.4b1-setup.exe 2010-11-12 9.3 MB 11 weekly downloads
Refrenced Libraries ------------------- icon_resource.dll libmgraphics2d4.dll libmmenu20.dll snarl_extensions.tlb style_engine.tlb melon.tlb r4base.tlb misc2_resource.dll msscript.ocx *msxml3.dll *olelib.tlb storage_kit.dll web_resource.dll * Not used by Snarl, possibly used by other addons To Do ----- - Had to stop old menu from working - needs recoding to use BMenu - Take notice of new "ignore_no_log" global setting. - Add "Make non-interactive" to notification menu. [DONE] - New "scheduled" argument for [Notify] [DONE] - Application registration updates - replace/update/merge-uid [DONE] - notificationroster.close, setattribute - notificationroster.hide / wasmissed - notificationroster.addtohistory / closemultiple - tnotification.replay / settitle / settext / set... To Note ------- From V46 onwards, merged notifications do not get a CRLF inserted between the old and new text. New style flag S_STYLE_NO_RULE_PREFIX allows for cosmetic changes to how rules which use the style are displayed (specifically the "Send to" or "Display with" prefix is not added). Style engines can now supply style names using "<Name>'='<Action>" in style_info->Name. If <Action> is supplied, this is used in any rules which use the style as its action. This allows for more descriptive rules while not breaking any backwards compatability. A style's action is displayed in the style's information page, but only if one is supplied. Extensions can now support BHandler if they want to act as destinations for "Tell", however this is all under heavy development. New "source" argument for [Notify] can be used to describe the application sending the notification Milestones ---------- M01 - Remove dependency on Prefs Kit High Completed 22 Dec 2014 M02 - Implement web-based admin console High Completed M03 - Remove dependency on storage kit Medium Not started M04 - Remove dependency on openmenu.library Medium Completed 1 Dec 2014 M05 - Tray icon and any settings request opens console High Completed 1 Dec 2014 M06 - Remove dependency on nitro.library Medium Completed 4 Jan 2015 M07 - Implement new transport model High Completed 17 Nov 2014 M08 - Implement new forwarding model High Completed 18 Nov 2014 M09 - Properly support GNTP Medium On track M10 - Define SNP 4.0 Low On track M11 - Allow sending of remote quit signals Low Not started M12 - Allow sending of remote about requests Low Not started M13 - Define rule model High Completed 8 Nov 2014 M14 - Implement display/redirect-based rules High Completed 12 Nov 2014 M15 - Implement content augmentation rules Medium On track M16 - Replicate basic event settings in admin console High Completed 8 Nov 2014 M17 - Replicate content injection in admin console High Not started M18 - Replicate extension functionality in console High Completed 23 Nov 2014 M19 - Replicate style engine functionality in console High Completed 23 Nov 2014 M20 - Replicate display/redirect functionality High Completed 22 Nov 2014 M21 - Implement new subscription model High Completed 22 Nov 2014 M22 - Replicate subscriber functionality High Not started M23 - Rework Prowl redirect to be web-based High Completed 18 Dec 2014 M24 - Rework NMA redirect to be web-based Medium Not started M25 - Rework Toasty redirect to be web-based Low Not started M26 - Rework Prowl redirect to support schemes High Completed 18 Dec 2014 M27 - Rework NMA redirect to support schemes Medium Not started M28 - Rework Toasty redirect to support schemes Low Not started M29 - Rework Clock+ extension to support crontab High On track M30 - Rework Clock+ extension to be web based High Completed 23 Dec 2014 M31 - Replace T_NOTIFICATION_INFO struct with object High Completed 5 Jan 2015 Snarl Change Log ---------------- - Released as Beta 3. (46.24) - Added content matching capability to rules. (46.24) - Behind-the-scenes rule configuration changed. Each rule has its own configuration file in etc/rules/ now. (46.24) - Rule destination selection page layout improved slightly. (46.24) - Default style now has a setting to enable/disable shading (also toggles etched and plain separator). (46.24) - RunFile style settings now has a combo for the "type" parameter. (46.24) - Schemes weren't refreshed when selecting a new rule destination. Now fixed. (46.24) - [Notify] command now supports "nocachedicon". If this is set to "1" and a URL-based icon is supplied, Snarl will always download the icon, irrespective of whether it's in the cache or not. (46.23) - Notification Forward menu now only lists those Forwards which are connected. (46.23) - Split Applications web console page into applications and computers. (46.23) - Quite a change to the way forwarded notifications are handled. As of R4.0, Snarl ignores any registration commands included in an SNP 3.0 forward and instead registers the sending computer as an application. Subsequent forwards use this same registration. (46.23) - Added Missed page to web console. (46.23) - Do Not Disturb mode is now honoured. As before, notifications with a priority of 1 (High) or higher will still be displayed. (46.23) - Re-implemented history and added History page to web console. (46.23) - Display preview image is now saved to APPDATA rather than PROGRAMFILES as the latter doesn't work reliably under Windows 7. (46.23) - Can now snooze notifications from the notification system menu. Notifications are snoozed for 5 minutes and are then redisplayed. Snoozed notifications are given a new flag (SNARL_NOTIFICATION_WAS_SNOOZED) which causes a new HUD icon to be displayed. The sending application is sent a SNARL_NOTIFY_SNOOZED when the notification is snoozed. (46.21) - Notification HUD now displays the sender IP address for forwarded notifications. (46.21) - Forwarding via SNP 3.0 no longer sends an application registration as this causes more complexity when handling the incoming notification. Instead, Grampf will catch it and display it as an unregistered remote notification. (46.21) - Global setting "show_timestamp" is now "1" by default. (46.21) - Snarl now registers a second application ("Grampf") which is used to handle unsolicited notifications. That is, those from applications which have not registered. (46.21) - Improved icon layout in Applications page, per-application page, and per-extension page. (46.21) - Forwarders wouldn't auto-reconnect after being connected, then being disconnected. Now fixed. (46.21) - Released as R4.0 Beta 2. (46.20) - Unnamed subscriptions couldn't be selected in the Network page. Now fixed. (46.20) - Add subscription link was broken. Now fixed. (46.20) - Added configuration setting "allow_admin_server_on_all". If "1" will bind the HTTP admin server to all local interfaces; otherwise just to localhost. (46.20) - Major milestone: dependence on T_NOTIFICATION_INFO struct now removed. (46.20) - If a notification has a priority of 2 or higher and no icon is supplied, the new !system- urgent icon is used. (46.20) - Default display now supports different colours for each priority. (46.20) - Major milestone: dependence on Nitro and exec.library now removed. Early startup now checks for the remaining required libraries, resources and kits in a more robust way. (46.20) - Startup-sequence processing removed. (46.20) - When a remote socket closes any applications registered by it are automatically unregistered if their keep-alive flag is not set. (46.20) - T_SNARL_APP structure now made private and enclosed within TApp. Lots of other application registration functions improved and/or tidied. (46.20) - Drag/drop facility removed from the About Snarl window. (46.20) - Notification forwarding now implemented. (46.20) - Major milestone: redirection now relies solely on the new TNotification2 object introduced in Beta 1. (46.20) - Could attempt to edit default rule via web admin. Now blocked. (46.20) - Default style if no config is now the internal (i.e. "Default") style. (46.20) - In some cases, Snarl would think it had an admin file when it didn't; now fixed. (46.20) - Redirect submenu would sometimes show blank scheme entries. Now fixed. (46.20) - Redirection was broken in Beta 1. Now fixed. (46.20) - Released as R4.0 Beta 1. (46.19) - Notifications with a priority > 1 are now forced sticky. (46.19) - Created new TNotification2 object which will replace T_NOTIFICATION_INFO. (46.19) - Styles can now supply a friendly name in style_info->Name by setting it to "Name= FriendlyName". This allows styles to retain the same internal name but to supply a more meaningful one which is display in the rule action part. (46.19) - Styles can now supply a new flag S_STYLE_NO_RULE_PREFIX which just means, instead of prefixing a rule with "Display with" or "Send to", Snarl simply displays the scheme name. This is purely cosmetic but improves the readability of certain styles for example "Send to {Run File :: Blink Red}" becomes simply "{Blink Red}". (46.19) - Milestone achieved. No longer requires openmenulite.library. (46.15) - Milestone achieved. Tray icon/Settings... now launches web admin interface. (46.15) - Droid style now works with fonts which don't have a regular typeface. - Now R4.0. (46.2) - Released as 3.1 Beta 3. (45.25) - Minor restructuring of the Event prefs sub pages. (45.23) - 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) - 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.<name>.<scheme>.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) - Now Release 3.1. (44.93) - Added non-UI "feedback_on_mouseover" setting. If set to "1" will slightly darken non-click-through notifications while the mouse pointer is over them. (44.92) - Updated copyright information. (44.89) - Notifications->Layout->Drop Shadow slider now correctly configures itself when the panel is opened. (44.89) - Fixed bug which would crash Snarl if a drop shadow size of zero was selected. (44.89) - Released as 3.0.1. (44.88) - Manually revised version to show included missing libmmenu2.0 in installer. (44.88) - Released as 3.0. (44.87) - Moved Presence Overrides, Content Customisation and Redaction settings into sub-panel which can be accessed from the Event->[Advanced] page. (44.82) - Now sends a SNARL_CALLBACK_CLOSED signal when notifications are closed using either the "Close All" or "Close All from <App>" menu options. (44.79) - Revised default style. (44.78) - Bug identified in uLoadICO() which possibly (but not definitively) causes a crash when loading a 128x128x32 icon. Code has been put in place to abort the load if either the width or height of the retrieved icon is greater than 127 pixels. 'no_icon.png' is used instead. (44.67) - Revised per-event redirection back to being on a per-event basis. (44.58) - Redirects no longer appear in [Gateway] page. (44.58) - Released as 3.0 Beta 2. (44.56) - Fixed bug which was causing the wrong NOTIFY signal to be sent back via the Win32 transport. (44.56) - Added full API request functionality to the JSON handler and updated Snarl.js accordingly. To access the new functionality, use the following syntax: {"action":2,"payload":<<REQ>>}, where <<REQ>> is the unabridged Snarl API request. To use the new functionality from the .js file, use Snarl.dorequest(<<REQ>>). (44.55) - Fixed icon parsing issue with GNTP applications which use a resource identifier for their application icon. (44.55) - Renamed and released as R3.0 Beta 1. (44.54) - Class list in the Class Configuration panel wasn't updating when classes for the selected application were changed. Now fixed. (44.54) - New panel icons. (44.53) - Reworked Prefs panel content. (44.53) - Reworked Class Configuration panel sub tab layout. (44.53) - Released as 2.6 Alpha 4. (44.52) - Reinstated sending a SNARL_NOTIFY_INVOKED even when no dynamic callback provided to ensure backward compatability is maintained. (44.52) - Can now provide "log=0" in arguments passed to <AddClass> to prevent any notifications generated using the class from being logged. (44.51) - "Use Same Settings For All Classes?" toggle button wasn't setting itself correctly when the classes panel opened. Now fixed. (44.51) - GNTP handler now supports two custom headers: "X-Response-Redacted: <bool>" which, if True, excludes details about the machine and software versions in use from the response; "X-Notification-Duration: <secs>" which indicates the number of seconds the notification should be displayed for. Credit to Viscount for suggesting these. (44.51) - SNP2 response handler now returns human readable status code in capitals. Credit to Viscount for identifying the bug. (44.51) - App-Cache folder moved under %APPDATA% (thanks to Dithersky for suggesting this). (44.49) - Fixed crash that would happen under certain circumstances when processing a remotely downloaded image file. (44.49) - Can now stop failed extensions using the UI. (44.45) - Addressed a number of serious memory leaks to do with passing icons to the Prefs Kit by filename rather than by an exising object. Credit to Pako for taking the time to debug this. (44.45) - Full-screen detection wasn't excluding minimised application windows which could lead to a false-positive detection under certain circumstances - now fixed. (44.43) - Removing items from the Notification Centre wasn't actually removing them from the missed list - now fixed. (44.43) - Released as 2.6 Alpha 3. (44.33) - "Redirectors" are now known simply as "Redirects". (44.33) - Correctly update all lists and combos when the available styles change. (44.33) - Changed command-line arg "-r" (request) to "-p|--parse" (parse). (44.33) - Fixed bug which was preventing redirects from being permanently removed in some situations. Credit to Pako for spotting this. (44.33) - Re-enabled support for legacy SNARL_LOAD_EXTENSION and SNARL_UNLOAD_EXTENSION commands as snarlm.exe still issues these. (44.33) - Improved support for legacy SNARL_LOAD_STYLE_ENGINE and SNARL_UNLOAD_STYLE_ENGINE commands as snarlm.exe still issues these. (44.33) - Now correctly installs zipped runnable styles (.RSZ files) if they're passed as part of a command line. (44.33) - Added "mark as read" indicator to NC items. Clicking the indicator will remove the item from the NC without replaying it. (44.31) - Can now configure extensions even if they're in a FAILED state. (44.31) - Changed lots of system notifications to use the Welcome Message / Others class. (44.31) - Growl UDP registrations now use the remote host IP address rather than the host name. (44.31) - Added extra debug output to Growl UDP packet parsing. (44.31) - Notification Centre: can now close it by clicking the "X" button in the top right corner. (44.29) - Notification Centre: double-clicking a header expands/collapses the items within it; double-clicking an item replays it and removes it from the NC. (44.29) - Notification Centre: clicking the "X" button in a header removes all the items within the header. (44.29) - Notification Centre: automatically closes when the last item is removed. (44.29) - "Quit Snarl" menu item is now at the bottom of the menu. (44.29) - 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. (44.29) - Can now configure Notification Centre colours. (44.29) - Released as 2.6 Alpha 2. (44.28) - Added Notification Centre. (44.27) - Shift-clicking a notification closes all notifications; Ctrl+Shift-clicking closes only those notifications from the same app. (44.26) - The label of the default callback button can now be customised using "callback- label=foo" in the {notify} request. (44.26) - 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. (44.26) - Non-interactive notifications now fade to 25% opacity and fade faster. (44.25) - Added new global "Ignore mouse and other inputs" option. (44.25) - Style and Extension configuration panels are no longer displayed modal. (44.25) - 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. (44.25) - Fixed a number of bugs to do with subscriptions and forwarding via SNP. (44.25) - Released as 2.6 Alpha 1. (44.24) - New "Block further notifications" option in notificaton menu. If selected, disables the class which generated the notification. (44.24) - Added per-class setting which prevents notifications from being programmatically hidden (closed). (44.24) - Added per-class notification text redaction. (44.24) - Styles can now provide customised Close and Actions gadgets. These should be named "close.png" and "actions.png" respectively and should be located in a "gadgets" sub folder within the style's own folder. (44.24) - SNP Subscriptions implemented. (44.23) - When an extension is enabled (loaded), Snarl now checks to see if its release number has changed and displays a notification if it has. (44.21) - Added per-class background tint option which is sent to the destination style as "background-tint=<rgba32>". Note that styles must support this value for it to work. (44.14) - Can now load, unload and configure extensions using the command line. (44.10) - Bumped to V44. (44.1) - Notification scaling re-implemented (was removed a while back). (43.80) - Completely revised [Redirect] page in class configuration panel. (43.80) - New Good and Bad icons. (43.80) - Minor cosmetic changes to [Style Engines] tab content. (43.80) - Removed [AddOns]->[Displays] tab. (43.80) - Moved style engines configuration panel into new [AddOns]->[Style Engines] tab (43.80) - Draws gear wheel emblem on notification if the default callback is set. (43.80) - "Quit" button on [Applications] page now works for registrations created by extensions. (43.80) - Can now display an extension's configuration settings without the need for Snarl's GUI to be open. (43.80) - Can now launch an extension's configuration settings from the [Apps] page by selecting it as per a regular application. (43.80) - Renamed "Options..." to "Actions..." in [Missed] and [Displayed] subtabs. (43.80) - Reworked Class Configuration panel page content to make it more logical. Fundamentally, the [Behaviour] and [Advanced] pages have had their content switched and some more commonly used options have been moved into the [Appearance] page. (43.80) - Improved way command-line arguments are processed. (43.80) - Released as 2.5.1 Beta 2. (43.73) - 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. (43.73) - 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 <style> 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. Thanks to Arioch for suggesting this. (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. (43.71) - Released as 2.5.1 Beta 1. (43.65) - 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 <ip>" 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. Credit to Pako for spotting this. (43.53) - 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. Credit to Pako for spotting this. (43.52) - Released as Snarl 2.5. (43.51) - Released as Snarl 2.5 Beta 3. (43.51) - Released as Snarl 2.5 Beta 2. (43.50) - 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 <notify> 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. (43.2) - Released as R2.5 Beta 1. (43.1) - Bumped to V43. (43.1) - (42.176) - Remote applications are now determined at registration time only and an application is only considered remote if it's IP address is not one assigned to the local computer. (42.171) - SNP 2.0 notifications now include SNP_VERSION in the header. (42.171) - Priority and Sticky emblems are now drawn only on mouseover. Remote app emblem is no longer drawn. (42.171) - Notifications created by password-protected applications have the application's name in the HUD drawn in a different colour. (42.171) - Fixed bug whereby sounds provided in a <notify> request were not being played. Thanks to Danny Tuppeny for spotting this. (42.171) - SNP 2.0 requests are now treated as V42 calls. (42.171) - If a notification has a UID, the SNP 2.0 response now contains this rather than the notification's token. (42.171) - Added simplistic multi-monitor support such that the user can now select which screen notifications are displayed on. (42.169) - Cosmetic enhancements to Missed Notifications panel. (42.168) - Minor cosmetic enhancements made to [History] list content. (42.166) - Downloaded icons are now squared-up when they're saved to avoid issues when displaying them in the [History] list. (42.166) - Notification content is pre-processed to avoid confusing the Prefs Kit list box. (42.166) - Tray icon now dims when Snarl is stopped. (42.165) - Removed the Snarl Apps tray submenu and replaced it with a "Snarl Daemons" item. Selecting this causes a small selector window to open which contains all the apps that have registered as being Snarl- enabled (pre-V43) or Snarl Daemons (V43 on). Clicking anywhere other than on an item in the window causes the window to disappear; clicking on an item in the window will cause Snarl to run the selected app's configuration tool (if it has one) or to receive a SNARLAPP_ACTIVATED (V43 on) or SNARLAPP_DO_PREFS (pre-V43) notification if it has opted to receive callbacks. (42.165) - The tray icon now turns yellow when Snarl enters away mode. (42.162) - Removed "app-flags" argument from <register> and replaced it with "app- daemon". Setting this to "1" indicates the application is a daemon rather than GUI-based and thus Snarl should include it in the "Apps" tray submenu. The application should support both SNARLAPP_DO_PREFS and SNARLAPP_DO_ABOUT and *must* support the new SNARLAPP_ACTIVATED and SNARLAPP_QUIT_REQUESTED events. SNARLAPP_ACTIVATED is posted whenever the user selects the app's entry in the tray menu; SNARLAPP_QUIT_ REQUESTED is sent when the user clicks the (new) "Quit" toolbar button in the [Apps] page. Note these events are simply posted to the app; Snarl is not interested in receiving a response to them. (42.154) - Wasn't returning ERROR_NOT_RUNNING under V42 when stopped. Now fixed. Credit to JonusC for spotting this. (42.152) - Added new [History] page. (42.151) - Locally registered SNP3 applications which use the new "app-flags" parameter can now receive two new callbacks - SNARL_NOTIFY_APP_DO_ABOUT and SNARL_NOTIFY_APP_DO_PREFS - which indicate the app should display information or its configuration panel respectively. (42.150) - FindNotification() now sets lasterror to ARG_MISSING if neither a token or UID is specified. (42.150) - Improved <addaction> command stability error-checking. (42.150) - "Make sticky" menu item now properly sets the notification as sticky. (42.150) - Added "app-flags" argument to <register> command. This can be used in place of the unintuitive "flags" parameter. Current supported values are "prefs" and "about". (42.150) - Icons can now be specified using the file:// protocol. Credit to Shawn McTear for the suggestion. (42.150) - Applications can now provide "hint" when registering. This is displayed whenever the "Details..." button in [Apps] is clicked. (42.150) - Applications can now provide "config-tool" when registering. This should contain the path to an executable that will be launched by Snarl when either the "Settings..." button in [Apps] is clicked, or when the entry in the tray "Apps" sub-menu is selected. (42.150) - Improved scheme preview notification content. (42.150) - Improvements and bug fixes to the default style. (42.150) - Added new [Display/Defaults] sub page. This uses values stored in /etc/ styledefaults.conf to control the internal style ("Default"). External styles can (and *should*) also offer the user the option of using these defaults. (42.150) - When unregistering an application via the [Apps] page, Snarl will now prompt the user if they want to delete the persistent settings associated with the app. (42.150) - Notification generated by the [Apps] page "Details..." button now uses a UID to prevent multiple copies appearing. (42.150) - <Register> now supports "app-title" (preferred over "title"). Credit to Shawn McTear for the suggestion. (42.150) - Default away mode setting is now "Log As Missed". (42.150) - Low priority notification logic changed. Now each registered application can have a single low priority notification on-screen (as opposed to a single global notification). Credit to Patrick von Reth. (42.150) - Remote icons are now saved using GUIDs rather than calculated file names. They are also managed in a cache controlled by the notification roster to allow for faster access to recurring URLs. A new button - "Empty Icon Cache" - has been added to [Advanced/General] which will forcabily clear the icon cache, although the cache is emptied whenever the notification roster is closed. Credit to Sven for identifying the original bug which led to this feature. (42.150) - Bug that stopped notification content from updating when using a V42 style fixed. (42.149) - Can now assign custom actions on a class-by-class basis. (42.149) - Bug in misc.resource (and misc2.resource) BPackedData causing problems with notifications fixed temporarily (will need fixing in both resources). This showed itself in a number of GNTP applications so credit to Skip and Pieter for raising it. (42.147) - <addclass> now returns ARG_MISSING if neither a token or app-sig is provided and NOT_REGISTERED if no applications have been registered. Credit to Shawn McTeer. (42.146) - SNP3 response now includes Snarl sub-version number in "x-daemon" header whenever appropriate. (42.146) - SNP2 and SNP1 responses now include current supported SNP version. (42.146) - Bugs in SNP2 handling code fixed. Credit to Shawn McTeer. (42.146) - GNTP handling code now removes whitespace as per clarification from GNTP authors. (42.145) - Renamed "Shadowing" to "Pass-Thru" in preferences panel. (42.144) - Restored sound settings into [Behaviour] sub page. (42.144) - Created new [Pass-Thru] display sub page. (42.144) - Revised SNP3.0 response specification and added callback support. (42.137) - Support for phat64 icons added to apps, classes and notifications (create and update). (42.135) - SNP3.0 FORWARD response reworked and icon sending added. If the icon is a URL or !icon then it's simply added to the response as "icon: <url|!>"; if the icon is a path to an image then it's encoded in a slightly modified version of Base64 (CRLF's are replaced with #'s) and added to the response as "icon-phat64: <data>". We use "icon-phat64:" as the encoding used is *different* to that used in SNP2. (42.134) - Applications can now be registered without providing a signature so long as a title is specified. For reference the signature will be created with the title converted to lowercase, any spaces replaced with underscores and prefixed with "application/x-". (42.132) - Apps which are remotely registered now get "remote_app.png" as their icon if no other icon is specified. (42.131) - Added further SNP3 request parsing. (42.131) - Added placeholder SNP3 request parsing. (42.130) - API version is now correctly stored in notification info for V42 and V41 requests (it remains zero for pre-V41). It's also displayed in the notification's "Details" sub-menu. (42.130) - [Shadowing] content moved into [Behaviour]. (42.130) - [Federation] renamed to [Sounds] and sound controls moved into it. (42.130) - Can now manually block apps via the [Apps] page. (42.130) - Released as 2.4.2 DR2 (42.128) - Line overflow trimming wasn't working for V42 styles, now fixed. (42.126) - Split [Advanced] page into [General], [Security] and [Debug] tabs. [Debug] tab is only shown if debug mode is enabled. (42.126) - Debug mode is now always enabled for alpha and DR releases. (42.126) - Added "Revoke Block" button to apps page. (42.125) - Added option to prevent the default callback of a notification being set to a URL. (42.123) - Added basic DoS protection. (42.123) - Resolved memory leak caused by notifications which would end up off-screen not being properly disposed of. (42.123) - API requests which do not specify a PID in wParam are now blocked. (42.123) - Debug mode is now always enabled for beta releases. (42.122) - The 'Actions' indicator icon is now displayed if a notification has a default callback. (42.122) - Applications can now specify a URL-based application icon when registering. The icon will be initiated as an asynchronous download and will be cached in the new /etc/icons/app-cache folder. The icon is not deleted, thus subsequent registrations will pick it up. (42.122) - Added an option to automatically detect if the notification text is a URL (specifically - begins with "http(s)://") and set the default call- back to it if it does (and no default callback already specified). (42.122) - Added option to only allow password-protected applications to register. (42.122) - Fixed bug in [Display|Appearance] subpage which cause Snarl to crash when opening its preferences under certain conditions. (42.121) - Fixed a bug which meant Notifications would be shadowed twice if a remote icon was used. (42.110) - Extension exclude list wasn't being updated. Now fixed. (42.108) - Fixed bug in notification roster which meant shadowed notifications would appears twice when a remote icon was specified. (42.107) - Major improvements to Run File 2.0 style. Schemes now have a configurable name which is stored in the .runfile configuration file. The file's name is not configurable via the UI and thus provides a constant for the scheme. Type 1 schemes are now known as "simple", with type 2 and 3 schemes as "complex" and "unabridged" respectively. Type 3 schemes now utilise the template parameter which is passed prefixed to the notification content. The link to the user guide and the hint text has been moved into the new scheme management panel and schemes are now created and edited via this panel. (42.106) - Actions indicator is now drawn when actions widget is visible. (42.106) - Renamed emblem and widget icons. (42.106) - Can now select notification HUD icons via [Display] page. Dario's "Greyscale" theme is included with Snarl. (42.106) - Added new per-app "block_if_foreground" setting which will discard the notification if the appropriate setting is enabled and the application which is creating it is the foreground app. This only works for applications registered via the Win32 API. (42.106) - Added new "Applications must register before creating Notifications?" setting to [Advanced] page. (42.106) - Bumped Run File style to 2.0 and changes the way it saves the scheme info. (42.106) - Added "Hide All Notifications" main (tray) menu option. (42.106) - Added "-restart", "-unload" and "-load" command-line arguments. These respectively restart, unload and load a style or extension based on the classid (including .qualifier) of the item in question. (42.105) - Previously, if a managed style didn't provide suitable content for a notification, Snarl would not display the notification. This has now been fixed, with Snarl using the built-in style. (42.102) - Extension management significantly improved in a similar way to style engine management. (42.102) - Style engine management significantly improved. All registered style engines are now displayed in the Styles/Advanced... panel and can be enabled or disabled on an engine by engine basis. (42.102) - Now registers system keys Win+Esc and Win+Ctrl+Esc which close the most recent notification and all notifications respectively. (42.102) - Fixed bug in SNP2 socket handling code which was causing requests to be mistakenly handled as GNTP. (42.102) - Tidied up GNTP and SNP socket binding code. We now use the wildcard IP address (0.0.0.0) rather than enumerating all local addresses. (42.102) - Released as R2.4.1. (42.101) - Released as R2.4.1 b3. (42.101) - Headers beginning with "Data-" in a GNTP notification request are now stored and included in any subsequent CALLBACK response. (42.101) - Fixed bug in GNTP notification parsing code which wasn't saving embedded icons out. (42.101) - Snarl will now check for a new beta release on startup if config entry "auto_beta_update" is set to "1". There is currently no GUI setting for this, hence the config file must be edited manually. (42.101) - If no icon is provided by an application, Snarl will now attempt to use the first icon in the application's executable. This only applies to applications which register using the Win32 messaging subsystem and who provide their PID in wParam when sending the WM_COPYDATA message. (42.100) - Released as R2.4.1 b2. (42.99) - Fixed bug which was allowing multiple low-priority notifications to appear when using a password. (42.99) - !icons are now displayed correctly in the application list. (42.99) - Fixed bug in GNTP socket callback response content. (42.99) - Class configuration panel [Forwarding] page renamed to [Shadowing]. (42.99) - Implemented GNTP socket callbacks. (42.99) - Missed Notifications panel now displays !icons correctly. (42.99) - Notifications can now request a particular style by using the new "style=<style>/<scheme>" argument within <notify>. This is only a request however; it's not guaranteed to be honoured. (42.99) - Released as R2.4.1 b1. (42.98) - Further improvements to the missed notifications panel. (42.98) - GNTP notifications will now attempt to use the class icon and then application icon (in that order) if no notification icon is provided. (42.96) - GNTP handling code largely rewritten to be more robust. (42.96) - Bug associated with adding actions to a notification in the wait queue fixed. (42.89) - GrowlNet applications running locally are no longer mistakenly identified as remote apps. (42.88) - Legacy API functions are now treated as just that, and receive legacy support accordingly. At the moment this simply resolves itself as to whether the sending app is notified of right- and middle-button click events. (42.87) - Fixed a number of issues to do with notification updating when V42 styles are used. (42.86) - Added configurable option to allow legacy support of right- and middle-button clicks. (42.83) - <Notify> now supports "class" keyword to identify the class to use. "id" is still supported of course. (42.81) - GNTP applications running locally are no longer mistakenly identified as remote apps. (42.80) - Possible fix for GNTP UTF8 bug. (42.79) - Fixed a number of bugs in the GNTP icon handling code. (42.72) - SNP 1.0 error handling is now more robust. (42.67) - Missed notifications panel reworked and improved. (42.66) - Significant reworking to the notification roster. (42.66) - Right-clicking a notification now pops open the notification's context menu if no custom menu is defined. This means that the SNARL_CALLBACK_R_CLICK event, deprecated as of R2.4, is no longer sent. (42.65) - Released as R2.4. (42.62) - Snarl no longer mistakes the Windows 7 Flip (Win+TAB) window as a full screen app. (42.62) - Fixed issue with the Missed Notifications notification (sic) appearing even when no notifications had been missed. (42.61) - Added "Recreate Tray Icon" button to [Advanced] page while will ask Snarl to put its icon back into the system tray if it should disappear for some arcane reason. Note that the icon will only be created if admin and user preference settings allow it. (42.60) - Improved the way the preferences panel is displayed. (42.60) - Moved TDebugPage code into frmAbout.NewDoPrefs(). (42.60) - Fixed a number of bugs to do with string processing which would manifest if a request of more than 32767 bytes was sent to Snarl. (42.59) - Default style is now selected in the [Styles] page. (42.59) - R2.4 Beta 4. (42.58) - NotificationRoster.Update() now supports "callback", "reply-to", "reply", "icon", "icon-base64" and "uid" args for both on-screen and missed notifications. On-screen notifications can also have their duration modified via the "timeout" arg. (42.58) - NotificationRoster.Update() will now update missed notification content, if it's still in the missed list. (42.58) - Timestamp content displayed in notification during mouse-over is now relative. Values can be "Just now" (less than a minute ago), "x min(s) ago" or "x hour(s) ago". If the notification was created 24 or more hours ago, the date and time is displayed. (42.58) - If the "uid" arg is used in <Notify> and a notification with the uid is still visible or is in the missed list, then the existing notification is updated with the provided content. (42.56) - Removed support for "replace-uid", "update-uid", and "merge-uid" from <Notify> for now while the specifics of these are better developed. (42.56) - App's name is now drawn in bottom-right corner of notification while mouse pointer is over the notification. (42.56) - Added new [SetMode] request. Currently this only supports a single argument ("Busy") which can be used to set Snarl's busy (DND) mode from an external source. In order to do this, the application must be registered with Snarl and must supply its signature ("app-sig") or token ("token") and password ("password") if necessary. (42.56) - Added new SNARL_ERROR_INVALID_ARG (108) error. (42.56) - Added "trash", "mycomputer" and "nethood" actions to !system command (42.56) - Fixed bug processing embedded actions in <Notify>. (42.55) - <RemClass> and <ClearClasses> requests now accepts app-sig parameter. (42.53) - Fixed bug in TNotificationRoster.Add() whereby delayed notifications didn't have the BPackedData "Args" parameter included. (42.51) - Corrected some issues with Base64 decode routine. (42.51) - Added Base64-encoded icon support to <AddClass>. (42.51) - Added support for Base64-encoded icon data within <Notify>. Parameter name is "icon-base64" and encoded data should be terminated with percent characters, not equals signs. (42.48) - Fixed bugs around the title/app name logic in the notification forwarding code. (42.47) - Bumped back to Beta 4. (42.47) - Added option to include the computer name in the title of forwarded notifications. (42.47) - Minor layout alterations to some prefs pages. (42.46) - Fixed bug in Notification Roster to do with styles and the S_STYLE_WANT_APP_NAME flag whereby notifications would sometimes end up with the title and application name set twice. (42.43) - Added "Forward" option to the Away and Busy action buttons. (42.43) - Split presence settings out into new [Presence] page. (42.43) - Clarified wording in the snDoRequest() helper explaination. (42.43) - Split the [Appearance & Layout] sub-page into separate [Appearance] and [Layout] pages. (42.43) - Added basic style pass-through functionality although this will most likely remain private/undocumented until V43. (42.43) - Minor cosmetic changes to [General] page. (42.43) - Included missing "schemes.conf" in Smooth style folder. (42.43) - Minor cosmetic changes to [Network] page. (42.43) - DND extension folder removed. (42.43) - Default style is now Corporate/Standard. (42.43) - Copyright bumped to 2011. (42.43) - Rebranded as Beta 3. (42.42) - Slight improvement to missed notification checking logic. (42.42) - Renamed "Do Nothing" presence action to "Discard". (42.41) - Converted Run File style to V42 and added support for any notification elements prefixed with "data-" and "value-" which are passed to the target file as further arguments. (42.40) - Added support for "&&" and "==" pairs in notification elements which are translated into single "&" and "=" respectively. This is the preferred way for notifications to include "&" and "=" characters. (42.40) - Snarl Welcome Message notification class renamed to SNARL_CLASS_GENERAL and extended to cover other notifications such as the "update available" and "missed notifications" ones. (42.40) - SNARL_USER_AWAY and SNARL_USER_BACK are now sent to all registered applications when the user's presence switches to and from Away mode. (42.40) - Added [Set Away when Screensaver] option as Windows NT systems don't actually lock the computer until input is detected while the screensaver is running. (42.40) - Full-screen app detection now sets/clears DND mode rather than away mode. User-enabled DND is now a flag as well. May still re-add an API to allow external apps to set and clear DND status. (42.40) - A successful re-registration now updates the application's icon, reply- to window and reply messages if any of these are provided. (42.40) - Added priority emblem which is drawn over any high priority notifications. (42.40) - Improvements to the scheme preview code. (42.40) - Removed ununsed internal E_DEFAULT_DURATION constant. (42.40) - Merged the [General] and [Advanced] page content into the main form, doing away with the two class objects. (42.40) - Fixed a number of cosmetic bugs in the scheme preview code. (42.40) - Changes made to Away and Busy (DnD) logic. Now only the user can enable and disable Do Not Disturb mode (via the tray icon menu). Similarly, Away mode can only be set programmatically in response to certain system events. (42.40) - Removed support for private E_SET_DONOTDISTURB external API, making the DND extension redundant. (42.40) - Moved full-screen app and computer lock/unlock detection into Snarl, effectively doing away with the DND extension. (42.40) - We now use the "no_icon" icon when applications without icons register and unregister. (42.39) - Fixed a number of bugs and glitches within the notification drawing and fading code. (42.38) - Click-through notifications were grabbing the keyboard focus on mouse- over. Now fixed. (42.38) - GNTP and GrowlNet priorities are now passed through unchanged allowing V42 styles to handle different priorities. (As an aside, although the only official Snarl priorities are -1, 0 and +1, the unofficial position is that the priority should be treated as signed byte, thus allowing for priorities ranging from -128 to +127). (42.38) - Added code to handle restoring the tray icon after an Explorer crash. (42.38) - Improved distinction between sticky and away functionality. When sticky notifications are enabled, *all* notifications are sticky, regardless of priority. When away mode is enabled, only high priority notifications are made sticky. (42.38) - Re-instated idle timer and associated user-definable delay setting. This now enables away mode when the delay is reached with no user activity in between. (42.38) - Released as R2.4 DR7. (42.37) - Improved way notification forwarding is managed. Notifications may now be forwarded based on one or more of the following conditions being met: away, busy or any other time. (42.36) - Prefs icons changed to use Faenza set. (42.35) - Split class configuration [Extras] page into [Forwarding] and [Advanced] pages. (42.35) - Added emblem which identifies sticky notifications. (42.35) - Reworked the way actions are managed. Most significant advantage is that actions can now be stored (and accessed) for missed notifications. (42.35) - API return value changes mean we can no longer use the result-plus- last-error model so <IsVisible> now returns SNARL_SUCCESS if the requested notification is still on-screen and a new (V42 only) <WasMissed> action will return SNARL_SUCCESS if the notification was placed in the missed list. (42.35) - <Notify> action "replace" and "update" args renamed to "replace- uid" and "update-uid" respectively and now expect a notification UID rather than a token. (42.35) - All V42 Windows API functions now signal an error in the return value of snDoAction(). The return value can be one of three possibilities: zero (success), +ve (success and a usable number), or -ve (an error). The actual error can be determined by checking ABS(return_value) against the error list. "lasterror" is thus no longer a recognised action under V42. (42.35) - Added new "uid" argument to <Notify> which can be used to uniquely identify a notification on a per-app basis. (42.34) - Internal T_NOTIFICATION struct used by Notification Roster stream- lined. (42.34) - Private SNARL_COUNT_NOTIFICATIONS command removed. (42.34) - Can now include zero or more "action=<label>,<command>" arguments in a <Notify> request. (42.34) - Win32 action and menu dynamic callbacks now send the command (with the "@" prefix removed) cast as an Int16. (42.34) - Notification right-click menu item selection now works with SNP- generated notificatons (it is still deprecated however). (42.34) - <Register>, <Unregister>, <AddClass> and <Notify> now all use "app- sig" as the application signature argument. <Register> still accepts "id" for backwards compatibility reasons. (42.32) - <AddClass> now accepts an application signature as an alternative to an application token. Use "app=<sig>". (42.31) - Reverted the "Missed Notifications" notification back to using the default callback rather than an action to open the missed list. (42.31) - Application signature must not contain spaces (a "missing arg" error will result if it does). GrowlNet register command ammended to replace spaces with underscores. (42.30) - <Unregister> action now accepts an "id" argument which should be the signature of the application to unregister. Likewise, <Notify> now accepts an "app" argument as in lieu of an application token. (42.27) - Minor bug fixes and code tweaks. (42.26) - Notification actions must now have a command. Attempting to add an action with no command now fails. If a command begins with '@' it is sent back to the app which added it either verbatim (for SNP) or using the item index (win32). (42.23) - Refinements to notification callbacks. Right-clicking and middle- clicking are now deprecated although the Win32 API still sends the appropriate message to ensure backwards-compatibility with older applications. The "auto dismiss" flag introduced during the early V42 development phase has been removed. (42.22) - Removed V41 include. (42.22) - Added rudimentary support for some GNTP functionality (specifically application registration and notification creation. (42.22) - Removed dependency on legacy include file and moved remaining legacy constants into new "deprecated" module. These will be retained for as long as we support the 1.x API. (42.21) - New VB5/VB6 V42 include file which now uses the Mk.3 Win32 low-level transport. (42.21) - Implemented new Mk.3 low-level transport (see separate notes) and removed temporary SNARL42_PARSE command. (42.21) - Application re-registration now requires the password supplied when the application was first registered. (42.21) - About page now checks existence of the Calibri font and reverts to Tahoma. (42.21) - Rebranded "Default Ack" and "Acknowledge" to "Callback". (42.21) - Clicking the "Details" button on the Apps page will, for those apps which don't provide their own information, generate a notification with basic information about the application. (42.21) - Released as R2.4 DR6. (42.20) - Snarl now performs URL decoding on any incoming SNP2.0 and Win32 packets. Outgoing notifications (e.g. via the forwarding subsystem) are now URL-encoded as well. (42.20) - Notification forwarding completely reworked to use SNP2.0 (so, at present, forwarding to computers not running Snarl 2.4 is broken) and removed the reliance on the deprecated Snarl Network Bridge library. (42.20) - If a notification is successfully merged, LastError is now set to WAS_MERGED to indicate this. (42.20) - Updated credits. (42.20) - Added sn42Send() which takes two parameters: "Action" and "Args". "Action" is the SNP2.0 action to perform; "Args" contains SNP2.0- formatted arguments. (42.20) - Tidied up VB6 include file. (42.20) - The "secure" emblem is now only drawn on the registration notification, not subsequent notifications. (42.20) - Further work done on consolidating the SNP2.0 and Win32 api's. (42.20) - Implemented simplistic sending of icon data over SNP using a modified form of Base64 encoding. (42.20) - Unregistering and updating a password-protected application now fails if the correct password is not supplied. (42.20) - SNP2.0-created notifications now receive replies to the remote port when a notification times out, etc. (42.19) - Added password support for applications. If a password is supplied by an application during registration, the same password must be used whenever a new notification is created. (42.18) - Added a new emblem which appears in any notifications generated by remote applications. (42.18) - Added support for incoming Growl UDP notifications on port 9887 (same as SNP). Growl applications can register, add notification types (classes) and create notifications. (42.18) - Implemented native SNP2.0 support. (42.18) - If a notification has actions an indicator icon is now drawn in the bottom right corner. (42.17) - If we can't actually display a notification (usually down to lack of free screen space) we now set lasterror to ERROR_COULD_NOT_DISPLAY and either add it to the missed list (for notifications with a normal or high priority) or discard it (for notifications with a low priority). (42.17) - Garbage collection (only available on XP or higher) option added to debug page. (42.17) - When DnD is in effect, notifications which end up being logged in the missed list are now allocated a unique token and LastError is set to ERROR_DO_NOT_DISTURB to indicate it was missed. This allows applications to (a) take alternative action and (b) continue to manage the notification (e.g. by adding actions to it). If a notification is not added to the missed list during DnD, LastError is still set to ERROR_DO_ NOT_DISTURB but this time a zero token is returned. (42.16) - Fixed bug in notification handling logic when DnD is in effect. (42.16) - JSON notifications were not being displayed even if listening for them was enabled, now fixed. (42.15) - Missed notifications are now listed in reverse order (i.e. most recent first) in the panel. (42.13) - Better missed notification handling. Snarl tray icon now changes to indicate missed notifications. Double-clicking the icon at this time will open the missed notifications panel rather than the preferences panel. The icon (and double-click feature) reset to normal as soon as the panel is displayed. (42.12) - Fixed bug which prevented the Missed Notifications notification from appearing under certain circumstances. The notification now has a single "Missed Notifications..." action and uses the AUTO_DISMISS flag. (42.4) - R2.4 Beta 2. (42.3) - Fixed private internal style preview function to work with V42 styles. (42.3) - Application Registered notifications now support actions. (42.2) - sn42AddAction() now supports a "command" parameter. If an item with a command is selected by the user, Snarl processes this in the same way it does an Ack command. (42.1) - Bumped to V42. (42.1) - Added sn42ClearActions() which removes all defined actions from a notification. (41.83) - Notification scaling is now applied to the close and actions buttons. (41.82) - Added new actions feature. This comprises of a new API function - sn42AddAction() - which requires a valid notification token and a new notification message parameter - SNARL_NOTIFICATION_ACTION (38) - which is sent from Snarl. (41.81) - Extension's page, "Details..." button now removes previous notification before displaying new one. (4
Source: readme.txt, updated 2015-01-22