2006-09-18 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Preparing for 1.0 release

2006-09-15 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added MaxMessageSize (default: 65000) and OnOverflow (default:Split) to
	the Network target

2006-09-12 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Implemented headers and footers for the File target.
	CAUTION: NLog automatically writes footers for files that have not been
	written for 2 days (48 hours). This is done do conserve memory for
	long-running processes that create lots of log files.

2006-09-11 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added publisher policy generation

2006-09-07 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Enabled DatabaseTarget.ConnectionString to include
	layouts.

2006-09-04 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Build number is synchronized with SVN number (hopefully)
	* Fixed LayoutRenderer.ApplyPadding() null handling
	* First attempt at publisher policy generation

2006-09-01 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed File target for Windows 98

2006-08-25 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added examples of inheriting from Logger class and wrapping it

2006-08-24 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added infrastructure to create your own logger types inheriting from
	Logger: 

		LogManager.GetLogger(string name, Type type) and 
		LogManager.GetCurrentClassLogger(Type type)
		LogFactory.GetLogger(string name, Type type) and 
		LogFactory.GetCurrentClassLogger(Type type)

	* Added ${event-context} layout renderer that extracts information from
	LogEventInfo.Context
	* Added eventID and categoryID parameters to EventLog targets.
	* Added LogManager<LoggerType> that manages logger instances of LoggerType
	where LoggerType : Logger
	* Added missing code documentation 
	* Fixed Network target to work properly with IPV6
	* Added example ${rot13} layout renderer - that demonstrates how 
	wrapper layout renderers can be written.
	* Added support for DEFAULT nested layout parameters. You can now write:

	${file-contents:${basedir}/file.txt}
	${rot13:URYYB}

2006-08-03 Jaroslaw Kowalski <jaak@jkowalski.net>
	* MANY CHANGES TO CLEAN UP APIs AND ENSURE EXTENSIBILITY - MAY TAKE SOME TIME TO STABILIZE AGAIN

	* Added ${file-contents} layout renderer which inserts file contents.
	* Added [DefaultParameter] attribute which allows for nameless parameters
	to layout renderers:

	${aspnet-application}
	${aspnet-request}
	${aspnet-session}
	${date}
	${environment}
	${file-contents}
	${gdc}
	${mdc}
	${process-info}
	${special-folder}
	${asp-application}
	${asp-request}
	${asp-session}

	* Added ILayoutWithHeaderAndFooter.cs for layouts that support
	header/footer (such as CSV Layout, more to come)
	* The following targets have been enhanced to support headers/footers:

	Console
	ColoredConsole
	Debugger

	* Added NLogConfigurationException which is thrown instead of CLR
	exceptions when the configuration fails 
	* Simplified XmlLoggingConfiguration by splitting large methods and moving
	common functionality to PropertyHelper
	* Added Layouts/LayoutWithHeaderAndFooter.cs and
	TargetWithLayoutHeaderAndFooter.cs
	* Added MailTarget.AddNewLines to insert new lines between
	header/lines/footer
	* Added PopulateLayouts() method to ILayout
	* BREAKING CHANGE: Changed the default value of
	FileTarget.OpenFileCacheTimeout to -1
	* Added support for nested layout renderers. Used in ${file-contents}

	${file-contents:fileName=${basedir}/aaa.txt}

	This required a large rewrite of the parsing engine. Hopefully the test cases
	cover all possible situations.
	* Removed LogEventInfo.Empty and replaced with
	LogEventInfo.CreateNullEvent()
	* Added CsvLayout.WithHeader which can be used to disable CSV header.
	* Added VJSharp and Web item templates. Updated the installer to support
	VWD Express 2005.
	* Enhanced XSD Schema generation by properly generating abstract and
	layout properties.
	* Some more unit tests.

2006-07-31 Maarten Claes <m.claes@farcourier.com>
	* Changed RichTextBox Target to be thread safe. Uses delegate to log
	to RichTextBox
	* Same changes made to FormControl Target

2006-07-22 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed NLogViewer and Chainsaw targets
	* New NLog.Benchmark that uses code generation and compilation to
	create more "clean" environment.
	* Added ${gc} which can be used to get the GC statistics (very limited)
	* Added ${processinfo} which can be used to extract the performance
	information about the current process (possibly others in the future as
	well)
	* Added ${gc} which can be used to get the GC statistics (very limited)
	* Added Initialize() and Close() to the LayoutRender class
	* Added optimized CurrentTimeGetter which is way faster than DateTime.Now
	* Some small optimizations

