<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<link rel="stylesheet" href="../stylesheet.css" type="text/css">
</HEAD>

<BODY>
<h1>Release Notes</h2>

<h1>1.99.99</h2>

<h2>21 November 2005</h2>
<ul>
<li>Revamped build system for easier maintenance and deployment of builds. Fixed issues with Commons VFS and Webstart.</li>
</ul>
<h2>21 November 2005</h2>
<ul>
<li>Added Mac OS X integration, and used jarbundler to create a Chainsaw.app bundle for a native OS X distribution of Chainsaw.</li>
</ul>

<h2>15 November 2005</h2>
<ul>
<li>Added MRU list to File Open area, but only for log4j files at the moment while we work out some kinks.
This MRU list is persited as XML in the .chainsaw directory as mru.xml, so it'll remember again on startup.</li>
</ul>
<h2>22 February 2005</h2>
<ul>
<li>It's been so long since the last build it's a bit hard to remember exactly what has changed, but 
the most significant change has been how log4j and chainsaw gets build, with the addition of the UGLI
interfaces.  log4j is now bundled in a set of smaller jars.</li>
<li>Standalone distribution now includes a basic chainsaw.sh for you Unix folk (I have a Mac now, I have no excuse
not to provide this, be on the look out for a Mac OS X bundle version soon - Paul)</li>
</ul>
<h2>7 December 2004</h2>
<ul>
<li>Changed the default order of columns in Chainsaw to first display ID, level, logger, message and exception</li>
<li>Added default level expressions (example: LEVEL == DEBUG) to the 'refine focus' combobox</li>
<li>Modified Chainsaw initialization logic to load Chainsaw-specified config when specified.  <b>NOTE:</b> Chainsaw will load configurations from BOTH the log4j.configuration system property and Chainsaw's automatic configuration URL if the two are specified</li>
<li>Corrected date pattern format bug (was displaying minutes where it should be displaying months in the detail panel)</li>
</ul>

<h2>5 December 2004</h2>
<ul>
<li>Added CustomSQLDBReceiver example to log4j-receiver-sample config file, Javadoc help menu and receiver panel.</li>
<li><b>NOTE:</b> CustomSQLDBReceiver cannot yet be created through Chainsaw's receiver panel.  It must be created through an XML configuration file.</li>
<li>Improved Chainsaw logging framework initialization logic to ensure receivers are started only after Chainsaw can process the events</li>
</ul>

<h2>1 December 2004</h2>
<ul>
<li>TRACE level now fully supported in Chainsaw</li>
</ul>

<h2>30 November 2004</h2>
<ul>
<li>Internal events are now tagged with application and hostname properties so they route by default to a 'chainsaw-log' tab</li>
<li>Adding TRACE level support to Chainsaw - not yet complete</li>
<li>Improved event routing code</li>
<li>Added LogFilePatternReceiver section to example receiver configuration (available from Welcome tab)</li>
</ul>

<h2>10 September 2004</h2>
<ul>
<li>Modified file, line, method and class checks in tablemodel to avoid null pointers</li>
<li>Added PRE tags around message to display multiline messages correctly in detail/tooltips</li>
<li>LogFilePatternReceiver is now more accurate when checking exception lines</li>
<li>LogFilePatternReceiver now escapes # characters by default in the pattern so that regular expression matching succeeds</li>
<li>LogFilePatternReceiver matches now work with empty strings (.* instead of .+)</li>
<li>Build now provides debug information for Chainsaw classes</li>
</ul>

<h2>9 September 2004</h2>
<ul>
<li>Rewrote LogFilePatternReceiver to add support for multi-line messages and improved parsing logic.  To use this receiver you must now have the ORO library in your classpath (ORO is included in the WebStart version).</li>
</ul>

<h2>2 September 2004</h2>
<ul>
<li>Added Drag & Drop (rudimentary) support to Chainsaw.   You can drag any File to Chainsaw's 
  Tabbed Pane area and it will try to load it.  If there are no events in the file, not a lot happens...</li>
  
<li> Fixed a condition where loading an XML configuration file did not properly use the 
  correct classloader</li>
  
<li> Changed the way the Tabbed Pane functionality works, new tabs are added at the end and
  the new tab is not made active.</li>
</ul>

<h2>20 August 2004</h2>
<ul>
<li>Added DBReceiver to list of known Receivers, although not sure if it'll work</li>
</ul>

