Hi, the Apache log4net team is pleased to announce the 3.0.0 release. For further information (support, download, etc.) see - https://logging.apache.org/log4net/release/release-notes.html - https://github.com/apache/logging-log4net/releases/tag/rel%2F3.0.0 - https://www.nuget.org/packages/log4net/3.0.0
== Release Notes Apache log4net 3.0.0 addresses the following issues: ## Breaking Changes ### Framework Support **Attention:** Starting with 3.0.0 we only support the following target frameworks - net462 - netstandard2.0 The reasoning for this change can be found in #111 ### Deleted obsolete API (#125) - obsolete since 1.2.14 - 2015 - `log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData` and `log4net.Appender.MemoryAppender.OnlyFixPartialEventData` (you will need to change your config files from `onlyFixPartialEventData value="true"` to `fix value="Partial"`) - `log4net.Appender.ColoredConsoleAppender.ctor(ILayout)` - `log4net.Appender.ColoredConsoleAppender.ctor(ILayout, bool)` - `log4net.Appender.ConsoleAppender.ctor(ILayout)` - `log4net.Appender.ConsoleAppender.ctor(ILayout, bool)` - `log4net.Appender.DebugAppender.ctor(ILayout)` - `log4net.Appender.EventLogAppender.ctor(ILayout)` - `log4net.Appender.FileAppender.ctor(ILayout, string)` - `log4net.Appender.FileAppender.ctor(ILayout, string, bool)` - `log4net.Appender.SmtpAppender.LocationInfo` - `log4net.Appender.TextWriterAppender.ctor(ILayout, Stream)` - `log4net.Appender.TextWriterAppender.ctor(ILayout, TextWriter)` - `log4net.Appender.TraceAppender.ctor(ILayout)` - `log4net.Config.DOMConfigurator` - `log4net.Config.AliasDomainAttribute` - `log4net.Config.DomainAttribute` - `log4net.Config.DOMConfiguratorAttribute` - `log4net.Core.LoggerManager.GetLoggerRepository` - `log4net.Core.LoggerManager.CreateDomain` - `log4net.Core.LoggingEventData.TimeStamp` - `log4net.Core.LoggingEvent.GetExceptionStrRep` - `log4net.Core.LoggingEvent.FixVolatileData` - `log4net.LogManager.GetLoggerRepository` - `log4net.LogManager.CreateDomain` - obsolete since 2.0.6 - 2016 - `log4net.Util.SystemInfo.ProcessStartTime` ### Other changes - dropped `log4net.Appender.RemotingAppender` (see #154 - Remove RemotingAppender) - dropped `log4net.Appender.NetSendAppender` (see #158 - NetSendAppender removed) - dropped support for legacy serialization for .netstandard (see #174 and #175) - `log4net.Config.AliasRepositoryAttribute` is now sealed (#124) - `log4net.Config.RepositoryAttribute` is now sealed (#124) - `log4net.Config.XmlConfiguratorAttribute` is now sealed (#124) - interface `log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator` is now obsolete and must be replaced by `IEnumerator<IAppender>` (#124) - `log4net.Appender.MemoryAppender.m_eventsList` (protected field) was changed from `ArrayList` to `List<LoggingEvent>` (#124) - for getting `m_eventsList.SyncRoot` you need to cast it: `((ICollection)m_eventsList).SyncRoot` - `log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning` is now internal (see #157) ## Bugs - Regression: Creating nested loggers in reverse order fails in 3.0.0-preview.1 (#156 by @FreeAndNil) - System.NullReferenceException when comparing with a null Level (#169 by @FreeAndNil) - ColoredConsoleAppender writes UTF-8 preamble to the console on initialization (#168 reported by @RoboBurned, fixed by @FreeAndNil) ## Enhancements - #111 (by @fluffynuts and @freeandnil) - #124 (by @erikmav) - #125 (by @erikmav) - #127 (by @freeandnil) - #109 (by @mobilebilly) ## New Contributors * @DanAtkinson made their first contribution in https://github.com/apache/logging-log4net/pull/133 * @mobilebilly made their first contribution in https://github.com/apache/logging-log4net/pull/164 A big thanks to @erikmav for the hard work regarding nullable annotations and moving to generic collections. **Full Changelog**: https://github.com/apache/logging-log4net/compare/rel/2.0.17...rel/3.0.0 **Nuget**: https://www.nuget.org/packages/log4net/3.0.0