-1 While strictly speaking we don't guarantee binary compatibility in non-API modules, we should try not to break things, and that seems quite a lot of usages. I would feel more comfortable fixing this before we roll out 2.11.2.
On Tue, Feb 5, 2019 at 2:08 AM Carter Kozak <[email protected]> wrote: > A few hits show up on public github that will break if we don't fix > WriterAppender.newBuilder for 2.11.2: > > https://github.com/search?l=Java&q=WriterAppender.newBuilder%28%29&type=Code > > On Mon, Feb 4, 2019 at 10:24 AM Carter Kozak <[email protected]> wrote: > > > > That is correct, the builder had no usages inside of our codebase, > > which would have caused the compiler to catch the break. > > > > On Mon, Feb 4, 2019 at 10:12 AM Ralph Goers <[email protected]> > wrote: > > > > > > OK. That makes more sense. So that would mean the code in question > didn’t have any unit tests directed at it? > > > > > > Ralph > > > > > > > On Feb 4, 2019, at 7:53 AM, Carter Kozak <[email protected]> wrote: > > > > > > > > Sorry, I think part of a commit that modified WriterAppender never > > > > made it to the master branch. > > > > I've provided a PR against release-2.x: > > > > https://github.com/apache/logging-log4j2/pull/255/files > > > > > > > > The issue is that we cannot use WriterAppender.newBuilder() fluently > > > > with methods defined on AbstractAppender.Builder because this commit > > > > migrated fields without updating the WriterAppender.newBuilder() > > > > implementation: > > > > > https://github.com/apache/logging-log4j2/commit/61b77dfb6ec5f69117f7892ccb940e34b5223954#diff-54bfdf411224aeea892379ecd25a13b9L40 > > > > > > > > On Mon, Feb 4, 2019 at 9:27 AM Ralph Goers < > [email protected]> wrote: > > > >> > > > >> I’m a little confused. When I look at the source for release-2.x it > already looks just like what you changed it to. In looking at your link > below, it is a PR against master. Are you sure you are comparing the > correct branch? > > > >> > > > >> Ralph > > > >> > > > >>> On Feb 4, 2019, at 5:00 AM, Carter Kozak <[email protected]> > wrote: > > > >>> > > > >>> I've discovered a regression between 2.11.1 and 2.11.2-rc1 which > > > >>> breaks compilation for consumers of WriterAppender.Builder, > > > >>> illustrated here: > https://github.com/apache/logging-log4j2/pull/254 > > > >>> I can take a closer look into the cause this afternoon. > > > >>> > > > >>> > > > >>> On Sun, Feb 3, 2019 at 7:43 PM Carter Kozak <[email protected]> > wrote: > > > >>>> > > > >>>> Oof "uses a more faster method" in the LOG4J2-2391 note. I think I > > > >>>> messed up an edit between "more performant" and "faster". > Probably not > > > >>>> worth rebuilding for just the release note. > > > >>>> > > > >>>> I've run tests on a few projects I maintain, results are passing > so > > > >>>> far. I'll have a few more sets of results in the morning. > > > >>>> > > > >>>> On Sun, Feb 3, 2019 at 7:05 PM Ralph Goers < > [email protected]> wrote: > > > >>>>> > > > >>>>> This is a vote to release Log4j 2.11.2, 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-2496: JDBC Appender should reconnect to the > database when a connection goes stale. > > > >>>>> • LOG4J2-2505: Let JDBC PoolingDriverConnectionSource with > Apache Commons DBCP configure a PoolableConnectionFactory. > > > >>>>> • LOG4J2-2509: Allow a JDBC Appender to truncate strings > to match a table's metadata column length limit. > > > >>>>> • LOG4J2-1246: PatternLayout %date conversion pattern > should render time zone designator for ISO-ISO8601. > > > >>>>> Fixed Bugs > > > >>>>> > > > >>>>> • LOG4J2-2543: Add Log4j-to-SLF4J to BOM pom.xml. Thanks > to Dermot Hardy. > > > >>>>> • LOG4J2-2061: Use the file pattern as the FileManager > "name" when no filename is present. > > > >>>>> • LOG4J2-2009: Expose LoggerContext.setConfiguration as a > public method. > > > >>>>> • LOG4J2-2542: CronTriggeringPolicy was not rolling > properly, especially when used with the SizeBasedTriggeringPolicy. > > > >>>>> • LOG4J2-2266: Load PropertySources from any accessible > ClassLoader. Hide any exceptions that may occur accessing a PropertySource. > > > >>>>> • LOG4J2-1570: Logging with a lambda expression with a > method call that also logs would cause logs within method call to reference > line num and method name of the parent method. > > > >>>>> • LOG4J2-2485: SizeBasedTriggeringPolicy was not honored > when using the DirectWriteRolloverStrategy if the machine restarts. Thanks > to Giovanni Matteo Fumarola. > > > >>>>> • LOG4J2-1906: Direct write was creating files with the > wrong date/time. > > > >>>>> • LOG4J2-2453: Add Log4j-slf4j18-impl dependency to bom > pom. Thanks to theit. > > > >>>>> • LOG4J2-2515: Configuration documentation referenced > incorrect method name. Thanks to MakarovS. > > > >>>>> • LOG4J2-2514: Make Strings.toRootUpperCase a static > method so it can be accessed. Thanks to smilebrian0515. > > > >>>>> • LOG4J2-1571: Fixed Appenders section in Extending Log4j. > Thanks to torbenmoeller. > > > >>>>> • LOG4J2-2397: Predeployment of PersistenceUnit that using > Log4j as session logger failed (#198). Thanks to EckelDong. > > > >>>>> • LOG4J2-2365: NameAbbreviator correctly abbreviates first > fragments (#188). Thanks to Eugene Zimichev. > > > >>>>> • LOG4J2-2201: Fix memory leak in > ReusableParameterizedMessage. > > > >>>>> • LOG4J2-2363: ReusableObjectMessage parameter is properly > passed to appenders (#203). Thanks to Brian Laub. > > > >>>>> • LOG4J2-2418: NullPointerException when closing never > used RollingRandomAccessFileAppender. Thanks to Jonas Rutishauser. > > > >>>>> • LOG4J2-2422: Handle some unchecked exceptions while > loading plugins. Thanks to rswart, Gary Gregory. > > > >>>>> • LOG4J2-2441: Setting a null ErrorHandler on > AbstractAppender is not allowed and will no-op as expected. > > > >>>>> • LOG4J2-2444: ErrorHandler is invoked with a LogEvent and > Throwable when possible, where previously only a string was used. > > > >>>>> • LOG4J2-2413: Exceptions are added to all columns when a > JDBC Appender's ColumnMapping uses a Pattern. Thanks to Andres Luuk, Gary > Gregory. > > > >>>>> • LOG4J2-2466: ColumnMapping literal not working. Thanks > to Paolo Bonanomi, Gary Gregory. > > > >>>>> • LOG4J2-2478: AbstractStringLayoutStringEncodingBenchmark > returns the computed variables on each benchmark to avoid DCE. Thanks to > Diego Elias Costa. > > > >>>>> • LOG4J2-2134: StackOverflowError at > AwaitCompletionReliabilityStrategy. Thanks to David del Amo Mateos, Gary > Gregory. > > > >>>>> • LOG4J2-2481: Avoid NullPointerExceptions in > org.apache.logging.log4j.core.config.AbstractConfiguration for null > arguments. > > > >>>>> • LOG4J2-2457: RollingRandomAccessFileManager ignores new > file patterns from programmatic reconfiguration. Thanks to Heiko Schwanke, > Gary Gregory. > > > >>>>> • LOG4J2-2482: BasicContextSelector cannot be used in a > OSGI application. Thanks to Rob Gansevles. > > > >>>>> • LOG4J2-2476: org.apache.log4j.SimpleLayout and > ConsoleAppender missing in log4j-1.2-api. Thanks to Al Bundy. > > > >>>>> • LOG4J2-2497: JmsAppender reconnectIntervalMillis cannot > be set from a configuration file. > > > >>>>> • LOG4J2-2499: JMS Appender may throw a > NullPointerException when JMS is not up while the Appender is starting. > > > >>>>> • LOG4J2-2508: JDBC Appender fails when using both > parameter, source, and literal ColumnMapping elements. > > > >>>>> • LOG4J2-2527: Prevent ConcurrentModificationException > while iterating over ListAppender events. > > > >>>>> • LOG4J2-2522: Fix regression using > MapMessageLookup.lookup with MapMessages that do not implement > StringMapMessage. Thanks to Adam Lesiak. > > > >>>>> • LOG4J2-2530: Generalize checks using MapMessage > implementations with do not extend StringMapMessage. Introduce new > JAVA_UNQUOTED MapMessage format type based on the JAVA formatting, but > without quoted values. Thanks to Travis Spencer. > > > >>>>> • LOG4J2-2533: Fix a regression introduced by LOG4J2-2301 > in 2.11.1 allowing allocation to occur in AsyncLoggerConfig. Thanks to > Michail Prusakov. > > > >>>>> Changes > > > >>>>> > > > >>>>> • LOG4J2-1576: Switch from CLIRR to RevAPI for detecting > API changes. > > > >>>>> • LOG4J2-2391: Improve exception logging performance. > ThrowableProxy construction uses a more faster method to discover the > current stack trace. ThrowablePatternConverter and > ExtendedThrowablePatternConverter default configurations no longer allocate > an additional buffer for stack trace contents. > > > >>>>> • LOG4J2-2447: Let the NullAppender default its name to > "null". > > > >>>>> • LOG4J2-2468: Update Jackson from 2.9.6 to 2.9.7. > > > >>>>> • LOG4J2-2469: Update Apache Commons Compress from 1.17 to > 1.18. > > > >>>>> • LOG4J2-2470: Update Apache Commons CSV from 1.5 to 1.6. > > > >>>>> • LOG4J2-2471: Update javax.mail from 1.6.1 to 1.6.2. > > > >>>>> • LOG4J2-2472: Update mongo-java-driver 3 from 3.8.0 to > 3.8.2. > > > >>>>> • LOG4J2-2489: JDBC Appender should release parameter > resources ASAP. > > > >>>>> • LOG4J2-2491: Allow all Appenders to optionally carry a > Property array. > > > >>>>> • LOG4J2-2405: Better handling of %highlight pattern when > using jul-bridge. Thanks to Marco Herrn. > > > >>>>> • LOG4J2-2503: Update MongoDB driver from 3.8.2 to 3.9.0 > for log4j-mongodb3 module. > > > >>>>> > > > >>>>> Tag: > > > >>>>> a) for a new copy do "git clone > https://github.com/apache/logging-log4j2.git" and then "git checkout > tags/log4j-2.11.2-rc1” > > > >>>>> b) for an existing working copy to “git pull” and then “git > checkout tags/log4j-2.11.2-rc1” > > > >>>>> > > > >>>>> Web Site: http://rgoers.github.io/log4j2-site/index.html. > > > >>>>> > > > >>>>> Maven Artifacts: > https://repository.apache.org/content/repositories/orgapachelogging-1042/ > > > >>>>> > > > >>>>> 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-1042/org/apache/logging/log4j/ > > > >>>>> > > > >>>>> Ralph > > > >>> > > > >> > > > >> > > > > > > > > > > >