<h2>4 August 2004</h2>
<ul>
<li>Fixed Bug 30443 - When opening an XML file, if you hit cancel, Chainsaw opened the file anyway</li>
<li>Fixed Bug 30444 - NPE when trying to open an XML file where one or more events may be spread over a large (>100) number of lines.</li>
</ul>

<h2>31 July 2004</h2>
<ul>
<li>Corrected 'clear refine focus' bug.</li>
<li>Corrected bug that prevented color rules from being created.</li>
</ul>

<h2>28 July 2004</h2>
<ul>
<li>Corrected row selection and detail pane synchronization bugs related selection of nodes in the logger tree and docking/undocking.</li>
<li>Dock now re-selects the docked tab.</li>
</ul>

<h2>26 July 2004</h2>
<ul>
<li>Tab settings file names are now URL encoded.  In order to preserve the usefulness of existing settings files, if the URL-encoded files don't exist, Chainsaw will attempt to load the tab's non-URL-encoded files.</li>
<li>Changed 'scroll to bottom' icon.</li>
</ul>

<h2>25 July 2004</h2>
<ul>
<li>Updated LogFilePatternReceiver to rely on a URL for the file location instead of a file name (<b>fileName</b> param replaced with <b>fileURL</b>)</li>
<li>Added editor support for primitive boolean properties in PluginPropertyEditorPanel (setting the 'tailing' parameter to 'true' on a LogFilePatternReceiver from inside Chainsaw now works)</li>
<li>Updated width and label of 'automatic configuration' app preference to explicitly show it is a URL</li>
<li>Updated height of app preferences frame to show all fields completely</li>
<li>Widened data rate field in status bar</li>
</ul>

<h2>24 July 2004</h2>
<ul>
 <li>Added scroll to bottom menu item, toolbar and ctrl-b accelerator.</li>
</ul>

<h2>22 July 2004</h2>
<ul>
 <li>Corrected 'show all hidden' bug when undocked panels exist.</li>
 <li>Corrected throwable popup not displaying when undocked.</li>
 <li>Undocked logger tree toggle toolbar button now an icon and stays in sync with logger tree visibility state.</li>
</ul>

<h2>21 July 2004</h2>
<ul>
 <li>Added support for shortcutting MSG ~= expressions by using a single word or a single-quote delimited phrase as the expression (see tutorial for more information).</li>
 <li>Applied patch from Stephen Pain which modifies the FileSaveAction so that only the currently viewable (or filtered) events
 are saved in the file.</li>
</ul>

<h2>9 July 2004</h2>
<ul>
 <li>XML decoders now set additional event properties (hostName, application) when they aren't provided in the XML.</li>
</ul>

<h2>8 July 2004</h2>
<ul>
 <li>Corrected a bug in LogFilePatternReceiver that prevented the processing of log files with delimited PROP entries.  Thanks to Pranav Vora for reporting this.</li>
 <li>Modified the event detail layout to escape XML characters in the message.  Thanks to Olivier Bedelet for reporting this one.</li>
</ul>

<h2>1 July 2004</h2>
<ul>
 <li>Selecting a node in the logger tree panel now colorizes the selected node and all child nodes. Disabled when 'focus on' is active or when the 'Root Logger' is selected.  Thanks to Eric Rath for the suggestion.</li>
</ul>