2006-07-18 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added ImpersonatingWrapper which temporarily changes the credentials
	for the duration of the write.
	* Moved the implementation of LogManager to a reusable LogFactory while
	maintaining its public interface. You can now easily have a private
	LogManager for an assembly.

2006-07-17 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Synchronized Visual Studio solutions to source code directories. Now
	part of the build process.

2006-07-14 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added proper camelCasing to the web build process
	* Fix for multiple email addresses being passed in To,CC and BCC fields
	under .NET 2.0 (reported by Pawel Parzychowski)

2006-07-07 Jaroslaw Kowalski <jaak@jkowalski.net>
	* BREAKING CHANGE - Added NLog.ILayout which Layout implements to 
	allow other	layout types (such as CSV-escaped, HTML-colored, 
	XML-escaped, ANSI-colored) to be implemented
	NLog.Layout became sealed.
	* BREAKING CHANGE - Added NLog.TargetWithLayout, removed Layout
	and CompiledLayout from NLog.Target
	* BREAKING CHANGE - Removed CSVFile target, converted examples to File + CsvLayout
	* Added pluggable layouts (CSV, Log4JXml), LayoutFactory and
	LayoutAttribute. The syntax is:

	<target xsi:type="File">
		<layout xsi:type="CSVLayout">
			<column name="message" layout="${message}" />
			<column name="level" layout="${level}" />
		</layout>
	</target>

	Of course the old syntax is still supported for simple layouts:

	<target xsi:type="File" layout="${message}" />
	* BREAKING CHANGE - FileTarget.KeepFileOpen is back to the default
	of false. Thankfully we now have <default-target-parameters /> so this 
	can be easily overriden.

2006-07-05 Maciej Figatowski <mfigatow@sav.net>
	* Added FilterResult.IgnoreFinal and FilterResult.LogFinal
	which suppress processing of further rules if the filter
	matches.

2006-07-04 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added NLog_Init() and NLog_InitLocal() APIs to NLogC

2006-07-04 Marcin Krupinski <yoszek@gmail.com>
	* added FormControl target that logs to Text property of any
	Windows.Forms.Control
	* added RichTextBox target with row- and word coloring that 
	logs to RichTextBox

2006-06-30 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added ${tempdir} and ${specialfolder}

2006-06-29 Jaroslaw Kowalski <jaak@jkowalski.net>
	* implemented <targets><default-target-parametes /> </targets> that
	specifies default values for all targets in the section

2006-06-25 Jaroslaw Kowalski <jaak@jkowalski.net>
	* implemented <targets><default-wrapper /> </targets> that wraps all
	targets in <targets> section with the specified wrapper.

2006-06-23 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed some race conditions in the Network target
	* added NetworkTarget.Close()
	* added CSVFile target which does proper CSV formatting (multi-line and
	special character quoting)

2006-06-14 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added <include file="..." ignoreErrors="true|false" />
	* fixed autoReload to keep monitoring the file if the reloaded file
	has an error
	* added Logger.Log(LogEventInfo) overload
	* added Logger.Log(Type,LogEventInfo) overload
	* added LoggerReconfiguredDelegate and Logger.LoggerReconfigured event

2006-06-13 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added BufferedWrapper.FlushTimeout
	* Added some unit tests
	* Fixed AsyncWrapper not closing files on termination.

