You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by bo...@apache.org on 2012/02/14 18:10:56 UTC

svn commit: r1244132 [13/14] - in /logging/log4net/site: ./ css/ images/ images/logos/ release/ release/howto/ release/manual/

Added: logging/log4net/site/release/release-notes.html
URL: http://svn.apache.org/viewvc/logging/log4net/site/release/release-notes.html?rev=1244132&view=auto
==============================================================================
--- logging/log4net/site/release/release-notes.html (added)
+++ logging/log4net/site/release/release-notes.html Tue Feb 14 17:10:54 2012
@@ -0,0 +1,1215 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Feb 14, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>
+        Apache log4net: Release Notes</title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+      <meta name="author" content="Nicko Cadell" />
+    <meta name="Date-Revision-yyyymmdd" content="20120214" />
+    <meta http-equiv="Content-Language" content="en" />
+        <meta name="keywords" content="log4net release notes, log4net" />
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="../../" id="bannerLeft">
+                                                <img src="../images/ls-logo.jpg" alt="Apache Logging Services Project" />
+                </a>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-02-14</span>
+                  &nbsp;| <span id="projectVersion">Version: 1.2.12-SNAPSHOT</span>
+                          |                           <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a>
+        &gt;
+                          <a href="../../" title="Logging Services">Logging Services</a>
+        &gt;
+                          <a href=".././" title="log4net">log4net</a>
+        &gt;
+    
+        Apache log4net: Release Notes
+              </div>
+            <div class="xright">        
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Apache log4net</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="About">About</a>
+            </li>
+                  <li class="none">
+                          <a href="../download_log4net.cgi" title="Download">Download</a>
+            </li>
+                  <li class="none">
+            <strong>Release Notes</strong>
+          </li>
+                  <li class="none">
+                          <a href="../license.html" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>Documentation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../release/features.html" title="Features">Features</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/framework-support.html" title="Supported Frameworks">Supported Frameworks</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/example-apps.html" title="Example Apps">Example Apps</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/config-examples.html" title="Config Examples">Config Examples</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/building.html" title="Building">Building</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/faq.html" title="FAQ">FAQ</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/howto/index.html" title="How Tos">How Tos</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/sdk/index.html" title="SDK Reference">SDK Reference</a>
+            </li>
+          </ul>
+                       <h5>Manual</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../release/manual/introduction.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/manual/configuration.html" title="Configuration">Configuration</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/manual/contexts.html" title="Contexts">Contexts</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/manual/plugins.html" title="Plugins">Plugins</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/manual/repositories.html" title="Repositories">Repositories</a>
+            </li>
+                  <li class="none">
+                          <a href="../release/manual/internals.html" title="Internals">Internals</a>
+            </li>
+          </ul>
+                       <h5>Community</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+            </li>
+          </ul>
+                       <h5>Development</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../source-repository.html" title="Repository">Repository</a>
+            </li>
+                  <li class="none">
+                          <a href="../integration.html" title="Continuous Integration">Continuous Integration</a>
+            </li>
+          </ul>
+                       <h5>Project Documentation</h5>
+                  <ul>
+                                                                                                                                                                                                                                                        <li class="collapsed">
+                          <a href="../project-info.html" title="Project Information">Project Information</a>
+                  </li>
+                                                                    <li class="collapsed">
+                          <a href="../project-reports.html" title="Project Reports">Project Reports</a>
+                  </li>
+          </ul>
+                       <h5>Apache</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="http://www.apache.org/" class="externalLink" title="Home">Home</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <!-- Licensed to the Apache Software Foundation (ASF) under one or more 
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership. 
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with 
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. -->
+
+    
+
+        <a name="main"></a><div class="section"><h2 id="main">Apache log4net&#x2122; Release Notes</h2>
+
+          <a name="a1.2.11"></a><div class="section"><h2 id="1.2.11">1.2.11</h2>
+            <p>
+              log4net 1.2.11 is not only a bugfix release, it also
+              adds support for Microsoft&#xae; .NET 4.0 as well as the client profiles
+              of .NET 3.5 and .NET 4.0.
+            </p>
+
+            <p>
+              Starting with this release log4net uses a new strong
+              name key but we also provide a binary distribution using
+              the &quot;old&quot; strong name key of log4net 1.2.10 and earlier.
+              See <a href="faq.html#two-snks">the FAQ</a> for details.
+            </p>
+
+            <p>
+              The binary distributions no longer contain assemblies
+              built for the Compact Framework 1.0 or the Shared Source
+              CLI - you can build those yourself using the source
+              distribution.
+            </p>
+
+            <a name="a1.2.11-breaking"></a><div class="section"><h2 id="1.2.11-breaking">Breaking Changes</h2>
+              <p>
+                The signature of
+                <tt>ILoggerFactory.CreateLogger</tt> has changed.
+              </p>
+            </div>
+
+            <a name="a1.2.11-bug"></a><div class="section"><h2 id="1.2.11-bug">Bug Fixes</h2>
+              <ul>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-76">LOG4NET-76</a>] -         TextWriterAdapter is not thread safe
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-79">LOG4NET-79</a>] -         SecurityException thrown in LogicalThreadContextProperties GetProperties
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-81">LOG4NET-81</a>] -         LoggerRepositorySkeleton's OnConfigurationChanged method always raises its event with EventArgs.Empty instead of passing through its EventArgs parameter.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-93">LOG4NET-93</a>] -         Typos for node name in tutorial, excess quote, invalid XML
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-94">LOG4NET-94</a>] -         Incorrect config file for ..\examples\net\1.0\Tutorials\ConsoleApp
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-95">LOG4NET-95</a>] -         Level.CompareTo() may result a wrong Value -&gt; sorting of Levels does not work
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-113">LOG4NET-113</a>] -         SystemInfo.GetTypeFromString() raises NotSupportedException
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-123">LOG4NET-123</a>] -         EnvironmentPatternConverter does not expand User or System level environment variables under Windows
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-126">LOG4NET-126</a>] -         Links on the log4net Examples page do not work, including the overview link explaining why the other links do not work
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-128">LOG4NET-128</a>] -         Either documentation is incorrect or a bug in SmtpAppender
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-129">LOG4NET-129</a>] -         EventLogAppender EventID parsing does not handle Active Properties properly
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-135">LOG4NET-135</a>] -         Bad example code in documentation
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-137">LOG4NET-137</a>] -         log4net.Filter.LevelMatchFilter does not work anymore
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-143">LOG4NET-143</a>] -         Invalid Repository Config Uri composition from &quot;log4net.Config&quot; application setting
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-146">LOG4NET-146</a>] -         System.NullReferenceException on FindAndRender object
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-158">LOG4NET-158</a>] -         XMLConfigurator.ConfigureAndWatch() leaks resources if called multiple times
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-167">LOG4NET-167</a>] -         ArrayOutOfBounds Exception in MemoryAppender.getEvents()
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-212">LOG4NET-212</a>] -         Threading bug in the PatternConverter.cs
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-214">LOG4NET-214</a>] -         EventLogAppender should also use config file to set EventId
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-215">LOG4NET-215</a>] -         Exception on Convert for return %class{1} name
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-229">LOG4NET-229</a>] -         Japanese characters get garbled with log4net.Layout.XmlLayoutSchemaLog4j 
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-241">LOG4NET-241</a>] -         Issue tracking page does not link to project
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-242">LOG4NET-242</a>] -         Download page does not have link to KEYS file
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-243">LOG4NET-243</a>] -         broken link on http://logging.apache.org/log4net/release/example-apps.html
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-244">LOG4NET-244</a>] -         SmtpAppender.To Property has incorrect delimiter
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-257">LOG4NET-257</a>] -         Visual Studio 2010 .NET 4.0 Application does not copy log4net lib to bin directory
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-265">LOG4NET-265</a>] -         RemoteFileAppender Tests fail on Windows 7
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-274">LOG4NET-274</a>] -         log4net doesn't log when running a .Net 4.0 Windows application built in Release mode
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-297">LOG4NET-297</a>] -         AppenderSkeleton.RequiresLayout docs and implementation don't match
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-300">LOG4NET-300</a>] -         FilterTest doesn't compile for .Net 2.0
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-301">LOG4NET-301</a>] -         Unit tests fail on a clean checkout on .NET 2.0 using NAnt
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-310">LOG4NET-310</a>] -         EventLogAppender's ActivateOptions throws SecurityException on Vista/Win2k3 and later when not run as administrator
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-311">LOG4NET-311</a>] -         MinimalLock and AppendToFile=false don't work together in trunk's FileAppender
+                </li>
+              </ul>
+            </div>
+
+            <a name="a1.2.10-enh"></a><div class="section"><h2 id="1.2.10-enh">Improvements</h2>
+              <ul>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-31">LOG4NET-31</a>] -         Allow user to pass in additional parameters to &lt;converter&gt; node via some kind of &lt;property&gt; tag
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-38">LOG4NET-38</a>] -         EventLogAppender: Add support for setting the Category on Event Log messages.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-66">LOG4NET-66</a>] -         PreserveFileExtension with StaticFileName
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-77">LOG4NET-77</a>] -         A small improvement of log4net.Layout.Pattern.ExceptionPatternConverter  - added 'Option' propery support
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-88">LOG4NET-88</a>] -         support .NET 2.0 connectionStrings configuration section
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-96">LOG4NET-96</a>] -         Expose the Message, Exception, and ErrorCode properties of OnlyOnceErrorHandler.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-97">LOG4NET-97</a>] -         Make Hierarchy's ILoggerFactory aware of the repository's LevelMap
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-98">LOG4NET-98</a>] -         Update header comment in files to be compliant with new Apache header requirements: http://www.apache.org/legal/src-headers.html for 11/1/2006 deadline
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-100">LOG4NET-100</a>] -         IPAddressConverter improvement for .NET 2 or .NET 3
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-106">LOG4NET-106</a>] -         TraceAppender : Add switch to disable using logger name as trace category
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-112">LOG4NET-112</a>] -         Add support to the UdpAppender for IP v6 remote addresses
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-131">LOG4NET-131</a>] -         Add Cc and Bcc support to SmtpAppender
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-141">LOG4NET-141</a>] -         Add CreateConnection method to AdoNetAppender to allow subclasses to have control of IDbConnection.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-153">LOG4NET-153</a>] -         Make it easier to configure multiple appenders in code using BasicConfigurator
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-157">LOG4NET-157</a>] -         FAQ for getting the fully-qualified name of a class
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-164">LOG4NET-164</a>] -         using a named mutex for file appenders
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-170">LOG4NET-170</a>] -         Documentation improvement re: fixing and active properties
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-246">LOG4NET-246</a>] -         Make it possible to choose whether or not to watch configuration files specified using the &quot;log4net.Config&quot; appsetting key 
+                </li>
+              </ul>
+    
+            </div>
+            <a name="a1.2.11-new"></a><div class="section"><h2 id="1.2.11-new">New Features</h2>
+              <ul>
+                <li>The various static <tt>Configure</tt> methods of the <tt>Configurator</tt> classes now return collections of configuration messages rather than <tt>void</tt>.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-59">LOG4NET-59</a>] -       add the ability to roll files based on universal time (UTC).
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-64">LOG4NET-64</a>] -         add the ability to preserve the log file name extension when rolling the log file.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-87">LOG4NET-87</a>] -         Support ASP.Net related PatternConverters to allow items from the HttpContext.Current.Session, Cache, Request, etc. to be captured.
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-92">LOG4NET-92</a>] -         Build for Compact Framework 2.0
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-107">LOG4NET-107</a>] -         Added ExceptionEvaluator
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-115">LOG4NET-115</a>] -         Expand UserAppDataPath in filename
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-116">LOG4NET-116</a>] -         allow smtp to ssl authenticate and with certificates.
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-154">LOG4NET-154</a>] -         Add a StackTracePatternConverter to display method calls leading up to log message
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-155">LOG4NET-155</a>] -         Add TimeEvaluator
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-168">LOG4NET-168</a>] -         New property ReplyTo address for the SmtpAppender required
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-176">LOG4NET-176</a>] -         Buildable with VS 2008 and .NET FW 3.5
+                </li>
+                <li>[<a class="externalLink" href="https://issues.apache.org/jira/browse/LOG4NET-233">LOG4NET-233</a>] -         Support .NET 4.0 including Client Profile
+                </li>
+                </li>
+              </ul>
+            </div>
+
+          </div>
+
+            <a name="a1.2.10"></a><div class="section"><h2 id="1.2.10">1.2.10</h2>
+
+                <a name="a1.2.10-bug"></a><div class="section"><h2 id="1.2.10-bug">Bug Fixes</h2>
+                    <ul>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-21">LOG4NET-21</a>] - RemotingAppender fails once NDC becomes empty</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-22">LOG4NET-22</a>] - XmlLayout allows output of invalid control characters</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-23">LOG4NET-23</a>] - example-apps.html links are off by one folder level</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-25">LOG4NET-25</a>] - RollingFileAppender can fail if RollOverIfDateBoundaryCrossing required</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-28">LOG4NET-28</a>] - AdoNetAppender does not support inserting NULL into columns</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-29">LOG4NET-29</a>] - LevelMatchFilter should return Neutral when no match is found</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-32">LOG4NET-32</a>] - AdoNetAppender losing first entry</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-35">LOG4NET-35</a>] - Exception rendering ThreadContextStack if null value pushed into stack</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-36">LOG4NET-36</a>] - System.Diagnostics.Trace may throw exception if AppDomain does not have config file</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-40">LOG4NET-40</a>] - RollingFileAppender does not limit files to MaxSizeRollBackups when CountDirection is 1</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-41">LOG4NET-41</a>] - RollingFileAppender roll over date fail</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-42">LOG4NET-42</a>] - Serialised LoggingEvent does not preserve the Fix flags</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-43">LOG4NET-43</a>] - Specifying an empty string as a property in the config file results in an error</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-44">LOG4NET-44</a>] - XmlLayout emits all properties under a node named global-properties, rather than just properties.</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-49">LOG4NET-49</a>] - CountingQuietTextWriter does not count strings written with WriteLine</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-50">LOG4NET-50</a>] - Process.StartTime hangs on some systems</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-60">LOG4NET-60</a>] - Bug in RollingFileAppender.cs causing failure to timely roll files on monthly interval</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-63">LOG4NET-63</a>] - 1.2.9.0 Documentation typos</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-65">LOG4NET-65</a>] - Unhandled SecurityException exception for FileIOPermission while loading configuration file</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-67">LOG4NET-67</a>] - CVE-2006-0743 Security vulnerability in LocalSyslogAppender</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-69">LOG4NET-69</a>] - Exception thrown when *Format methods are given a malformed format string</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-70">LOG4NET-70</a>] - CoreDll.dll referenced with different capitalisation</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-73">LOG4NET-73</a>] - ADONetAppender.ActivateOptions() leaks database connection when called multiple times</li>
+                    </ul>
+                </div>
+                    
+                <a name="a1.2.10-new"></a><div class="section"><h2 id="1.2.10-new">New Features</h2>
+                    <ul>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-11">LOG4NET-11</a>] - Add Flush command to API</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-24">LOG4NET-24</a>] - Programmatic flush of BufferingAppenderSkeleton buffer</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-37">LOG4NET-37</a>] - Allow the RepositorySelector type to be specified using the AppSettings config</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-46">LOG4NET-46</a>] - Support appenders that can output multiple events efficiently</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-51">LOG4NET-51</a>] - WmiAppender</li>
+                    </ul>
+                </div>
+                        
+                <a name="a1.2.10-enh"></a><div class="section"><h2 id="1.2.10-enh">Improvements</h2>
+                    <ul>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-3">LOG4NET-3</a>] - Support per event patterns in FileAppender File name</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-13">LOG4NET-13</a>] - Allow SMTPAppender to have replaceable parameters in Subject</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-15">LOG4NET-15</a>] - Email high &quot;importance&quot; priority setting with SmtpAppender</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-17">LOG4NET-17</a>] - Line-wrapping Appender Layouts</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-33">LOG4NET-33</a>] - Ability to use global property to point to log4net configuration file</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-34">LOG4NET-34</a>] - Allow xml config values to be set via XmlNodeType.CDATA or XmlNodeType.Text rather than just value=&quot;foo&quot;</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-45">LOG4NET-45</a>] - PluginAttribute does not allow plugin type to be specified as a Type, only as a string</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-52">LOG4NET-52</a>] - Allow XML configurator to set properties of type Object</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-53">LOG4NET-53</a>] - Allow repository properties to be set in the config file</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-56">LOG4NET-56</a>] - Support rendering IEnumerator objects as well as ICollections</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-58">LOG4NET-58</a>] - Support clean build on .NET 2.0</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-72">LOG4NET-72</a>] - Performance of ILog.xxxFormat methods</li>
+                    <li>[<a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4NET-74">LOG4NET-74</a>] - Change MemoryAppender member variables to protected</li>
+                    </ul>
+                </div>
+
+            </div>
+
+            <a name="a1.2.9"></a><div class="section"><h2 id="1.2.9">1.2.9 Beta</h2>
+            
+                <a name="a1.2.9-breaking"></a><div class="section"><h2 id="1.2.9-breaking">Breaking Changes</h2>
+                            <div class="section"><h3>Renamed namespaces<a name="Renamed_namespaces"></a></h3>
+                            <p>
+                                Renamed namespace <span class="code">log4net.spi</span> to <span class="code">log4net.Core</span>. 
+                                Renamed namespace <span class="code">log4net.helpers</span> to <span class="code">log4net.Util</span>.
+                            </p>
+                            </div><div class="section"><h3>Renamed config classes and attributes<a name="Renamed_config_classes_and_attributes"></a></h3>
+                            <p>
+                                In the <span class="code">log4net.Config</span> namespace the <span class="code">DOMConfigurator</span>, 
+                                <span class="code">DOMConfiguratorAttribute</span>, <span class="code">DomainAttribute</span>, 
+                                and <span class="code">AliasDomainAttribute</span> have been marked as obsolete. These types are
+                                still available and functional in this release.
+                            </p>
+                            <p>    
+                                The <span class="code">XmlConfigurator</span> and <span class="code">XmlConfiguratorAttribute</span> 
+                                types replace <span class="code">DOMConfigurator</span> and 
+                                <span class="code">DOMConfiguratorAttribute</span>. The <span class="code">RepositoryAttribute</span> 
+                                and <span class="code">AliasRepositoryAttribute</span> types replace 
+                                <span class="code">DomainAttribute</span> and <span class="code">AliasDomainAttribute</span>. 
+                            </p>
+                            </div><div class="section"><h3>Fixed pascal casing of type names<a name="Fixed_pascal_casing_of_type_names"></a></h3>
+                            <p>
+                                Renamed <span class="code">AdoNetAppender</span>, <span class="code">AspNetTraceAppender</span>, 
+                                <span class="code">SmtpAppender</span>, <span class="code">Iso8601DateFormatter</span>, 
+                                <span class="code">MdcFilter</span>, and <span class="code">NdcFilter</span>.
+                                Note that the config file type resolver is case insensitive so this is only a breaking change 
+                                for code that programmatically creates a type that has been renamed.
+                            </p>
+                            </div><div class="section"><h3>Layouts changed to stream their output to a <span class="code">TextWriter</span><a name="Layouts_changed_to_stream_their_output_to_a_TextWriter"></a></h3>
+                            <p>
+                                Layouts have been changed to format their output to a <span class="code">TextWriter</span>
+                                rather than return a string. This increases performance and reduces temporary object creation.
+                            </p>
+                            </div><div class="section"><h3>C style string escapes no longer supported by config parser<a name="C_style_string_escapes_no_longer_supported_by_config_parser"></a></h3>
+                            <p>
+                                The XML config parser no longer supports decoding C style escape sequences in strings.
+                                Previously sequences like <span class="code">\n</span> and <span class="code">\\</span> 
+                                where decoded. Instead use the appropriate XML encodings as required.
+                            </p>
+                </div></div>
+                
+                <a name="a1.2.9-new"></a><div class="section"><h2 id="1.2.9-new">New Features</h2>
+                            <div class="section"><h3>New CLI build<a name="New_CLI_build"></a></h3>
+                            <p>
+                                A new log4net assembly is built that targets all CLI 1.0 compatible runtimes.
+                                This build is essentially a common subset of the Mono 1.0 and .NET 1.0 builds.
+                                It is built using the MS .NET 1.0 compiler and libraries but does not use any
+                                platform specific APIs.
+                            </p>
+                            <p>
+                                This build is only available in release configuration and can be found at
+                                <span class="code">bin\cli\1.0\release</span>.
+                            </p>
+                            </div><div class="section"><h3>Logging contexts<a name="Logging_contexts"></a></h3>
+                            <p>
+                                Logging contexts can be used to record contextual data that is relevant to the current
+                                process. Logging contexts are both an extension of the concepts embodied in the
+                                <span class="code">MDC</span> and <span class="code">NDC</span> and a replacement for
+                                them. The <span class="code">MDC</span> and <span class="code">NDC</span> have been
+                                reimplemented to use the <span class="code">ThreadContext</span> as storage.
+                            </p>
+                            <p>
+                                The logging contexts provide a single unified view that cuts across different
+                                scopes within an application.
+                                The contexts are layered in the following order of narrowing scope: 
+                                <span class="code">GlobalContext</span>, <span class="code">ThreadContext</span>, 
+                                <span class="code">LogicalThreadContext</span>, and <span class="code">LoggingEvent</span>.
+                                Context values specified in a narrower scope hide the matching value in a wider scope.
+                            </p>
+                            </div><div class="section"><h3><span class="code">PatternLayout</span> customization and long pattern names<a name="PatternLayout_customization_and_long_pattern_names"></a></h3>
+                            <p>
+                                The <span class="code">PatternLayout</span> now supports long pattern names.
+                                These pattern names are significantly more readable than the single character patterns.
+                            </p>
+                            <p>
+                                The <span class="code">PatternLayout</span> now supports custom patterns. New patterns
+                                can be defined in the config file:
+                            </p>
+                            <div class="syntax"><div class="code"><pre>
+&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
+
+  &lt;converter&gt;
+    &lt;name value=&quot;myConverter&quot; /&gt;
+    &lt;type value=&quot;TestApp.MyPatternConverter, TestApp&quot; /&gt;
+  &lt;/converter&gt;
+
+  &lt;conversionPattern value=&quot;%-5level %logger - %myConverter - %message%newline&quot; /&gt;
+&lt;/layout&gt;</pre></div></div>
+                            <p>
+                                The above config defines a custom pattern called <span class="code">myConverter</span>
+                                which is bound to the <span class="code">TestApp.MyPatternConverter, TestApp</span>
+                                type. This type must extend the <span class="code">log4net.Util.PatternConverter</span>
+                                base class. The custom pattern can then be used in the pattern string.
+                            </p>
+                            <p>
+                                For full details see the SDK Reference entry: <a href="sdk/log4net.Layout.PatternLayout.html">log4net.Layout.PatternLayout</a>.
+                            </p>
+                            </div><div class="section"><h3><span class="code">PatternString</span> for pattern based configuration<a name="PatternString_for_pattern_based_configuration"></a></h3>
+                            <p>
+                                A new pattern based type, <span class="code">PatternString</span>, can be used in
+                                the config file to set string properties using a pattern syntax. For example the
+                                File property of the FileAppender could be set as follows:
+                            </p>
+                            <div class="syntax"><div class="code"><pre>
+&lt;file type=&quot;log4net.Util.PatternString&quot;&gt;
+
+  &lt;converter&gt;
+    &lt;name value=&quot;folder&quot; /&gt;
+    &lt;type value=&quot;TestApp.SpecialFolderPatternConverter,TestApp&quot; /&gt;
+  &lt;/converter&gt;
+
+  &lt;conversionPattern value=&quot;%folder{LocalApplicationData}\log-file.txt&quot; /&gt;
+&lt;/file&gt;</pre></div></div>
+                            <p>
+                                The code for the <span class="code">SpecialFolderPatternConverter</span>
+                                is as follows:
+                            </p>            
+                            <div class="syntax"><div class="code"><pre>
+public class SpecialFolderPatternConverter : log4net.Util.PatternConverter 
+{
+  override protected void Convert(System.IO.TextWriter writer, object state) 
+  {
+    Environment.SpecialFolder specialFolder = 
+      (Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), base.Option, true);
+      
+    writer.Write(Environment.GetFolderPath(specialFolder));
+  }
+}</pre></div></div>
+                            <p>
+                                For full details see the SDK Reference entry: <a href="sdk/log4net.Util.PatternString.html">log4net.Util.PatternString</a>.
+                            </p>
+                            </div><div class="section"><h3>Loading configuration from a URI<a name="Loading_configuration_from_a_URI"></a></h3>
+                            <p>
+                                The <span class="code">XmlConfigurator</span> methods now support loading the
+                                configuration data from a URI. Config can be loaded from any URI supported by the 
+                                <span class="code">System.Net.WebRequest</span> class.
+                            </p>
+                            </div><div class="section"><h3>Support for No-Touch deployment<a name="Support_for_No-Touch_deployment"></a></h3>
+                            <p>
+                                Log4net supports configuring No-Touch deployment applications using the
+                                <span class="code">XmlConfiguratorAttribute</span>. If a relative config file
+                                or extension is specified then this is resolved relative to the deployment
+                                URI.
+                            </p>
+                            </div><div class="section"><h3>Config file parser enhancements<a name="Config_file_parser_enhancements"></a></h3>
+                            <p>
+                                The config file parser has been enhanced to support specifying the property subtype, or intermediate type, 
+                                directly on the property element, for example:
+                            </p>
+                            <div class="syntax"><div class="code"><pre>
+&lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%message%newline&quot; /&gt;</pre></div></div>
+                            <p>
+                                Implicit conversion will be attempted between the value string and the type specified, 
+                                and then again between the type and the target property type.
+                            </p>
+                            </div><div class="section"><h3>.NET string formatting syntax<a name="a.NET_string_formatting_syntax"></a></h3>
+                            <p>
+                                Added .NET <span class="code">String.Format</span> style formatting syntax methods to 
+                                the <span class="code">ILog</span> interface. The new methods are: 
+                                <span class="code">DebugFormat</span>, <span class="code">InfoFormat</span>, 
+                                <span class="code">WarnFormat</span>, <span class="code">ErrorFormat</span> 
+                                and <span class="code">FatalFormat</span>.
+                            </p>
+                            </div><div class="section"><h3>Customizable levels<a name="Customizable_levels"></a></h3>
+                            <p>
+                                Levels are defined by the repository <span class="code">LevelMap</span>. The defined 
+                                levels, the relative ordering of levels and level display names can be configured on 
+                                a per-repository basis.
+                            </p>
+                            </div><div class="section"><h3>Per-appender security contexts<a name="Per-appender_security_contexts"></a></h3>
+                            <p>
+                                Appenders that interact with controlled platform resources, e.g. files, can be
+                                configured to use a separate security context when accessing these resources.
+                                The calling thread may not have appropriate privileges to access the resource a
+                                custom <span class="code">SecurityContext</span> can be used to elevate the
+                                privileges of the appender. The <span class="code">WindowsSecurityContext</span> 
+                                is used to specify alternative credentials on the Windows platform.
+                            </p>
+                            </div><div class="section"><h3>Added new appenders<a name="Added_new_appenders"></a></h3>
+                            <dl>
+                                <dt><span class="code">AnsiColorTerminalAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        The <span class="code">AnsiColorTerminalAppender</span> writes events to 
+                                        the application's ANSI terminal window. It can be configured to specify 
+                                        the text and background colors for different level events. Note that Console
+                                        applications running on Windows do not have an ANSI terminal window and
+                                        should use the <span class="code">ColoredConsoleAppender</span> instead.
+                                    </p>
+                                </dd>
+                                <dt><span class="code">LocalSyslogAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        Logs events to a local syslog service. This appender uses the POSIX libc syslog 
+                                        library functions. If these functions are not available on the local system then 
+                                        this appender will not work!
+                                    </p>
+                                </dd>
+                                <dt><span class="code">RemoteSyslogAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        The <span class="code">RemoteSyslogAppender</span> uses the BSD syslog protocol to 
+                                        log to a syslog daemon. The syslogd listens for for messages on UDP port 514.
+                                    </p>
+                                </dd>
+                                <dt><span class="code">TelnetAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        The <span class="code">TelnetAppender</span> accepts socket connections and streams 
+                                        logging messages back to the client. The output is provided in a telnet-friendly way 
+                                        so that a log can be monitored over a TCP/IP socket. 
+                                        This allows simple remote monitoring of application logging.
+                                    </p>
+                                </dd>
+                            </dl>
+                            </div><div class="section"><h3>Added new <span class="code">LoggerMatchFilter</span> filter<a name="Added_new_LoggerMatchFilter_filter"></a></h3>
+                            <p>
+                                Added <span class="code">LoggerMatchFilter</span> which matches a string against
+                                the event's logger name.
+                            </p>
+                            </div><div class="section"><h3>Pluggable file locking models for the <span class="code">FileAppender</span><a name="Pluggable_file_locking_models_for_the_FileAppender"></a></h3>
+                            <p>
+                                The <span class="code">FileAppender</span> (and by extension the 
+                                <span class="code">RollingFileAppender</span>) now support pluggable file
+                                locking models. The default model, <span class="code">ExclusiveLock</span>, 
+                                maintains the current exclusive file locking behavior. An alternative
+                                model, <span class="code">MinimalLock</span>, can be used to support writing to
+                                a single output file from multiple processes. 
+                            </p>
+                            <p>
+                                For full details see the SDK Reference entry: <a href="sdk/log4net.Appender.FileAppender.LockingModel.html">log4net.Appender.FileAppender.LockingModel</a>.
+                            </p>
+                            </div><div class="section"><h3><span class="code">RollingFileAppender</span> roll once<a name="RollingFileAppender_roll_once"></a></h3>
+                            <p>
+                                The <span class="code">RollingFileAppender</span> now supports a new
+                                rolling style, <span class="code">Once</span>. In this mode the appender
+                                will roll the file once per run.
+                            </p>
+                            </div><div class="section"><h3><span class="code">SmtpAppender</span> authentication<a name="SmtpAppender_authentication"></a></h3>
+                            <p>
+                                On the .NET 1.1 platform only, the <span class="code">SmtpAppender</span> supports authenticating
+                                against the mail server using either username and password or integrated NTLM authentication.
+                            </p>
+                            </div><div class="section"><h3><span class="code">AdoNetAppender</span> ReconnectOnError<a name="AdoNetAppender_ReconnectOnError"></a></h3>
+                            <p>
+                                Added new configuration property to <span class="code">AdoNetAppender</span>.
+                                Setting <span class="code">ReconnectOnError</span> to <span class="code">true</span>
+                                will force the appender to attempt to reconnect to the database if the connection
+                                is lost.
+                            </p>
+                            </div><div class="section"><h3><span class="code">UdpAppender</span> hostname support<a name="UdpAppender_hostname_support"></a></h3>
+                            <p>
+                                The <span class="code">UdpAppender</span> config property <span class="code">RemoteAddress</span>
+                                can now be specified as a DNS hostname string. The hostname is resolved to an IP address.
+                            </p>
+                </div></div>
+                
+                <a name="a1.2.9-other"></a><div class="section"><h2 id="1.2.9-other">Other Changes</h2>
+                            <div class="section"><h3>FxCop compliance<a name="FxCop_compliance"></a></h3>
+                            <p>
+                                Updates to bring the internal code in line with the current FxCop rules.
+                            </p>
+                            </div><div class="section"><h3>Separate NUnit tests<a name="Separate_NUnit_tests"></a></h3>
+                            <p>
+                                Moved the NUnit tests into a separate project, <span class="code">log4net.Tests</span>.
+                            </p>
+                            </div><div class="section"><h3>Bug Fixes<a name="Bug_Fixes"></a></h3>
+                            <dl>
+                                <dt><span class="code">RemotingAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        Sends events from a <span class="code">ThreadPool</span> thread 
+                                        rather than the calling thread to prevent transfer, 
+                                        and potential loss, of the <span class="code">CallContext</span>.
+                                    </p>
+                                </dd>
+                                <dt><span class="code">RollingFileAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        Fixed date rolling period detection for non UTC timezones.
+                                    </p>
+                                </dd>
+                                <dt><span class="code">ColoredConsoleAppender</span></dt>
+                                <dd>
+                                    <p>
+                                        Updated to support writing more than 30,000 chars in a single message.
+                                        Fixed background color overspill if the console window needs to
+                                        scroll the contents.
+                                    </p>
+                                </dd>
+                            </dl>
+                </div></div>
+                
+            </div>
+            
+            <a name="a1.2.0b8"></a><div class="section"><h2 id="1.2.0b8">1.2.0 Beta 8</h2>
+                        <div class="section"><h3>Changed assembly name to <span class="code">log4net</span><a name="Changed_assembly_name_to_log4net"></a></h3>
+                        <p>
+                            The build output is now <span class="code">log4net.dll</span>
+                            for all frameworks. This is a breaking change.
+                        </p>
+                        <p>
+                            To resolve cross platform and cross version issues we have
+                            changed the log4net assembly to use a common name for all 
+                            frameworks. The assembly friendly name is now <span class="code">log4net</span>.
+                            The builds for each framework can now be differentiated
+                            by the assembly title. This includes the name of the framework
+                            that the assembly was built on. 
+                        </p>
+                        </div><div class="section"><h3>Combined Release and ReleaseStrong builds<a name="Combined_Release_and_ReleaseStrong_builds"></a></h3>
+                        <p>
+                            The Release and ReleaseStrong builds have been consolidated into
+                            a single build called Release. This Release build is strongly named.
+                        </p>
+                        </div><div class="section"><h3>New Appender: ColoredConsoleAppender<a name="New_Appender:_ColoredConsoleAppender"></a></h3>
+                        <p>
+                            The <span class="code">ColoredConsoleAppender</span> writes events to the
+                            application's console. It can be configured to specify the text and background
+                            colors for different level events.
+                        </p>
+                        </div><div class="section"><h3>New Appender: SmtpPickupDirAppender<a name="New_Appender:_SmtpPickupDirAppender"></a></h3>
+                        <p>
+                            The <span class="code">SmtpPickupDirAppender</span> generates SMTP compliant
+                            messages and writes them to a local directory. These files can then be read
+                            by an SMTP agent (e.g. the IIS SMTP Agent) and delivered.
+                        </p>
+                        </div><div class="section"><h3>New Layout: XmlLayoutSchemaLog4j<a name="New_Layout:_XmlLayoutSchemaLog4j"></a></h3>
+                        <p>
+                            This new layout formats the logging events as XML which complies with
+                            the Apache log4j&#x2122; event dtd. This can be used to transfer log event from log4net
+                            to log4j. Currently the only appender that can communicate directly with
+                            log4j is the <span class="code">UdpAppender</span>.
+                        </p>
+                        </div><div class="section"><h3>New PatternLayout conversion characters<a name="New_PatternLayout_conversion_characters"></a></h3>
+                        <p>
+                            Added support for capturing the current thread principal name and the
+                            app domain friendly name for each logging event.
+                        </p>
+                        <dl>
+                            <dt>%a</dt>
+                            <dd>
+                                Used to output the friendly name of the AppDomain where the
+                                logging event was generated. 
+                            </dd>
+                            <dt>%u</dt>
+                            <dd>
+                                Used to output the user name for the currently active user
+                                (<span class="code">Principal.Identity.Name</span>).
+                            </dd>
+                        </dl>
+                        </div><div class="section"><h3>Types specified in the config file are now loaded ignoring case<a name="Types_specified_in_the_config_file_are_now_loaded_ignoring_case"></a></h3>
+                        <p>
+                            All types specified in the configuration files are now loaded
+                            using a case insensitive method.
+                        </p>
+                        </div><div class="section"><h3>Fine grained fixing for buffered events<a name="Fine_grained_fixing_for_buffered_events"></a></h3>
+                        <p>
+                            The <span class="code">LoggingEvent</span> now supports fine grained
+                            fixing of data that needs to be accessed outside the append context,
+                            e.g. when an event is buffered. The new <span class="code">Fix</span>
+                            property takes a combination of the <span class="code">FixFlags</span> 
+                            enumeration values.
+                        </p>
+                        </div><div class="section"><h3>Code updated inline with FxCop 1.21<a name="Code_updated_inline_with_FxCop_1.21"></a></h3>
+                        <p>
+                            In line with the FxCop 1.21 guidelines:
+                            Sealed utility classes. Added serialization security demand to GetObjectData.
+                            Renamed parameters.
+                        </p>
+                        </div><div class="section"><h3>EventLogAppender 32K Limit<a name="EventLogAppender_32K_Limit"></a></h3>
+                        <p>
+                            There is a limit of 32K characters in an EventLog message. Added a 
+                            check that only logs the first 32000 characters from the rendered 
+                            message.
+                        </p>
+            </div></div>
+            
+            <a name="a1.2.0b7"></a><div class="section"><h2 id="1.2.0b7">1.2.0 Beta 7</h2>
+                        <div class="section"><h3>Updated to support the Microsoft .NET Framework 1.1 Final<a name="Updated_to_support_the_Microsoft_.NET_Framework_1.1_Final"></a></h3>
+                        <p>
+                            Updated to support the Microsoft .NET Framework 1.1 Final Beta (1.1.4322).
+                        </p>
+                        </div><div class="section"><h3>Features document<a name="Features_document"></a></h3>
+                        <p>
+                            Added a new document that covers the main features of log4net.
+                            See the <a href="doc/features.html">features</a>
+                            document for more information.
+                        </p>
+                        </div><div class="section"><h3>Hierarchy disabled until it is configured<a name="Hierarchy_disabled_until_it_is_configured"></a></h3>
+                        <p>
+                            The Hierarchy is now disabled until it has been configured.
+                            All messages logged to the Hierarchy before it has been
+                            configured will be ignored without an error message being
+                            written to the console.
+                        </p>
+                        <p>
+                            If you are configuring log4net programmatically (i.e. not using
+                            one of the built-in configurators) you must set the 
+                            <span class="code">ILoggerRepository.Configured</span> property
+                            to <span class="code">true</span> once you have configured
+                            the repository.
+                        </p>
+                        <p>
+                            The no appenders defined for a logger message will no longer be 
+                            displayed on the console by default. This message will only be 
+                            displayed if internal debugging is enabled.
+                        </p>
+                        </div><div class="section"><h3>New examples in VisualBasic.NET, JScript and Managed C++<a name="New_examples_in_VisualBasic.NET_JScript_and_Managed_C"></a></h3>
+                        <p>
+                            New examples in VisualBasic.NET, JScript and Managed C++.
+                            TODO Link to document about examples.
+                        </p>
+                        </div><div class="section"><h3>Code and Documentation Updates<a name="Code_and_Documentation_Updates"></a></h3>
+                        <p>
+                            Code fixes. Documentation and manual updates. 
+                            See the ChangeLog for more information.
+                        </p>
+                        </div><div class="section"><h3>Added document with example appender configurations<a name="Added_document_with_example_appender_configurations"></a></h3>
+                        <p>
+                            See the <a href="doc/manual/example-config-appender.html">Example Appender Configuration</a> 
+                            document for more information.
+                        </p>
+            </div></div>
+
+            <a name="a1.2.0b6"></a><div class="section"><h2 id="1.2.0b6">1.2.0 Beta 6</h2>
+                        <div class="section"><h3>Added support for multiple frameworks<a name="Added_support_for_multiple_frameworks"></a></h3>
+                        <p>
+                            log4net 1.2.0 beta 6 adds support for the the following frameworks:
+                        </p>
+                        <div class="table">
+                            <table border="0" class="bodyTable" cellspacing="0">
+                                <colgroup>
+                                    <col style="text-align: left;" />
+                                </colgroup>
+                                <tr class="a">
+                                    <th>
+                                        Framework</th>
+                                    <th>
+                                        Website</th>
+                                </tr>
+                                <tr class="b" style="vertical-align: top;">
+                                    <td>Microsoft .NET Framework 1.1 Final Beta (1.1.4322)</td>
+                                    <td><a class="externalLink" href="http://msdn.microsoft.com/net">http://msdn.microsoft.com/net</a></td>
+                                </tr>
+                                <tr class="a" style="vertical-align: top;">
+                                    <td>Microsoft .NET Compact Framework 1.0 (1.0.5000)</td>
+                                    <td><a class="externalLink" href="http://msdn.microsoft.com/vstudio/device/compactfx.asp">http://msdn.microsoft.com/vstudio/device/compactfx.asp</a></td>
+                                </tr>
+                                <tr class="b" style="vertical-align: top;">
+                                    <td>Mono 0.23</td>
+                                    <td><a class="externalLink" href="http://www.go-mono.org">http://www.go-mono.org</a></td>
+                                </tr>
+                                <tr class="a" style="vertical-align: top;">
+                                    <td>Microsoft Shared Source CLI 1.0</td>
+                                    <td><a class="externalLink" href="http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp">http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp</a></td>
+                                </tr>
+                            </table>
+                        </div>
+                        <br />
+                        <p>
+                            Not all frameworks are created equal and some features have been excluded from 
+                            some of the builds. See the <a href="doc/manual/framework-support.html">Framework Support</a> document for more information.
+                        </p>
+                        </div><div class="section"><h3>New build system using NAnt<a name="New_build_system_using_NAnt"></a></h3>
+                        <p>
+                            The new build system allows log4net to be built for all supported frameworks and 
+                            in all build configurations in one go.
+                        </p>
+                        </div><div class="section"><h3>New source code &amp; distribution layout<a name="New_source_code__distribution_layout"></a></h3>
+                        <p>
+                            The source code &amp; distribution layout has been updated to support the new 
+                            build environment and multiple target frameworks.
+                        </p>
+                        </div><div class="section"><h3>Removed DomainAttribute.UseDefaultDomain property<a name="Removed_DomainAttribute.UseDefaultDomain_property"></a></h3>
+                        <p>
+                            Updated default behavior of <span class="code">DefaultRepositorySelector</span>. Assemblies 
+                            are now by default placed into the default domain. To specify another domain, 
+                            the <span class="code">DomainAttribute</span> must be used. This is the opposite behavior 
+                            to what was previously available. If you were previously specifying the <span class="code">DomainAttribute.UseDefaultDomain</span>
+                            property then you should remove it, and if the default behavior is now 
+                            sufficient, you do not need to specify the <span class="code">DomainAttribute</span> at all.
+                        </p>
+                        </div><div class="section"><h3>Updated configuration file parser<a name="Updated_configuration_file_parser"></a></h3>
+                        <p>
+                            Updated config file parser to use the element name as the property to set. Also 
+                            removed <span class="code">&lt;object&gt;</span> tag, the type attribute can now be 
+                            specified on the property element directly.
+                        </p>
+                        <p>
+                            For example:
+                        </p>
+                        <div class="syntax"><div class="code"><pre>
+&lt;appender&gt;
+  &lt;param name=&quot;Evaluator&quot;&gt;
+    &lt;object type=&quot;log4net.spi.LevelEvaluator&quot;&gt;
+      &lt;constructor&gt;
+        &lt;param type=&quot;log4net.spi.Level&quot; value=&quot;DEBUG&quot;/&gt;
+      &lt;/constructor&gt;
+    &lt;/object&gt;
+  &lt;/param&gt;
+&lt;/appender&gt;</pre></div></div>
+                        <p>
+                            becomes:
+                        </p>
+                        <div class="syntax"><div class="code"><pre>
+&lt;appender&gt;
+  &lt;evaluator type=&quot;log4net.spi.LevelEvaluator&quot;&gt;
+    &lt;threshold value=&quot;DEBUG&quot;/&gt;
+  &lt;/evaluator&gt;
+&lt;/appender&gt;</pre></div></div>
+                        </div><div class="section"><h3>Support for event ID<a name="Support_for_event_ID"></a></h3>
+                        <p>
+                            The <span class="code">EventLogAppender</span> now supports setting the event ID in the 
+                            event log, this is taken from the <span class="code">EventID</span> property from the per 
+                            event <span class="code">Properties</span> map on the <span class="code">LoggingEvent</span>.
+                        </p>
+                        </div><div class="section"><h3>Updated ADONetAppender<a name="Updated_ADONetAppender"></a></h3>
+                        <p></p>
+                        <ul>
+                            <li>
+                                Added support for prepared statements and stored procedures</li>
+                            <li>
+                                Added <span class="code">RawTimeStampLayout</span>to correctly convert the timestamps into 
+                                database date time format</li>
+                            <li>
+                                Added <span class="code">ExceptionLayout</span> to render the exception data</li>
+                        </ul>
+                        <p></p>
+                        </div><div class="section"><h3>Support for front-end extension<a name="Support_for_front-end_extension"></a></h3>
+                        <p>
+                            This allows the logging API to be wrapped or adapted for specific purposes. Two 
+                            extension samples are included in the distribution:
+                        </p>
+                        <div class="table">
+                            <table border="0" class="bodyTable" cellspacing="0">
+                                <colgroup>
+                                    <col style="width: 50%; text-align: left;" />
+                                    <col style="width: 50%; text-align: left;" />
+                                </colgroup>
+                                <tr class="a">
+                                    <th>
+                                        Extension</th>
+                                    <th>
+                                        Description</th>
+                                </tr>
+                                <tr class="b" style="vertical-align: top;">
+                                    <td>log4net.Ext.Trace</td>
+                                    <td>Adds trace logging methods</td>
+                                </tr>
+                                <tr class="a" style="vertical-align: top;">
+                                    <td>log4net.Ext.EventID</td>
+                                    <td>Adds additional eventId parameter to all methods</td>
+                                </tr>
+                            </table>
+                        </div>
+                        <p></p>
+                        </div><div class="section"><h3>Added ForwardingAppender<a name="Added_ForwardingAppender"></a></h3>
+                        <p>Forwards events to multiple sub appenders after applying filter rules.</p>
+                        </div><div class="section"><h3>Added BufferingForwardingAppender<a name="Added_BufferingForwardingAppender"></a></h3>
+                        <p>Forward events to sub appenders after buffering them.</p>
+                        </div><div class="section"><h3>Added ASPNetTraceAppender<a name="Added_ASPNetTraceAppender"></a></h3>
+                        <p>Logs events to the ASP.NET trace system.</p>
+                        </div><div class="section"><h3>Added NetSendAppender<a name="Added_NetSendAppender"></a></h3>
+                        <p>Delivers logging events using the Windows Messenger service.</p>
+                        </div><div class="section"><h3>Added UdpAppender<a name="Added_UdpAppender"></a></h3>
+                        <p>Sends logging events as connectionless UDP datagrams to a remote host or a 
+                            multicast group.</p>
+                        </div><div class="section"><h3>Removed obsolete methods<a name="Removed_obsolete_methods"></a></h3>
+                        </div><div class="section"><h3>Lots of updates to improve our compliance with FxCop<a name="Lots_of_updates_to_improve_our_compliance_with_FxCop"></a></h3>
+                        </div><div class="section"><h3>Improved SDK documentation<a name="Improved_SDK_documentation"></a></h3>
+            </div></div>
+
+            <a name="a1.2.0b5"></a><div class="section"><h2 id="1.2.0b5">1.2.0 Beta 5</h2>
+                        <div class="section"><h3>Fixed Exception thrown when DOM Configurator called with a null XML 
+                            Element.<a name="Fixed_Exception_thrown_when_DOM_Configurator_called_with_a_null_XML_____________________________Element."></a></h3>
+                        <p>This occurred if the configuration file did not have a log4net section defined.</p>
+                        </div><div class="section"><h3>Made level lookup case insensitive<a name="Made_level_lookup_case_insensitive"></a></h3>
+                        </div><div class="section"><h3>Prevented the Hierarchy's Threshold level from being set to a null reference<a name="Prevented_the_Hierarchys_Threshold_level_from_being_set_to_a_null_reference"></a></h3>
+            </div></div>
+
+            <a name="a1.2.0b4"></a><div class="section"><h2 id="1.2.0b4">1.2.0 Beta 4</h2>
+                        <div class="section"><h3>Added event specific properties to the logging event object<a name="Added_event_specific_properties_to_the_logging_event_object"></a></h3>
+                        <p>
+                            Appenders can add additional information to the events they are logging. The <span class="code">RemotingAppender</span>
+                            and the <span class="code">SMTPAppender</span> both add a 'hostname' property to the events. 
+                            These properties can be accessed using the <span class="code">PatternLayout</span> with the 
+                            %P{name} syntax.
+                        </p>
+                        </div><div class="section"><h3>Added a plugin framework<a name="Added_a_plugin_framework"></a></h3>
+                        <p>An <span class="code">IPlugin</span> interface can be attached to any repository.</p>
+                        </div><div class="section"><h3>A new RemoteLoggingServerPlugin plugin acts as the server for the 
+                            RemotingAppender<a name="A_new_RemoteLoggingServerPlugin_plugin_acts_as_the_server_for_the_____________________________RemotingAppender"></a></h3>
+                        </div><div class="section"><h3>Updated the core log4net framework to work in an environment with no 
+                            permissions<a name="Updated_the_core_log4net_framework_to_work_in_an_environment_with_no_____________________________permissions"></a></h3>
+                        <p>Specific appenders still require additional permissions to log correctly</p>
+                        </div><div class="section"><h3>Added support for domain aliasing using the AliasDomainAttribute<a name="Added_support_for_domain_aliasing_using_the_AliasDomainAttribute"></a></h3>
+                        <p>This allows a parent assembly to take control of the logging domain for child 
+                            assemblies.</p>
+                        </div><div class="section"><h3>Added events for repository creation, configuration change, configuration reset 
+                            and repository shutdown<a name="Added_events_for_repository_creation_configuration_change_configuration_reset_____________________________and_repository_shutdown"></a></h3>
+                        </div><div class="section"><h3>Added LevelMap to the ILoggerRepository interface<a name="Added_LevelMap_to_the_ILoggerRepository_interface"></a></h3>
+                        <p>The mapping from level name to level object is now repository specific, 
+                            therefore each repository can have independent mappings.</p>
+                        </div><div class="section"><h3>Moved hierarchy specific config file parser to new DOMHierarchyConfigurator class<a name="Moved_hierarchy_specific_config_file_parser_to_new_DOMHierarchyConfigurator_class"></a></h3>
+                        <p>This is controlled by the <span class="code">Hierarchy</span> object and allows for better 
+                            encapsulation.</p>
+                        </div><div class="section"><h3>Added OnlyFixPartialEventData property to the buffered appenders<a name="Added_OnlyFixPartialEventData_property_to_the_buffered_appenders"></a></h3>
+                        <p>This setting causes slow settings to be ignored. This significantly improves the 
+                            performance of the buffered appenders.</p>
+                        </div><div class="section"><h3>XML entity references are supported in the XML config file.<a name="XML_entity_references_are_supported_in_the_XML_config_file."></a></h3>
+                        </div><div class="section"><h3>Added support for expanding environment variables in &lt;param&gt; values<a name="Added_support_for_expanding_environment_variables_in_param_values"></a></h3>
+                        <p>
+                            The environment variables must be specified as <span class="code">${FOO}</span> where <span class="code">FOO</span>
+                            is the name of the variable to expand.
+                        </p>
+                        </div><div class="section"><h3>Upgraded to use NUnit 2.0<a name="Upgraded_to_use_NUnit_2.0"></a></h3>
+                        </div><div class="section"><h3>File appenders can specify the encoding to use for the file<a name="File_appenders_can_specify_the_encoding_to_use_for_the_file"></a></h3>
+                        </div><div class="section"><h3>Added strong named configuration<a name="Added_strong_named_configuration"></a></h3>
+            </div></div>
+
+            <a name="a1.2.0b3"></a><div class="section"><h2 id="1.2.0b3">1.2.0 Beta 3</h2>
+                        <div class="section"><h3>Added log4net.Ext.Trace extension<a name="Added_log4net.Ext.Trace_extension"></a></h3>
+                        <p>This is a separate assembly that adds a trace level to log4net.</p>
+                        </div><div class="section"><h3>The default log file output directory is now the application base directory not 
+                            the current directory<a name="The_default_log_file_output_directory_is_now_the_application_base_directory_not_____________________________the_current_directory"></a></h3>
+                        </div><div class="section"><h3>Added MemoryAppender<a name="Added_MemoryAppender"></a></h3>
+                        <p>Stores all the logging events in an in-memory buffer.</p>
+                        </div><div class="section"><h3>Moved the Hierarchy implementation into a separate namespace<a name="Moved_the_Hierarchy_implementation_into_a_separate_namespace"></a></h3>
+                        <p>
+                            The <span class="code">log4net.Repository.Hierarchy</span> namespace now contains all the 
+                            code that is specific to the <span class="code">Hierarchy</span> implementation.
+                        </p>
+                        </div><div class="section"><h3>Refactored the DOMConfigurator and BasicConfigurator<a name="Refactored_the_DOMConfigurator_and_BasicConfigurator"></a></h3>
+                        <p>
+                            The <span class="code">Hierarchy</span> specific data schema and implementation could be has 
+                            now been moved to the <span class="code">log4net.Repository.Hierarchy</span> namespace. The 
+                            bootstrap code for these configurators remains in the <span class="code">log4net.Config</span>
+                            namespace.
+                        </p>
+                        </div><div class="section"><h3>Replaced the DOMConfiguratorAttribute UseExecutableDomain
+                            property with UseDefaultDomain<a name="Replaced_the_DOMConfiguratorAttribute_UseExecutableDomain____________________________property_with_UseDefaultDomain"></a></h3>
+                        <p>
+                            This change to the implementation of the <span class="code">DOMConfiguratorAttribute</span> should 
+                            allow the configuration of multiple assemblies to be accomplished more easily, 
+                            especially when developing web applications (ASP.NET).
+                        </p>
+                        </div><div class="section"><h3>A few good bug fixes!<a name="A_few_good_bug_fixes"></a></h3>
+            </div></div>
+
+            <a name="a1.2.0b2"></a><div class="section"><h2 id="1.2.0b2">1.2.0 Beta 2</h2>
+                        <div class="section"><h3>Added ADONetAppender<a name="Added_ADONetAppender"></a></h3>
+                        <p>Thanks to TechnologyOneCorp.com.</p>
+                        </div><div class="section"><h3>Added TraceLogAssembly extensibility example<a name="Added_TraceLogAssembly_extensibility_example"></a></h3>
+                        </div><div class="section"><h3>Lots of bug fixes<a name="Lots_of_bug_fixes"></a></h3>
+            </div></div>
+
+            <a name="a1.2.0b1"></a><div class="section"><h2 id="1.2.0b1">1.2.0 Beta 1</h2>
+                        <div class="section"><h3>Added 6 new examples<a name="Added_6_new_examples"></a></h3>
+                        </div><div class="section"><h3>Split Category class into Logger and LogManager classes<a name="Split_Category_class_into_Logger_and_LogManager_classes"></a></h3>
+                        <p>
+                            The instance methods from <span class="code">Category</span> have moved to the <span class="code">Logger</span>
+                            class. The static methods from <span class="code">Category</span> have moved to the <span class="code">LogManager</span>
+                            class. The <span class="code">Category</span> class still exists but for backward 
+                            compatibility only. Changed interface <span class="code">ICategoryFactory</span> to <span class="code">ILoggerFactory</span>
+                            and the implementation class <span class="code">DefaultCategoryFactory</span> to <span class="code">DefaultLoggerFactory</span>.
+                        </p>
+                        </div><div class="section"><h3>Replaced Priority class with Level class<a name="Replaced_Priority_class_with_Level_class"></a></h3>
+                        <p>
+                            The <span class="code">Priority</span> class has been replaced by the <span class="code">Level</span> class. 
+                            The <span class="code">Priority</span> class still exists for backward compatibility only. 
+                            The <span class="code">Level</span> class implements a static pool of <span class="code">Level</span> objects. 
+                            The <span class="code">Level</span> class is sealed and serializable.
+                        </p>
+                        </div><div class="section"><h3>Added ILoggerRepository interface implemented by Hierarchy<a name="Added_ILoggerRepository_interface_implemented_by_Hierarchy"></a></h3>
+                        <p>
+                            The <span class="code">Hierarchy</span> class implements the <span class="code">ILoggerRepository</span> interface. 
+                            This interface is used by the <span class="code">LogManager</span> class and therefore 
+                            allows different implementations of <span class="code">ILoggerRepository</span> to be used.
+                        </p>
+                        </div><div class="section"><h3>Enhanced NUnit tests<a name="Enhanced_NUnit_tests"></a></h3>
+                        <p>
+                            All the NUnit tests can be run using a single TestSuite: NUnitGUI 
+                            log4net.LogManager+AllTests,log4net.dll.
+                        </p>
+                        </div><div class="section"><h3>Added support for serializing LoggingEvents<a name="Added_support_for_serializing_LoggingEvents"></a></h3>
+                        <p>
+                            The <span class="code">LoggingEvent</span> class is serializable. All local state is 

[... 102 lines stripped ...]