As long as we fix the release notes contents manually in the announcement email, these are not showstoppers, are they?

On Thu, Jul 31, 2014 at 12:23 AM, Ralph Goers <> wrote:
I told you the wiki release page needed a few updates :-).

The release notes are what are used to send the release announcement. So when the announcement email is sent out the changes noted below need to be made to it.  The wiki needs to be updated to say that announcement.vm needs to be reviewed and updated appropriately.

I think this was pointed out when Nick did the release.  It is a bit of a PITA to have to update that for every release and keeping track of who signed which release is going to be a problem. I think the ASF is looking into a more generic code signing solution - or at least I think I recall reading about that.


On Jul 30, 2014, at 7:57 AM, Remko Popma <> wrote:

+1 Artifacts look good, site looks good.

Minor issues found (no showstoppers IMO):

"This is the first GA release, after thirteen prior releases over the last 4 years.


Changes in this release..."

-> Should be "...the second GA release..."
-> The question mark "?" should probably be "Bug fixes and enhancements"

Download page: "Apache Log4j 2 is signed by Ralph Goers B3D8E1BA"
-> Is this correct for 2.0.1?

Project Info > Dependency Convergence: logj2-perf uses disruptor-3.2.1, but log4j-core uses disruptor-3.3.0.
(Not an issue since log4j-perf is not a distribution artifact.)

Javadoc: many package docs mention "Log4j 2.0". E.g.
Sometime in the future we will release version 2.1, 2.2, etc.
Should we update all Javadoc pages to "Log4j 2" to future-proof them?

Similarly, the FAQ page mentions "the Log4j 2.0 implementation" and "the Log4j 2.0 API".
We should probably change this to "the Log4j 2 implementation" and "the Log4j 2 API".

Manual > Introduction (index.html)
"The latest log4j version, including full-source code, class files and 
 documentation can be found at"
-> We should change that link to
   (It looks like 2.0 and 2.x both work as URLs.)

Manual > Log4j 1.x Migration also has a few mentions of "2.0".
Manual > Configuration page has one mention of "2.0".
Manual > JMX has six places where log4j-api-2.0.jar etc are mentioned. 
-> Can we make these variables to they change with the ${project.version}?
Manual > Custom Log Levels has two places where log4j-core.2.0.jar is mentioned.
-> Can we make these variables to they change with the ${project.version}?

Manual > Layouts > PatternLayout, %d pattern examples:
%d{HH:mm:ss}{GMT+0} 18:34:02,781 <- this does not look right? The result has millis instead of timezone...

Manual > Architecture > LoggerConfig > Log Levels: (we may want to rewrite the text below)
The set of possible levels includes TRACE, DEBUG, INFO, WARN, ERROR, and FATAL.
Note that in Log4j 2, the Level is an Enum and cannot be sub-classed.
Users who desire more granularity are encouraged to use Markers instead.

Manual > Extending Log4j > ContextSelector: missing AsyncLoggerContextSelector

On Wed, Jul 30, 2014 at 10:33 AM, Matt Sicker <> wrote:
This is a vote to release Log4j 2.0.1, the first bug fix release of the 2.0 branch of Log4j 2.

Please test and cast your votes.
[] +1, release the artifacts
[] -1, don't release because...

The vote will remain open for 72 hours (or more if required). Note that binding votes, as usual, are done by PMC members. Non-binding votes are welcome from anyone and are always welcome.

This is my first time acting as an RM, so if there are any issues with this, please let me know as soon as possible! If you don't already have my GPG key, it's key ID FA1C814D which is available on all the public GPG servers. Otherwise, you can download it from my Apache site at: <>

New features:
o LOG4J2-725:  Added WebLoggerContextUtils class to log4j-web for helper methods useful for asynchronous servlets. 
o LOG4J2-710:  Added documentation for Custom Levels and Custom Loggers. 

Fixed Bugs:
o LOG4J2-744:  Avoid unnecessary Clock calls when TimestampMessage is logged. Thanks to Scott Harrington. 
o LOG4J2-704:  Improved error message if configuration file not found. 
o LOG4J2-750:  Webapp configuration page has incorrect class name. Thanks to Mike Calmus. 
o LOG4J2-749:  Retain the default date pattern after fixing the ISO8601 pattern. Thanks to Scott Harrington. 
o LOG4J2-670:  DatePatternConverter ISO8601_PATTERN now conforms to ISO8601. 
o LOG4J2-741:  Reinstate the package configuration attribute for discovering custom plugins. 
o LOG4J2-742:  XInclude not working with relative path. Thanks to Pascal Chollet. 
o LOG4J2-740:  Fixed typo in webapp manual regarding sample web.xml file. Thanks to Kosta Krauth. 
o LOG4J2-738:  RollingFileManager deadlock if async action thread fails to start. Thanks to Timothy Stack. 
o LOG4J2-736:  Fixed log4j-bom so that it won't specify a default scope on any third party dependencies. 
o LOG4J2-735:  Fixed log4j-bom so that it won't interfere with spring-bom and others. 
o LOG4J2-731:  Updated documentation regarding extensions to LoggerContextFactory and Log4j 2 providers. 
o LOG4J2-373:  Fixed ClassLoader issues in loading Log4j providers in an OSGi environment. 
o LOG4J2-719:  Correctly handle NetworkOnMainThreadException thrown on Android during Log4j2 initialization. 
o LOG4J2-716:  Automatically disable log4j JMX when detecting we are running on Android. 
o LOG4J2-657:  Fixed AbstractDatabaseManager to close connection on writeInternal error. Thanks to Stefan Wehner. 
o LOG4J2-713:  Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer Thanks to Nelson Melina. 
o LOG4J2-703:  Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup. Thanks to Nelson Melina. 

SVN revision: 1614534


You may download all the artifacts by executing:

wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate

Matt Sicker <>