Fixed FileAppender's prudent mode so that it properly recovers from IO Errors (LOGBACK-1046)
Irrelevant or internal stack trace lines can now be omitted.(LOGBACK-540).
AccessEvent now creates a copy of request attributes when its prepareForDeferredProcessing() method is called. (LOGBACK-1033)
All threads opened by ch.qos.logback.core.util.ExecutorServiceUtil#THREAD_FACTORY are now daemons, which fixes an application hang on shutdown when LoggerContext#stop() is not called (LOGBACK-929).
Fixed an issue with RollingFileAppender where the first rollover file could be unintentionally deleted, depending on the specified filename pattern (LOGBACK-894).
Fixed an issue with TeeHttpServletResponse where the system default encoding would be used instead of the response encoding when constructing a new writer (LOGBACK-1023).
Fixed ConfigurationDelegate.groovy to allow any appender that implements AppenderAttachable, which supports third-party appenders, such as reactor-logback's AsyncAppender (LOGBACK-1008)
Added support for specifying the callstack depth range in the PatternLayout. For example, %caller{1..2} displays the first two calls in the callstack.
Added HTTP request method to MDCInsertingServletFilter.
Fixed time-zone dependent code in RollingCalendarTest. (LOGBACK-116)
Simplified connection logic of SocketApender to reduce multi-threading overhead and unnecessary instantiation of SocketConnector objects.
Fixed race condition in SMTPAppenderBase causing missing or duplicate emails. (LOGBACK-909)
Fixed an issue with FileAppender in prudent mode, where an interrupt could prevent further access to the file (LOGBACK-875).
Fixed IllegalStateException when multiple threads write files to same directory (LOGBACK-128).
Changed queue consumption strategy in AbstractSocketAppender from "take" to "peek/remove" in order to avoid losing an event on each socket connection break. Zero is now a deprecated queue size. A queue size of one should be taken instead to indicate synchronous processing. (LOGBACK-977)
RequestLogImpl now has an overridable configure method to allow extending implementations to configure it via methods other than the logback-access.xml file.
Fixed a bug in AccessEvent which could cause any AsyncAppender based appender to corrupt the request headers, request parameters, or response headers, before logging.
SQL scripts to setup your logback database are now provided as JAR resources (LOGBACK-948).
Threads created internally by logback are now named logback-n, where n is an integer. For the first thread n is set to 1, for each successive thread n is incremented by 1.
Added max runtime parameter to AsyncAppender to allow the appender to flush events, up to a maximum delay, during a stop of the LoggerContext. This can be used to ensure that all queued events are flushed.
Added new configuration element shutdownHook to allow the user to specify a ShutdownHook implementation that will stop the Logback context upon JVM exit.
BasicStatusManager now prevents adding more than one instance of OnConsoleStatusListener as a status listener. This fixes LOGBACK-976.
TimeBasedRollingPolicy now accepts a time zone in its %d conversion pattern. (LOGBACK-611)
It is now possible to configure the character encoding used by SyslogAppender to encode messages using the setCharset() method. This fixes LOGBACK-732