+1 Build good, sigs good, etc. Still has an issue running the Cassandra integration test on my machine, but not a blocker.
Environment info: Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: /opt/homebrew/Cellar/maven/3.8.4/libexec Java version: 1.8.0_312, vendor: Azul Systems, Inc., runtime: /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "12.0.1", arch: "aarch64", family: “mac" Java version: 11.0.12, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "12.0.1", arch: "aarch64", family: “mac" > On Dec 9, 2021, at 12:43, Ralph Goers <[email protected]> wrote: > > This is a vote to release Log4j 2.15.0, the next version of the Log4j 2 > project. > > Please download, test, and cast your votes on the log4j developers list. > [] +1, release the artifacts > [] -1, don't release because... > > The vote will remain open for 72 hours (or more if required). All votes are > welcome and we encourage everyone to test the release, but only Logging PMC > votes are “officially” counted. As always, at least 3 +1 votes and more > positive than negative votes are required. > > Changes in this release include: > > New Features > > • LOG4J2-3198: Pattern layout no longer enables lookups within message > text by default for cleaner API boundaries and reduced formatting overhead. > The old 'log4j2.formatMsgNoLookups' which enabled this behavior has been > removed as well as the 'nolookups' message pattern converter option. The old > behavior can be enabled on a per-pattern basis using '%m{lookups}'. > • LOG4J2-3194: Allow fractional attributes for size attribute of > SizeBsaedTriggeringPolicy. Thanks to markuss. > • LOG4J2-2978: Add support for Jakarta EE 9 (Tomcat 10 / Jetty 11) > Thanks to Michael Seele. > • LOG4J2-3189: Improve NameAbbreviator worst-case performance. > • LOG4J2-3170: Make CRLF/HTML encoding run in O(n) worst-case time, > rather than O(n^2). Thanks to Gareth Smith. > • LOG4J2-3133: Add missing slf4j-api singleton accessors to > log4j-slf4j-impl (1.7) StaticMarkerBinder and StaticMDCBinder. This doesn't > impact behavior or correctness, but avoids throwing and catching > NoSuchMethodErrors when slf4j is initialized and avoids linkage linting > warnings. > • LOG4J2-2885: Add support for US-style date patterns and micro/nano > seconds to FixedDateTime. Thanks to Markus Spann. > • LOG4J2-3116: Add JsonTemplateLayout for Google Cloud Platform > structured logging layout. > • LOG4J2-3067: Add CounterResolver to JsonTemplateLayout. > • LOG4J2-3074: Add replacement parameter to ReadOnlyStringMapResolver. > • LOG4J2-3051: Add CaseConverterResolver to JsonTemplateLayout. > • LOG4J2-3064: Add Arbiters and SpringProfile plugin. > • LOG4J2-3056: Refactor MD5 usage for sharing sensitive information. > Thanks to Marcono1234. > • LOG4J2-3004: Add plugin support to JsonTemplateLayout. > • LOG4J2-3050: Allow AdditionalFields to be ignored if their value is > null or a zero-length String. > • LOG4J2-3049: Allow MapMessage and ThreadContext attributes to be > prefixed. > • LOG4J2=3048: Add improved MapMessge support to GelfLayout. > • LOG4J2-3044: Add RepeatPatternConverter. > • LOG4J2-2940: Context selectors are aware of their dependence upon the > callers ClassLoader, allowing basic context selectors to avoid the > unnecessary overhead of walking the stack to determine the caller's > ClassLoader. > • LOG4J2-2940: Add BasicAsyncLoggerContextSelector equivalent to > AsyncLoggerContextSelector for applications with a single LoggerContext. This > selector avoids classloader lookup overhead incurred by the existing > AsyncLoggerContextSelector. > • LOG4J2-3041: Allow a PatternSelector to be specified on GelfLayout. > • LOG4J2-3141: Avoid ThreadLocal overhead in RandomAccessFileAppender, > RollingRandomAccessFileManager, and MemoryMappedFileManager due to the unused > setEndOfBatch and isEndOfBatch methods. The methods on LogEvent are preferred. > • LOG4J2-3144: Prefer string.getBytes(Charset) over > string.getBytes(String) based on performance improvements in modern Java > releases. > • LOG4J2-3171: Improve PatternLayout performance by reducing > unnecessary indirection and branching. > > Fixed Bugs > > • LOG4J2-3201: Limit the protocols JNDI can use by default. Limit the > servers and classes that can be accessed via LDAP. > • LOG4J2-3114: Enable immediate flush on RollingFileAppender when > buffered i/o is not enabled. Thanks to Barnabas Bodnar. > • LOG4J2-3168: Fix bug when file names contain regex characters. Thanks > to Benjamin Wöster. > • LOG4J2-3110: Fix the number of {}-placeholders in the string literal > argument does not match the number of other arguments to the logging call. > Thanks to Arturo Bernal. > • LOG4J2-3060: Fix thread-safety issues in DefaultErrorHandler. Thanks > to Nikita Mikhailov. > • LOG4J2-3185: Fix thread-safety issues in DefaultErrorHandler. Thanks > to mzbonnt. > • LOG4J2-3183: Avoid using MutableInstant of the event as a cache key > in JsonTemplateLayout. > • LOG4J2-2829: SocketAppender should propagate failures when > reconnection fails. > • LOG4J2-3172: Buffer immutable log events in the SmtpManager. Thanks > to Barry Fleming. > • LOG4J2-3175: Avoid KafkaManager override when topics differ. Thanks > to wuqian0808. > • LOG4J2-3160: Fix documentation on how to toggle log4j2.debug system > property. Thanks to Lars Bohl. > • LOG4J2-3159: Fixed an unlikely race condition in > Log4jMarker.getParents() volatile access. > • LOG4J2-3153: DatePatternConverter performance is not impacted by > microsecond-precision clocks when such precision isn't required. > • LOG4J2-2808: LoggerContext skips resolving localhost when hostName is > configured. Thanks to Asapha Halifa. > • LOG4J2-3150: RandomAccessFile appender uses the correct default > buffer size of 256 kB rather than the default appender buffer size of 8 kB. > • LOG4J2-3142: log4j-1.2-api implements LogEventAdapter.getTimestamp() > based on the original event timestamp instead of returning zero. Thanks to > John Meikle. > • LOG4J2-3083: log4j-slf4j-impl and log4j-slf4j18-impl correctly detect > the calling class using both LoggerFactory.getLogger methods as well as > LoggerFactory.getILoggerFactory().getLogger. > • LOG4J2-2816: Handle Disruptor event translation exceptions. Thanks to > Jacob Shields. > • LOG4J2-3121: log4j2 config modified at run-time may trigger > incomplete MBean re-initialization due to InstanceAlreadyExistsException. > Thanks to Markus Spann. > • LOG4J2-3107: SmtpManager.createManagerName ignores port. Thanks to > Markus Spann. > • LOG4J2-3080: Use SimpleMessage in Log4j 1 Category whenever possible. > • LOG4J2-3102: Fix a regression in 2.14.1 which allowed the > AsyncAppender background thread to keep the JVM alive because the daemon flag > was not set. > • LOG4J2-3103: Fix race condition which can result in > ConcurrentModificationException on context.stop. Thanks to Mike Glazer. > • LOG4J2-3092: Fix JsonWriter memory leaks due to retained excessive > buffer growth. Thanks to xmh51. > • LOG4J2-3089: Fix sporadic JsonTemplateLayoutNullEventDelimiterTest > failures on Windows. Thanks to Tim Perry. > • LOG4J2-3075: Fix formatting of nanoseconds in JsonTemplateLayout. > • LOG4J2-3087: Fix race in JsonTemplateLayout where a timestamp could > end up unquoted. Thanks to Anton Klarén. > • LOG4J2-3070: Ensure EncodingPatternConverter#handlesThrowable is > implemented. Thanks to Romain Manni-Bucau. > • LOG4J2-3054: BasicContextSelector hasContext and shutdown take the > default context into account > • LOG4J2-2940: Slf4j implementations walk the stack at most once rather > than twice to determine the caller's class loader. > • LOG4J2-2965: Fixed a deadlock between the AsyncLoggerContextSelector > and java.util.logging.LogManager by updating Disruptor to 3.4.4. > • LOG4J2-3095: Category.setLevel should accept null value. Thanks to > Kenny MacLeod, Gary Gregory. > • LOG4J2-3174: Wrong subject on mail when it depends on the LogEvent > Thanks to romainmoreau. > > Changes > > • : Update Spring framework to 5.3.13, Spring Boot to 2.5.7, and Spring > Cloud to 2020.0.4. > > • LOG4J2-2025: Provide support for overriding the Tomcat Log class in > Tomcat 8.5+. > > • : Updated dependencies. > > - com.fasterxml.jackson.core:jackson-annotations ................. 2.12.2 -> > 2.12.4 > - com.fasterxml.jackson.core:jackson-core ........................ 2.12.2 -> > 2.12.4 > - com.fasterxml.jackson.core:jackson-databind .................... 2.12.2 -> > 2.12.4 > - com.fasterxml.jackson.dataformat:jackson-dataformat-xml ........ 2.12.2 -> > 2.12.4 > - com.fasterxml.jackson.dataformat:jackson-dataformat-yaml ....... 2.12.2 -> > 2.12.4 > - com.fasterxml.jackson.module:jackson-module-jaxb-annotations ... 2.12.2 -> > 2.12.4 > - com.fasterxml.woodstox:woodstox-core ........................... 6.2.4 -> > 6.2.6 > - commons-io:commons-io .......................................... 2.8.0 -> > 2.11.0 > - net.javacrumbs.json-unit:json-unit ............................. 2.24.0 -> > 2.25.0 > - net.javacrumbs.json-unit:json-unit ............................. 2.25.0 -> > 2.27.0 > - org.apache.activemq:activemq-broker ............................ 5.16.1 -> > 5.16.2 > - org.apache.activemq:activemq-broker ............................ 5.16.2 -> > 5.16.3 > - org.apache.commons:commons-compress ............................ 1.20 -> > 1.21 > - org.apache.commons:commons-csv ................................. 1.8 -> > 1.9.0 > - org.apache.commons:commons-dbcp2 ............................... 2.8.0 -> > 2.9.0 > - org.apache.commons:commons-pool2 ............................... 2.9.0 -> > 2.11.1 > - org.apache.maven.plugins:maven-failsafe-plugin ................. 2.22.2 -> > 3.0.0-M5 > - org.apache.maven.plugins:maven-surefire-plugin ................. 2.22.2 -> > 3.0.0-M5 > - org.apache.rat:apache-rat-plugin ............................... 0.12 -> > 0.13 > - org.assertj:assertj-core ....................................... 3.19.0 -> > 3.20.2 > - org.codehaus.groovy:groovy-dateutil ............................ 3.0.7 -> > 3.0.8 > - org.codehaus.groovy:groovy-jsr223 .............................. 3.0.7 -> > 3.0.8 > - org.codehaus.plexus:plexus-utils ............................... 3.3.0 -> > 3.4.0 > - org.eclipse.persistence:javax.persistence ...................... 2.1.1 -> > 2.2.1 > - org.eclipse.persistence:org.eclipse.persistence.jpa ............ 2.6.5 -> > 2.6.9 > - org.eclipse.persistence:org.eclipse.persistence.jpa ............ 2.7.8 -> > 2.7.9 > - org.fusesource.jansi ........................................... 2.3.2 -> > 2.3.4 > - org.fusesource.jansi:jansi ..................................... 2.3.1 -> > 2.3.2 > - org.hsqldb:hsqldb .............................................. 2.5.1 -> > 2.5.2 > - org.junit.jupiter:junit-jupiter-engine ......................... 5.7.1 -> > 5.7.2 > - org.junit.jupiter:junit-jupiter-migrationsupport ............... 5.7.1 -> > 5.7.2 > - org.junit.jupiter:junit-jupiter-params ......................... 5.7.1 -> > 5.7.2 > - org.junit.vintage:junit-vintage-engine ......................... 5.7.1 -> > 5.7.2 > - org.liquibase:liquibase-core ................................... 3.5.3 -> > 3.5.5 > - org.mockito:mockito-core ....................................... 3.8.0 -> > 3.11.2 > - org.mockito:mockito-junit-jupiter .............................. 3.8.0 -> > 3.11.2 > - org.springframework:spring-aop ................................. 5.3.3 -> > 5.3.9 > - org.springframework:spring-beans ............................... 5.3.3 -> > 5.3.9 > - org.springframework:spring-context ............................. 5.3.3 -> > 5.3.9 > - org.springframework:spring-context-support ..................... 5.3.3 -> > 5.3.9 > - org.springframework:spring-core ................................ 5.3.3 -> > 5.3.9 > - org.springframework:spring-expression .......................... 5.3.3 -> > 5.3.9 > - org.springframework:spring-oxm ................................. 5.3.3 -> > 5.3.9 > - org.springframework:spring-test ................................ 5.3.3 -> > 5.3.9 > - org.springframework:spring-web ................................. 5.3.3 -> > 5.3.9 > - org.springframework:spring-webmvc .............................. 5.3.3 -> > 5.3.9 > - org.tukaani:xz ................................................. 1.8 -> 1.9 > > Tag: > a) for a new copy do "git clone > https://github.com/apache/logging-log4j2.git" and then "git checkout > tags/log4j-2.15.0-rc2” or just "git clone -b log4j-2.15.0-rc2 > https://github.com/apache/logging-log4j2.git" > b) for an existing working copy to “git pull” and then “git checkout > tags/log4j-2.15.0-rc2” > > Web Site: https://logging.staged.apache.org/log4j/2.x/index.html. > > Maven Artifacts: > https://repository.apache.org/content/repositories/orgapachelogging-1066 > > Distribution archives: https://dist.apache.org/repos/dist/dev/logging/log4j/ > > You may download all the Maven artifacts by executing: > wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate > https://repository.apache.org/content/repositories/orgapachelogging-1066/org/apache/logging/log4j/ > > Ralph
