April 12th, 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.
April 12th, 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.
February 15th, 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.
January 30th, 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.
January 26th, 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.
January 6th, 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.
November 11th, 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.
November 11th, 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.