Repository: logging-log4j2 Updated Branches: refs/heads/master e4f77235e -> b19861cb4
Prepare for release Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b19861cb Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b19861cb Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b19861cb Branch: refs/heads/master Commit: b19861cb4d13f671fdca5a77a03833a6c92ac266 Parents: e4f7723 Author: Ralph Goers <[email protected]> Authored: Sat Jan 21 21:32:36 2017 -0700 Committer: Ralph Goers <[email protected]> Committed: Sat Jan 21 21:32:36 2017 -0700 ---------------------------------------------------------------------- RELEASE-NOTES.txt | 230 ++++++++++++++++++++------------------- pom.xml | 2 +- src/changes/announcement.vm | 8 +- src/changes/changes.xml | 2 +- 4 files changed, 121 insertions(+), 121 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b19861cb/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 13d7fda..26cc3f0 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,7 +1,7 @@ - Apache Log4j 2.7 RELEASE NOTES + Apache Log4j 2.8 RELEASE NOTES -The Apache Log4j 2 team is pleased to announce the Log4j 2.7 release! +The Apache Log4j 2 team is pleased to announce the Log4j 2.8 release! Apache Log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides @@ -10,11 +10,9 @@ property substitution using Lookups, multiple patterns on a PatternLayout and as Loggers. Another notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating temporary objects) while logging. In addition, Log4j 2 will not lose events while reconfiguring. -This release contains several bugfixes and new features. The new features include new logging API -modules for Scala 2.10 and 2.11, and support for various non-blocking queue implementations in -AsyncAppender. Furthermore the ThreadContext map can now be configured to be garbage-free, and -users can now inject context data from other sources than ThreadContext. Context data values can -be any Object, not just Strings. More details on the fixes are itemized below. +This release contains several bugfixes and new features. The new features include the ability +to have the RollingFileAppender log directly to the archive files. More details on the new features and +fixes are itemized below. Note that subsequent to the 2.6 release a minor source incompatibility was found due to the addition of new methods to the Logger interface. If you have code that does: @@ -30,121 +28,125 @@ or logger.error((Marker) null, âThis is the log messageâ, throwable); -The Log4j 2.7 API, as well as many core components, maintains binary compatibility with previous releases. +The Log4j 2.8 API, as well as many core components, maintains binary compatibility with previous releases. -GA Release 2.7 +GA Release 2.8 Changes in this version include: New features: -o LOG4J2-1578: RoutingAppender can be configured with scripts. Add Script in a Routes element. -o LOG4J2-1597: Add a ScriptAppenderSelector to create an Appender specified by a Script. -o LOG4J2-1349: (GC) Added support for garbage-free ThreadContext map. Disabled by default, users need to enable this explicitly. -o LOG4J2-1447: (GC) Changed LogEvent's internal data structure for context data to be garbage-free. Added method LogEvent#getContextData(), deprecated method #getContextMap(). -o LOG4J2-1010: Users can now inject context data from other sources than ThreadContext. Values can be any Object, not just Strings. Thanks to Mikael StÃ¥ldal. -o LOG4J2-1568: Added support for java.util.concurrent.LinkedTransferQueue to AsyncAppender. -o LOG4J2-1430: Added optional support for Conversant DisruptorBlockingQueue in AsyncAppender. Thanks to John Cairns. -o LOG4J2-1439: Added optional support for JCTools MPSC bounded lock-free queue in AsyncAppender. Thanks to Anthony Maire. -o LOG4J2-1558: SocketAppender now supports IO buffering. -o LOG4J2-1557: Add a Builder for the SocketAppender (deprecates factory method). -o LOG4J2-1609: Add a Builder to ServletAppender and deprecate factory method. -o LOG4J2-1553: AbstractManager now implements AutoCloseable. -o LOG4J2-1528: Added ability to generate Log4j 2-style XML configuration file from ConfigurationBuilder. -o LOG4J2-1181: Added Logging API for Scala 2.10 and 2.11. -o LOG4J2-1512: Added options to exclude stack trace from JSON, XML and YAML layouts. -o LOG4J2-1539: Added Core API Configurator.shutdown(LoggerContext, long, TimeUnit). -o LOG4J2-1501: FileAppender is now able to create files on-demand. -o LOG4J2-1504: RollingFileAppender is now able to create files on-demand. -o LOG4J2-1471: [PatternLayout] Add an ANSI option to %xThrowable. -o LOG4J2-1472: org.apache.logging.log4j.core.LoggerContext now implements Closeable. -o LOG4J2-1458: [PatternLayout] Add an ANSI option to %message. -o LOG4J2-1505: Create a Builder for the FileAppender plugin to facilitate adding attributes in the future. -o LOG4J2-1507: Allow Builders to be completely generic. -o LOG4J2-1508: Allow a Builder to subclass another Builder. -o LOG4J2-1516: Add ThreadContextMap2 interface supporting method putAll(Map<String, String>). Thanks to Gary Gregory. -o LOG4J2-1519: Add ThreadContext.putAll(Map<String, String>). -o LOG4J2-1520: Add JUnit Rule implementations to manage the thread context. -o LOG4J2-1547: The Core AbstractConfiguration now tracks its LoggerContext and add Configuration.getLoggerContext(). -o LOG4J2-1540: The Core AbstractManager now tracks its LoggerContext. -o LOG4J2-1577: Add a Builder to the RoutingAppender and deprecate factory method. +o LOG4J2-1032: Make DefaultRolloverStrategy more efficent when renaming files. Add nomax option to the fileIndex attribute. +o LOG4J2-1101: RollingFileAppender now supports omitting the file name and writing directly to the archive files. +o LOG4J2-1243: Allow default value in property to be a Lookup. +o LOG4J2-1787: Document how to exclude transitive conflicting dependencies in Maven and Gradle. +o LOG4J2-1773: Add StatusLoggerRule to allow unit tests to set a status level. +o LOG4J2-424: Add non-string data type support to JdbcAppender via new ColumnMapping plugin. +o LOG4J2-1771: Add a Builder to ColumnConfig and deprecate ColumnConfig.createColumnConfig(). +o LOG4J2-1770: Add a Builder to JdbcAppender and deprecate JdbcAppender.createAppender(). +o LOG4J2-1764: Use MethodHandle in ContextDataFactory cached constructor. +o LOG4J2-1730: Add Apache Cassandra appender and ColumnMapping plugin. +o LOG4J2-1759: Add TypeConverter for java.util.UUID. +o LOG4J2-1758: Add TypeConverter for java.nio.file.Path. +o LOG4J2-1755: Add TypeConverter and constraint validators for java.net.InetAddress and port numbers. +o LOG4J2-969: Refactor SyslogAppender so that Layout is a Plugin element. +o LOG4J2-1660: Added public method ThreadContext::getThreadContextMap; removed class ThreadContextAccess. +o LOG4J2-1379: Add documentation regarding YAML configuration format. +o LOG4J2-1718: Introduce marker interface AsynchronouslyFormattable. +o LOG4J2-1681: Introduce interfaces IndexedStringMap and IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map. +o LOG4J2-1695: Add a Builder to ScriptPatternSelector and deprecate ScriptPatternSelector.createSelector(). +o LOG4J2-1696: Add a Builder to MarkerPatternSelector and deprecate MarkerPatternSelector.createSelector(). +o LOG4J2-1697: Add a SerializerBuilder to PatternLayout and deprecate PatternLayout.createSerializer(). +o LOG4J2-1701: Add a Builder to RandomAccessFileAppender and deprecate RandomAccessFileAppender.createAppender(). +o LOG4J2-1703: Add a Builder to MemoryMappedFileAppender and deprecate MemoryMappedFileAppender.createAppender(). +o LOG4J2-1704: Add a Builder to RollingRandomAccessFileAppender and deprecate RollingRandomAccessFileAppender.createAppender(). +o LOG4J2-1709: Add a Builder to SyslogAppender and deprecate SyslogAppender.createAppender(). +o LOG4J2-1707: Allow TCP Socket Appender to set socket options. +o LOG4J2-1708: Allow Secure Socket Appender to set socket options. +o LOG4J2-1737: Add a Builder to SyslogLayout and deprecate SyslogLayout.createLayout(Facility, boolean, String, Charset). +o LOG4J2-1738: Add a Builder to JsonLayout and deprecate org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, boolean, boolean, boolean, boolean, boolean, boolean, String, String, Charset, boolean). +o LOG4J2-1739: Add Builder to KafkaAppender and deprecate KafkaAppender.createAppender(Layout, Filter, String, boolean, String, Property[], Configuration). +o LOG4J2-1733: Add SyncSend attribute to KafkaAppender (as in KafkaLog4jAppender). Thanks to Vincent Tieleman. Fixed Bugs: -o LOG4J2-1618: Fixed ClassCastException when using JUL logging during shutdown. Thanks to Raman Gupta. -o LOG4J2-1620: 2.7-rc1: RollingFileAppender immediateFlush default value should be true, not false. Thanks to Sascha Scholz. -o LOG4J2-1611: Improved performance of context data injector for web applications to be on par with standalone applications. -o LOG4J2-1591: Introduced new interface LifeCycle2 with stop(long,TimeUnit) method to avoid breaking backwards compatibility with new Configurator.shutdown(LoggerContext, long, TimeUnit) API. -o LOG4J2-1590: Fixed issue with filters extending AbstractFilter that did not override methods with unrolled varargs. -o LOG4J2-1583: Fixed scrambled log messages triggered by nested logging from toString() method of a logging parameter object. Thanks to Larry West. -o LOG4J2-1259: Log4j threads are no longer leaking on Tomcat shutdown. Thanks to Misagh Moayyed, Steffen Offermann. -o LOG4J2-1051: When starting on Google App Engine, Interpolator now suppresses the NoClassDefFoundError stack trace for the jvmrunargs lookup. Thanks to Lukasz Lenart. -o LOG4J2-1582: When initializing on platforms where JMX is not available, Interpolator component no longer prints stack trace for warning messages. -o LOG4J2-1581: Unregistering JMX components no longer prints a stack trace when the MBean has already been unregistered. -o LOG4J2-1313: Support Property values to be specified in configuration as a value attribute as well as an element. Thanks to Philipp Knobel, Leon Finker. -o LOG4J2-1575: (GC) LoggerConfig now stores configuration properties in a List, not a Map to prevent creating temporary Iterator objects. Added method LoggerConfig#getPropertyList(), deprecated method #getProperties(). -o LOG4J2-1457: Fixed class loader deadlock when using async logging and extended stack trace pattern. Thanks to Leon Finker. -o LOG4J2-1563: Fix to prevent Log4j 2.6.2 and higher from losing exceptions when a security manager is present. Thanks to Jason Tedor. -o LOG4J2-1530: Fixed issue where LogEvent.getContextStack() returned null. -o LOG4J2-1518: Prevent deadlock in Async Loggers when queue is full and logged Object's toString() logs another message. Thanks to Leon Finker. -o LOG4J2-1542: Prevent ArrayIndexOutOfBoundsException in ParameterizedMessage.formatTo for single-char or empty messages. Thanks to Rogério Lecarião Leite. -o LOG4J2-1549: Fixed issue where AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to includeLocation=true. Thanks to Jason Bedard. -o LOG4J2-1562: Prevent SocketAppender memory usage from growing unbounded if it cannot connect to a server. -o LOG4J2-1559: Prevent NPE in Level.isInRange. Thanks to Andrey Plotkin. -o LOG4J2-1511: DynamicThresholdFilter filtered incorrectly when params were passed as individual arguments instead of varargs. Thanks to Srikanth Surukuntu. -o LOG4J2-1548: [CronTriggeringPolicy] ConfigurationScheduler scheduled the task infinitely after first fire. -o LOG4J2-1506: Log4j should not unregister JMX MBeans when log4j2.disable.jmx property is true. Thanks to Johannes Schleger. -o LOG4J2-1490: Log4j2 should postpone creating log file until the appender actually receives an event. Thanks to Krzysztof Taborski. -o LOG4J2-1320: Support loading custom plugins from jar files and directories whose classpath entries use the "vfs" URL protocol. Thanks to Paresh Varke, Pierrick Hymbert. -o LOG4J2-1541: Fix file handle resource leak in XmlConfiguration.XmlConfiguration(ConfigurationSource). -o LOG4J2-1538: Prevent NPE when dynamically removing filters. Thanks to Igor Karpov. -o LOG4J2-1532: Attributes were not merged properly in composite configurations. -o LOG4J2-1529: Attributes were not merged properly in composite configurations. Thanks to Sridevi Narra. -o LOG4J2-1527: Prevent NPE in RingBufferLogEvent.getFormattedMessage() when used in web applications. Thanks to Jose Leon. -o LOG4J2-905: Added ability to disable (date) lookup completely for compatibility with other libraries like Camel. Thanks to Moritz Löser. -o LOG4J2-1526: Added support for setting StatusLogger destination in ConfigurationBuilder. -o LOG4J2-1448: Allow comma separated agents, host list to be passed to FlumeAppender. Thanks to Keith Laban. -o LOG4J2-1500: Merging configurations failed with an NPE when comparing Nodes with different attributes. Thanks to Jose Leon. -o LOG4J2-1482: Fixed improper header in CsvParameterLayout. Thanks to Sumit Singhal. -o LOG4J2-1199: Documented that JVM Input Arguments Lookup (JMX) is not available on Google App Engine. -o LOG4J2-1438: (GC) Added method getParameter() to ObjectMessage (and ReusableObjectMessage). -o LOG4J2-1488: (GC) Fixed ISO8601 %date conversion pattern with a period '.' separator for milliseconds is now garbage free. Thanks to Richard Zschech. -o LOG4J2-1489: (GC) Fixed %date conversion patterns with a timezone parameter are now garbage free. Thanks to Richard Zschech. -o LOG4J2-1279: Prevent NullPointerException in FastDateParser$TimeZoneStrategy. Thanks to Tony Baines. -o LOG4J2-1341: (GC) HighlightConverter and StyleConverter are now GC-free. Thanks to Richard Zschech. -o LOG4J2-1467: [OSGi] Fixed missing import package. Thanks to Ralf, Gary Gregory. -o LOG4J2-351: [OSGi] Fixed wrong Fragment-Host in manifest files. Thanks to Roland Weiglhofer. -o LOG4J2-1313: Properties declared in configuration can now have their value either in the element body or in an attribute named "value". Thanks to Philipp Knobel. -o LOG4J2-1235: org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not working correctly. Thanks to Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky. -o LOG4J2-1502: Fixed issue where CsvParameterLayout and CsvLogEventLayout inserted NUL characters if data starts with {, (, [ or " Thanks to Sumit Singhal. -o LOG4J2-1573: Layout is no longer optional. Thanks to Steffen Offermann. -o LOG4J2-1608: ServletAppender does not provide throwable object to ServletContext. -o LOG4J2-1599: Prevent potential NPE in org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder, char[], int, Object[], int, int[]). -o LOG4J2-1600: Prevent potential NPE due to org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[], String, boolean, boolean, Configuration). -o LOG4J2-1601: Prevent potential NPE due to org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript, PatternMatch[], String, boolean, boolean, Configuration). -o LOG4J2-1602: Prevent potential NPE in org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object) when object is null. -o LOG4J2-1603: Redo hashCode() and equals() methods in org.apache.logging.log4j.core.net.ssl classes. -o LOG4J2-1610: Add targetNamespace to log4j-config.xsd. GitHub #43. Thanks to Shubhankar. -o LOG4J2-1619: new Log4jLogEvent().toString() throws an NPE. +o LOG4J2-1780: Eliminate the use of the ExecutorServices in the LoggerContext. +o LOG4J2-1786: ConfigurationScheduler now preserves interrupt flag during stop. +o LOG4J2-1779: Fixed bug where AsyncLogger did not resolve configuration properties. +o LOG4J2-1769: Fixed concurrency issue affecting all layouts except PatternLayout and GelfLayout, which caused scrambled output and exceptions when logging synchronously from multiple threads. Thanks to Brandon Goodin. +o LOG4J2-1724: Using variables in GelfLayout's additional fields at runtime. Thanks to Alexander Krasnostavsky. +o LOG4J2-1762: Add Builder to GelfLayout. +o LOG4J2-1649: Insure the ConfigurationScheduler shuts down without blocking. Thanks to Georg Friedrich. +o LOG4J2-1653: CronTriggeringPolicy would use the wrong date/time when rolling over and create multiple triggering policies on reconfiguration. Thanks to Georg Friedrich. +o LOG4J2-1748: Do not use non-daemon thread pool for rollover tasks. +o LOG4J2-1628: Fixed file locking regression in FileAppender introduced in 2.6. +o LOG4J2-1744: The custom logger Generate tool no longer requires the log4j-api module on the classpath. +o LOG4J2-1731: SslSocketManager now respects connectTimeoutMillis. Thanks to Chris Ribble. +o LOG4J2-1682: Logger using LocalizedMessageFactory prints key instead of message. Thanks to Markus Waidhofer. +o LOG4J2-1720: Make GelfLayout independent of Jackson. +o LOG4J2-1719: Fixed race condition in ObjectMessage and SimpleMessage, ensuring that the log message contains the value the object has during the logging call. +o LOG4J2-1688: Fixed bug where elements of a log message parameter array were nulled out in garbage-free mode. +o LOG4J2-1692: Add putAll() method to CloseableThreadContext. Thanks to Greg Thomas. +o LOG4J2-1689: Add CleanableThreadContextMap interface supporting method removeAll(Iterable<String>). +o LOG4J2-1685: Option 'disableAnsi' in PatternLayout to unconditionally disable ANSI escape codes. Thanks to Raman Gupta. +o LOG4J2-1706: Make TimeFilter usable as global filter and as logger filter. +o LOG4J2-1722: (GC) Avoid allocating temporary objects in VariablesNotEmptyReplacementConverter. +o LOG4J2-1717: (GC) Avoid allocating temporary objects in EncodingPatternConverter. +o LOG4J2-1716: (GC) Avoid allocating temporary objects in MapPatternConverter. (Note that constructing a MapMessage is not garbage-free.) +o LOG4J2-1683: (GC) Avoid allocating temporary objects in MapMessage. +o LOG4J2-1715: (GC) Avoid allocating temporary objects in NdcPatternConverter. (Note that use of the ThreadContext stack is not garbage-free.) +o LOG4J2-1714: (GC) Avoid allocating temporary objects in AbstractStyleNameConverter. +o LOG4J2-1680: (GC) Avoid allocating temporary objects in TimeFilter. +o LOG4J2-1679: (GC) Avoid allocating temporary objects in StructuredDataFilter. +o LOG4J2-1678: (GC) Avoid allocating temporary objects in ThreadContextMapFilter. +o LOG4J2-1677: (GC) Avoid allocating temporary objects in MapFilter. +o LOG4J2-1674: (GC) Avoid allocating temporary objects in ThresholdFilter. +o LOG4J2-1673: (GC) Avoid allocating temporary objects in MarkerFilter. +o LOG4J2-1672: (GC) Avoid allocating temporary objects in LevelRangeFilter. +o LOG4J2-1671: (GC) Avoid allocating temporary objects in EqualsIgnoreCaseReplacementConverter. +o LOG4J2-1670: (GC) Avoid allocating temporary objects in EqualsReplacementConverter. +o LOG4J2-1669: (GC) Avoid allocating temporary objects in MaxLengthConverter. +o LOG4J2-1668: (GC) Avoid allocating temporary objects in MarkerPatternConverter. +o LOG4J2-1667: (GC) Avoid allocating temporary objects in SequenceNumberPatternConverter. +o LOG4J2-1666: (GC) Avoid allocating temporary objects in RelativeTimePatternConverter. +o LOG4J2-1665: (GC) Avoid allocating temporary objects in IntegerPatternConverter. +o LOG4J2-1637: Fixed problems when used in OSGi containers (IllegalAccessError, NoClassDefFoundError). +o LOG4J2-1226: Improve LogEvent serialization to handle non-serializable Messages and deserializing when required classes are missing. +o LOG4J2-1663: Ensure SortedArrayStringMap can be serialized and deserialized without errors regardless of content. +o LOG4J2-1658: Prevent NPE in ThreadContextMapFactory::createThreadContextMap when initializing Log4j with Configurator::initialize and the BasicContextSelector is used. +o LOG4J2-1645: Immutable empty StringMap. +o LOG4J2-1623: Configurable JVM shutdown hook timeout. +o LOG4J2-1712: Pick up bug fixes from Apache Commons Lang's org.apache.commons.lang3.time package. +o LOG4J2-1636: Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and sun.stderr.encoding. Thanks to Eldar Gabdullin. +o LOG4J2-1639: Fix MemoryMappedFileAppender.createAppender() Javadoc for immediateFlush. Thanks to Sridhar Gopinath. +o LOG4J2-1676: Some LogEvents may not carry a Throwable (Use Message.getThrowable() in log(Message) methods.) Thanks to Joern Huxhorn. +o LOG4J2-1723: Unwanted transitive dependency on geronimo-jms_1.1_spec causes OSGi tests to fail. Thanks to Ludovic HOCHET. +o LOG4J2-1664: Improve OSGi unit tests. Thanks to Ludovic HOCHET. +o LOG4J2-1687: NPE in ThrowableProxy when resolving stack in Java EE/OSGi environment. Thanks to Robert Christiansen. +o LOG4J2-1642: DefaultShutdownCallbackRegistry can throw a NoClassDefFoundError. Thanks to Johno Crawford. +o LOG4J2-1474: CronTriggeringPolicy raise exception and fail to rollover log file when evaluateOnStartup is true. Thanks to yin mingjun, Neon. +o LOG4J2-1734: SslSocketManagerFactory might leak Sockets when certain startup errors occur. +o LOG4J2-1736: TcpSocketManagerFactory might leak Sockets when certain startup errors occur. +o LOG4J2-1740: Add CronTriggeringPolicy programmatically leads to NPE. +o LOG4J2-1743: CompositeConfiguration does not add filters to appenderRefs. Thanks to Toby Shepheard. +o LOG4J2-1756: Adds xmlns in schema and some other tags. Thanks to shubhankar1100. Changes: -o LOG4J2-1604: Log4j2 TcpSocketServer in background. Thanks to Colin Hillman. -o LOG4J2-1574: Allow the RollingFileAppender to use default pattern layout. -o LOG4J2-1556: Custom Log4j threads now extend Log4jThread. -o LOG4J2-1605: Improve error messages for TcpSocketServer and UdpSocketServer. -o LOG4J2-1458: Updated Jackson from 2.7.5 to 2.8.0. -o LOG4J2-1494: Updated Jackson from 2.8.0 to 2.8.1. -o LOG4J2-1569: Updated Jackson from 2.8.1 to 2.8.2. -o LOG4J2-1598: Updated Jackson from 2.8.2 to 2.8.3. -o LOG4J2-1495: Updated LMAX Disruptor from 3.3.4 to 3.3.5. -o LOG4J2-1496: Updated Kafka client from 0.9.1.0 to 0.10.0.0. -o LOG4J2-1533: Updated Kafka client from 0.10.0.0 to 0.10.0.1. -o LOG4J2-1487: Updated JMS test from ActiveMQ 5.13.3 to 5.13.4. -o LOG4J2-1551: Updated JMS test from ActiveMQ 5.13.4 to 5.14.0. -o LOG4J2-1543: Removed deprecated Core API org.apache.logging.log4j.core.util.Constants.UTF_8. -o LOG4J2-1544: Removed deprecated Core API org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String). -o LOG4J2-1545: Removed deprecated Web API org.apache.logging.log4j.web.WebLookup.getServletContext(). - - -Apache Log4j 2.7 requires a minimum of Java 7 to build and run. Log4j 2.3 was the +o LOG4J2-1781: Update Conversant Disruptor from 1.2.7 to 1.2.10 +o LOG4J2-1774: Replace MockEJB dependency in unit tests with Spring Test and Mockito. +o LOG4J2-1644: Inefficient locking in AbstractLoggerAdapter. Thanks to Tim Gokcen, Pavel Sivolobtchik. +o LOG4J2-1641: Update JeroMQ from 0.3.5 to 0.3.6. +o LOG4J2-1647: Update Commons Lang from 3.4 to 3.5. +o LOG4J2-1646: Migrate to Mockito 2.x in unit tests. +o LOG4J2-1655: Update Jackson from 2.8.3 to 2.8.4. +o LOG4J2-1735: Update Jackson from 2.8.4 to 2.8.5. +o LOG4J2-1656: Update Apache Flume from 1.6.0 to 1.7.0. +o LOG4J2-1698: Update LMAX Disruptor from 3.3.5 to 3.3.6. +o LOG4J2-1700: Update Jansi from 1.13 to 1.14. +o LOG4J2-1750: Update Kafka from 0.10.0.1 to 0.10.1.1. +o LOG4J2-1751: Update liquibase-core from 3.5.1 to 3.5.3. +o LOG4J2-1302: The log4j-slf4j-impl module now declares a runtime dependency on log4j-core. While not technically required, this makes the log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates migration to Log4j 2. + + +Apache Log4j 2.8 requires a minimum of Java 7 to build and run. Log4j 2.3 was the last release that supported Java 6. Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api component, however it @@ -155,4 +157,4 @@ with log4j 1.x. For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: -http://logging.apache.org/log4j/2.x/ \ No newline at end of file +https://logging.apache.org/log4j/2.x/ \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b19861cb/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 0f9b6c6..fbcf3cb 100644 --- a/pom.xml +++ b/pom.xml @@ -185,7 +185,7 @@ <properties> <!-- make sure to update these for each release! --> <log4jParentDir>${basedir}</log4jParentDir> - <Log4jReleaseVersion>2.7</Log4jReleaseVersion> + <Log4jReleaseVersion>2.8</Log4jReleaseVersion> <Log4jReleaseManager>Ralph Goers</Log4jReleaseManager> <Log4jReleaseKey>B3D8E1BA</Log4jReleaseKey> <!-- <Log4jReleaseManager>Matt Sicker</Log4jReleaseManager> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b19861cb/src/changes/announcement.vm ---------------------------------------------------------------------- diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm index f7de210..16360d4 100644 --- a/src/changes/announcement.vm +++ b/src/changes/announcement.vm @@ -28,11 +28,9 @@ property substitution using Lookups, multiple patterns on a PatternLayout and as Loggers. Another notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating temporary objects) while logging. In addition, Log4j 2 will not lose events while reconfiguring. -This release contains several bugfixes and new features. The new features include new logging API -modules for Scala 2.10 and 2.11, and support for various non-blocking queue implementations in -AsyncAppender. Furthermore the ThreadContext map can now be configured to be garbage-free, and -users can now inject context data from other sources than ThreadContext. Context data values can -be any Object, not just Strings. More details on the fixes are itemized below. +This release contains several bugfixes and new features. The new features include the ability +to have the RollingFileAppender log directly to the archive files. More details on the new features and +fixes are itemized below. Note that subsequent to the 2.6 release a minor source incompatibility was found due to the addition of new methods to the Logger interface. If you have code that does: http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b19861cb/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index fe22595..1259160 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -23,7 +23,7 @@ <title>Changes</title> </properties> <body> - <release version="2.8" date="2017-MM-DD" description="GA Release 2.8"> + <release version="2.8" date="2017-01-21" description="GA Release 2.8"> <action issue="LOG4J2-1780" dev="mikes" type="fix"> Eliminate the use of the ExecutorServices in the LoggerContext. </action>