2006-06-11 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added FileTarget.LineEnding
	* Added some unit tests
	* Added Layout.Escape() which escapes ${ with ${literal:text=${}

2006-06-04 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed compilation, schema generationa and website building on Linux/Mono.
	* Updated version number to 1.0 (preparing for the release)
	* Optimized file appenders
	* added support for flags-type enumerations
	* Benchmark updates
	* Configurable stacktrace/separator

2006-05-31 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Grammar issues (thanks Ron)
	* Added "separator" option to the ${stacktrace} layout renderer.

2006-05-30 Inez Korczynski <korczynski@gmail.com>
	* Implementation of SOAP 1.2 and POST for WebService target.

2006-05-28 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Preliminary implementation of SOAP 1.1 for WebService target.
	* Added deleteOldFileOnStartup to the File target
	* Added replaceFileContentsOnEachWrite to the File target
	* We now have examples for 100% of targets, both
	ready-to-run VS2005 projects and configuration files.

2006-05-26 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Prepared ready-to-run example projects for VS2005 that describe
	most targets.
	* Added WebService target stub.

2006-05-25 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Implemented AsyncWrapper for .NET CF using the Timer class
	* Refactored file watching - should speed up non-logging by 100%

2006-05-20 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added support for VC#Express and VBExpress to the installer.
	* Added VS2005 C# and VB.NET code snippet (nlogger) to quickly
	insert logger creation statement
	* Added VS2005 item templates for NLog configuration. Updated the
	installer.
	* Removed some stupid Console.Write()
	* Updated MailTarget.SmtpAuthentication to be SmtpAuthenticationMode instead 
	of a string.
	

2006-05-15 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Fixed File target causing delay at exit.
	* Added generation of NLog.xsd schema for Intellisense.

2006-05-15 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Reverted to NDoc 1.3.1 running under CLR 2.0 for docgen.

2006-05-10 Jaroslaw Kowalski <jaak@jkowalski.net>

	* (hopefully) Fixed OpenFileCacheTimeout taking too much CPU

2006-05-05 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Completely rebuilt the installer.
	* Reworked the way documentation is generated. We now use NDoc 2.0 Alpha
	3k and there are still some minor issues.
	* Separate compilation of NLog for all supported frameworks
	* Cleaned up the code, now compiles with warnaserror="true"

2006-04-22 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Merged NLog.Win32.dll, NLog.DotNet.dll, NLog.Unix.dll and NLog.Mono.dll
	into one assembly NLog.dll
	* Added attributes which mark support for particular runtimes and OSes

2006-04-18 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added LayoutRenderer.IsAppDomainFixed() and an optimization to turn
	such things into literals.
	* Added LoggingConfiguration.GetConfiguredNamedTargets() API
	* BREAKING CHANGE - Completely restructured the way File target works.
	The new structure is based on Streams instead of StreamWriters and
	enables archiving (kind of similar to "rolling file appender" from log4net
	world, but supporting multiple files at a time)
	* BREAKING CHANGE - removed some properties which accepted strings. Now
	replaced with enums.
	* Added caching to File target to optimize the number file open/close
	operations
	* Added an option for multiple processes to append to the same OPEN file
	in a synchronized manner. Unixes get this   for free, but Win32 requires
	you to use mutexes to synchronize file access.
	* Enabled the use of enumerations as parameteters (including docgen)
	* Added InternalLogger.LogToConsoleError and their config file and
	environment variable counterparts
	* Refactored website generation

2006-03-27 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Updated .NET CF project file

2006-03-21 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Fixed a programmatic configuration bug where invalid value was passed
	to LoggingRule.LoggerNamePattern. 
	Thanks to danieljaysmith - at - excite - dot - com for spotting this.

2006-03-19 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Optimization to defer calling String.Format() until it's really
	needed.

2006-02-24 Rafal Gwizdala <gwrafal@poczta.onet.pl>

	* Add PerfCounter target that increases the PC value by one each
	time the message is passed to it.
	* Added FSNormalize option to ${identity} target to strip all
	characters not allowed in the file names and replace them with
	underscores.

2006-02-24 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added config-level option <targets async="true">...</targets>
	to automatically wrap all targets with AsyncWrapper

2006-02-14 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Updated license and email addresses.
	* Updated assembly version and description for 0.95 release.

2006-02-13 Yuri Mamrukov <yvm@att.net>

	* Patch to simplify InternalLogger configuration from environment
	variables and/or App.config settings. Fixes some nasty bug here.

2006-02-13 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added some docs, moving website to http://www.nlog-project.org/
	* Excluded NLogViewer from build and project.
	* Refactored LoggerImpl to allow for some extensibility in the future.

2006-01-13 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Fixed a serious reentrancy bug which caused all sorts of problems
	when formatted message included a parameter where ToString
	did the logging itself.

2005-10-26 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added ${aspnet-sessionid} to access (guess!) ASP.NET session ID

2005-10-25 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added ASPNetBufferingWrapper target which buffers and post-processes
	the entire ASP.NET request (requires you to use the NLogHttpModule)
	* Added PostFilteringWrapper target which is able to filter log events
	based on a buffer as a whole. It is possible for example to dump the
	detailed ( >= Trace level) trace of a request if there was at least 
	one >= Warn event in the buffer, but under normal conditions only output
	the >= Info levels.
	* Reworked the way the documentation is generated (we no longer use
	ugly IFRAMEs and the same method is used to generate the website and
	the docs)
	* Added a new conditions language (see conditions.html for more
	information) which let you write powerful   filtering conditions 
	while keeping the syntax natural and readable
	* Added <when condition="..." action="..." /> filter which uses condition
	expressions
	* Added examples for the MailTarget and BufferedMailTarget
	* Fixed Close() behaviour for unnamed targets (like the ones configured
	by SimpleConfigurator)
	* Added some more documentation (still some work to do before the release)
	* Fixed the example for asynchronous Tile target (async="true" is not 
	supported and is replaced by the AsyncWrapper target)

2005-10-21 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added ${processname}, ${processid} layout renderers
	* Added GDC (Global Diagnostics Context) and ${gdc} layout renderer which
	is a global (as opposed to per-thread) version of MDC and ${mdc}

2005-10-11 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Fixed a nullref exception when no config file was present.
	* Fixed support for CC field in the Mail target

2005-09-29 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Added batch NLogC compilation, added installer and nlogc binary
	snapshot.
	* Added authentication options to the Mail target (thanks Ron).

2005-09-28 Jaroslaw Kowalski <jaak@jkowalski.net>

	* Refactored NLogViewer by separating NLogViewer.Interfaces
	* Added NLogViewer.NDumbsterSmtpReceiver (by Ron Grabowski)
	* Added support for caching layout results per logEvent which
	makes them transportable across threads
	* Renamed Target.Append() method to Write() (how did I forget it?)
	* Added Target.Write(LogEvent[] manyEvents) for cases where the
	target can optimize group writes
	* Added Log4JXmlEvent.cs
	* Added Wrappers: AsyncWrapper, AutoFlushWrapper, BufferingWrapper, 
	RepeatingWrapper, RetryingWrapper
	* Some preliminary work on request buffering wrappers. 
	* Added compound targets (fallback, randomize, roundrobin, split)
    * WARNING: This requires some serious testing.

2005-09-19 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added ${windows-identity} layout renderer. Restructured the
	way extensions are loaded (ExtensionUtils).

2005-08-28 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Some work on NLogViewer

2005-08-14 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed #34: Typos in the code prevented Chainsaw target
	from working properly.
	* Added #31: MSMQ target
	* Added #30: EventLog target
	* Fixed #8: Made Performance Counter layout renderer somewhat more
	reliable and added a bit of documentation.
	* Fixed #29: Root logging level support. 
	Added <nlog globalThreshold="..." />
	* Massive website, documentation and packaging updates
	* Added SimpleConfigurator.ConfigureForTargetLogging() and
	SimpleConfigurator.ConfigureForFileLogging()

2005-08-10 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed #28: Documentation threading safety statement bug

2005-08-08 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added #27: Debugger target.
	* Fixed #26: ${callsite} not working with database parameters

2005-07-27 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Added #24: ${logger:shortname=true} option.

2005-07-23 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed #23: ${callsite} doesn't work with MethodCall target and
	NLogViewer target

2005-07-14 Jaroslaw Kowalski <jaak@jkowalski.net>
	* Fixed #22: Connection string builder omits ; after Server parameter

2005-07-11 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added an overridable FileTarget.WriteToFile method to allow for subclassing
	of File target to support encryption

2005-07-09 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed the Trace target in Release mode by defining TRACE symbol

2005-07-06 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added a new Trace level, more verbose than the Debug

2005-07-05 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed VS.NET Compact Framework project file

2005-06-28 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added support for <variable name="" value="" /> configuration element
	* added experimental PerformanceCounter layout renderer.

2005-06-25 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed the Trace target in Release mode by defining TRACE symbol

2005-06-23 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added some minimal VB.NET test code
	* added some meaningful error message when a named target is not defined.

2005-06-20 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed bugs related to ${asp-request:cookie} and ${aspnet-request:cookie} and many other small bugs

2005-06-17 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixes for case-insensitive parsing of the config files.
	* added IgnoreCase option to filters
	* added unit tests that verify case-insensitivity.
	* added many more unit tests (we have now over 70% coverage)

2005-06-16 Jaroslaw Kowalski <jaak@jkowalski.net>
	* fixed the filter configuration bug as reported by Ron Grabowski

2005-06-10 Jaroslaw Kowalski <jaak@jkowalski.net>
	* added StackTrace layout renderer, 3 different logging formats
	* added NewLine layout renderer
	* added async="true" to the "File" target to improve logging speed by
	writing messages in a separate thread and optimizing file access.
	* fixed NLogC compilation
	* refactored NLogViewer to use log4j schema instead of inventing my own
	* fixed CompactFramework build

2005-06-09 Jaroslaw Kowalski <jaak@jkowalski.net>
	* NLog v0.9 has been released.