<h2>24 June 2004</h2>
<ul>
 <li>Minor change to 'scroll to bottom' behavior to ensure context menu always matched expected behavior (scroll to bottom wouldn't stay selected in some cases).</li>
</ul>

<h2>21 June 2004</h2>
<ul>
 <li>Modified 'scroll to bottom' behavior:  Selecting the 'scroll to bottom' context menu now selects the bottom row.  Select any row other than the bottom row to deactivate scroll to bottom.</li>
</ul>

<h2>19 June 2004</h2>
<ul>
 <li>Expression rule enhancement:  Added support for evaluating the Timestamp field using the pattern 'yyyy/MM/dd HH:mm:ss' (ticks required).  Milliseconds are ignored (rounded down) during the evaluation of events.  This is true for inequality and equality evaluations.</li>
 <li>Expression rule enhancement:  Level equality evaluations are now case-insensitive.</li>
</ul>

<h2>17 June 2004</h2>
<ul>
 <li>Added application preference to authorize Chainsaw to have a null SecurityManager, which is required under Java Web Start
 so that classes loaded under the non-Web Start ClassLoader can access resources.</li>
 <li>Plugins loaded under Chainsaw now use this Custom classloader</li>
</ul>

<h2>9 June 2004</h2>
<ul>
 <li>Re-build to include the missing JMSReceiver class that got left off... Oooops.</li>
 <li>Applied patch from Stephen Pain to modify the JMSReceiver so that it can be started correctly when it requires a jndi.properties file.
 This patch added a jndiPath property to allow the user to specify the path to the jndi.properties file.</li>
</ul>

<h2>7 June 2004</h2>
<ul>
 <li>Added filterExpression parameter to LogFilePatternReceiver.  If set, only events which match the expression are processed by the receiver.  Thanks to Jim Prewett for suggesting this feature.</li>
</ul>

<h2>6 June 2004</h2>
<ul>
 <li>Modified responsiveness logic used to throttle event processing.  FASTEST setting now performs a yield instead of a wait.</li>
</ul>

<h2>28 May 2004</h2>
<ul>
 <li>Updated LogFilePatternReceiver to correctly process events without exceptions.</li>
</ul>

<h2>27 May 2004</h2>
<ul>
 <li>Fixed 'scroll to bottom' no longer scrolling if log panel's events were cleared.  Thanks to Steven Kearns for finding this.</li>
 <li>Modified shutdown of UDPReceiver - closing socket earlier and notifying threads in order to shut down gracefully.</li>
</ul>

<h2>26 May 2004</h2>
<ul>
 <li>Added the JMSReceiver to the bundled distribution of 'known' receivers.  This will require you to have it's
 dependencies in your System classpath for it to work.</li>
</ul>

<h2>25 May 2004</h2>
<ul>
 <li>Fixed a bug in the SocketNode class that prevented listeners of being notified when the Socket dies.  Unfortunately one
 of the listeners is usually the Receiver, and it then does not know that it should periodically
 try to reconnect again!</li>
 <li>Fixed a bug in the Receivers tree panel where restarting a set of receivers would duplicate them visually.  The plugins where stopped and started, but duplicate tree nodes where being added.  Thanks to Stephen Pain for
 pointing it out. (we 'knew' about it, but we had forgotten...)</li>
 <li>Added a "Restart" action to restart an individual Receiver.</li>
 </li>Tweaked the action buttons available within the Receive toolbar to the more commonly used ones, Play/Pause still available
 from popup menu</li>
</ul>

<h2>23 May 2004</h2>
<ul>
 <li>Ongoing work to improve xml decoder.  Can now display a progress bar when processing files.</li>
</ul>

<h2>21 May 2004</h2>
<ul>
 <li>Corrected a bug in XML decoders which caused a Swing exception when rendering the exception column - discovered by Stephen Pain.</li>
<li>Events loaded from an XML-formatted file are now processed like other events (throttled based on responsiveness setting and conforming to cyclic buffer limits) - discovered by Stephen Pain.</li>
<li>Changed how 'scroll to bottom' is activated and deactivated.  Now, scrolling occurs only if 'scroll to bottom' is selected in the context menu AND the last row is selected.  To deactivate scrolling, select a row other than last row.  To re-activate scrolling, press ctrl-end to select the last row.  (Scrolling is bypassed in two cases: a find is active, or when the bottom row is not selected as described above.)  Scrolling enhancement suggested by Hani.</li>
<li>Removed jdk1.4-specific code - Chainsaw can now be ran on JDK1.3 or greater</li>
<li>Updated XML decoders to handle the processing of large files in a way that prevents out of memory errors.  The conversion of xml to events will use as much processor as possible and may take some time to finish prior to loading events in the application (no visual feedback that the conversion process is ongoing) - discovered by Stephen Pain.</li>
</ul>

<h2>20 May 2004</h2>
<ul>
 <li>Corrected a bug in the XML decoders which prevented XML-formatted events from being processed - discovered by Stephen Pain.</li>
</ul>

<h2>18 May 2004</h2>
<ul>
 <li>Tidied up the Logger Tree Panel's hidden logger functionality.  It's now managed by a popup dialog, freeing up space for the Logger tree itself.</li>
</ul>

<h2>18 May 2004</h2>
<ul>
 <li>Properly included some base JavaDoc into the chainsaw jar, so that it can be accessed via Java Web Start</li>
</ul>

<h2>16 May 2004</h2>
<ul>
 <li>Added 'cyclic buffer size' as an application property</li>
 <li>Changing between tabs now updates detail panel accordingly</li>
</ul>

<h2>13 May 2004</h2>
<ul>
 <li>The first version we decided we needed to have some release notes in... :)
 <li>Fix for LoggingEvent class - connecting Chainsaw v2 to a remote log4j1.2.x  caused a NullPointerException
</ul>
</body></html>