Home | History | Annotate | Download | only in pages
      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 
      4 <html xmlns="http://www.w3.org/1999/xhtml">
      5   <head>
      6     <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
      7     <title>SLF4J News</title>
      8     <link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
      9     <link rel="stylesheet" type="text/css" href="css/prettify.css" />
     10   </head>
     11  <body onload="prettyPrint()">
     12     <script type="text/javascript">prefix='';</script>
     13     <script type="text/javascript" src="js/prettify.js"></script>
     14     
     15     <script src="templates/header.js" type="text/javascript"></script>
     16     <div id="left">
     17       <script src="templates/left.js" type="text/javascript"></script>
     18     </div>
     19     <div id="content">
     20       
     21 
     22    <h1>SLF4J News</h1>
     23 
     24    <p>Please note that you can receive SLF4J related announcements by
     25    subscribing to the <a
     26    href="http://www.qos.ch/mailman/listinfo/announce">QOS.ch
     27    announce</a> mailing list.
     28    </p>
     29 
     30    <hr noshade="noshade" size="1"/>
     31 
     32    <h3>March 26th, 2015 - Release of SLF4J 1.7.12</h3>
     33 
     34    <p>All java files have been reformatted to with the code formatter
     35    style defined in <i>codeStyle.xml</i>. This style uses 4 spaces for
     36    indentation and a maximum line width of 160.</p>
     37 
     38    <p>As SLF4J requires JDK 1.5 or later, the
     39    <code>Bundle-RequiredExecutionEnvironment</code> declaration in the
     40    various MANIFEST files have been updated to J2SE-1.5.
     41    </p>
     42 
     43    <p>Added missing Bundle-ManifestVersion attribute in the MANIFEST
     44    files in log4j-over-slf4j. The issue was raised in <a
     45    href="http://jira.qos.ch/browse/SLF4J-321">SLF4J-231</a> by Nikolas
     46    Falco who also provided the the appropriate pull request. </p>
     47 
     48    <p>Added <code>getAppender(String)</code> method in
     49    <code>Category</code> class in the log4j-over-slf4j module. This
     50    addition was requested by Ramon Gordillo in <a
     51    href="http://jira.qos.ch/browse/SLF4J-319">SLF4J-319</a>.
     52    </p>
     53 
     54    <p>Added <code>setThreshold</code> method in
     55    <code>AppenderSkeleton</code> class in the log4j-over-slf4j
     56    module. This addition was requested by Dimitrios Liapis who also
     57    provided the appropriate pull request.
     58    </p>
     59 
     60    <p>Added <code>getParent</code> method in <code>Category</code>
     61    class in the log4j-over-slf4j module. This addition was requested
     62    by Himanshu Bhardwaj in <a
     63    href="http://jira.qos.ch/browse/SLF4J-318">SLF4J-318</a>.
     64    </p>
     65 
     66    <hr noshade="noshade" size="1"/>
     67 
     68    <h3>6th of January, 2015 - Release of SLF4J 1.7.10</h3>
     69 
     70    <p>The <code>MDC.putCloseable</code> method now explicitly returns
     71    <code>MDC.MDCloseable</code> instead of the more generic
     72    <code>java.io.Closeable</code>. This in turn allows one to write
     73    try-with-resources statement without a catch clause. Many thanks to
     74    William Delanoue for proposing this change.</p>
     75 
     76    <p>The various constructors in <code>FileAppender</code> in the
     77    log4j-over-slf4j module are now public.
     78    </p>
     79 
     80    <hr noshade="noshade" size="1"/>
     81 
     82    <h3>16th of December, 2014 - Release of SLF4J 1.7.9</h3>
     83 
     84    <p class="highlight"><a href="codes.html#loggerNameMismatch">Spot
     85    incorrectly named loggers</a> by setting the
     86    <code>slf4j.detectLoggerNameMismatch</code> system property to
     87    true.</p>
     88 
     89    <p><a href="codes.html#loggerNameMismatch">Spot incorrectly named
     90    loggers</a> by setting the
     91    <code>slf4j.detectLoggerNameMismatch</code> system property to
     92    true.  This significant feature was contributed by Alexander
     93    Dorokhine.</p>
     94 
     95    <p>Added <code>MDC.putCloseable</code> method so that it can be
     96    used as a <a
     97    href="https://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html">closeable
     98    resource</a> under Java 7.</p>
     99 
    100    <p>Added <code>getContext</code> method returning a hashtable in
    101    org.apache.log4j.MDC in the log4j-over-slf4j module.
    102    </p>
    103 
    104    <p>The introduction of the @Nonnull JSR 305 annotation in SLF4J
    105    version 1.7.8 causes the Scala compiler to fail. This is issue has
    106    been documented in <a
    107    href="https://issues.scala-lang.org/browse/SI-5420">SI-5420</a>. Given
    108    that many Scala users will be affected by this issue for the
    109    foreseeable future, we have decided to renounce the user of JSR 305
    110    annotations in SLF4J for the time being.
    111 	 </p>
    112 
    113    <p>Numerous small code improvements too minor to be listed
    114    here.</p>
    115 
    116    <hr noshade="noshade" size="1"/>
    117 
    118    <h3>4th of April, 2014 - Release of SLF4J 1.7.7 </h3>
    119 
    120    <p>SFL4J API now uses generics. This enhancement was contributed by
    121    Otavio Garcia. Due to erasure of generics in Java, the changes are
    122    backward-compatible.</p>
    123 
    124    <p>The slf4j-migrator can now convert statements using the long deprecated 
    125    <code>Category</code> class.</p>
    126 
    127    <p>Added the <code>SimpleLayout</code> and
    128    <code>FileAppender</code> classes to the log4j-over-slf4j
    129    module.</p>
    130 
    131 
    132    <h3>February 5th, 2014 - Release of SLF4J 1.7.6</h3>
    133 
    134    <p>Added slf4j-android module to the slf4j distribution. This
    135    module is contributed by Andrey Korzhevskiy.</p>
    136 
    137    <p>Loggers created during the initialization phase are no longer
    138    <code>NOPLoggers</code> which drop all logging calls. Instead,
    139    SLF4J now creates substitute loggers which delegate to the
    140    appropriate logger implementation after the initilization phase
    141    completes. Only calls made to these loggers during the
    142    initialization phase are dropped. This enhacement was proposed in
    143    <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=311">bug 311</a>
    144    by Chetan Mehrotra.
    145    </p>
    146 
    147    <p>Improvements to the <code>exit()</code> and
    148    <code>throwing()</code> methods in <code>XLogger</code>. This
    149    enhacement was requested in <a
    150    href="http://bugzilla.slf4j.org/show_bug.cgi?id=197">bug 197</a>.
    151    </p>
    152    
    153    <p>Concunrrency improvement in <code>MessageFormatter</code>. This
    154    improvement was contributed by Vivek Pathak in a <a
    155    href="https://github.com/qos-ch/slf4j/pull/52">pull
    156    request</a>.</p>
    157 
    158    <p>Concunrrency improvement in
    159    <code>BasicMarkerFactory</code>. This improvement was contributed
    160    by Mikhail Mazursky in a <a
    161    href="https://github.com/qos-ch/slf4j/pull/40">pull
    162    request</a>.</p>
    163 
    164    <p><code>JCLLoggerAdapter</code> was incorrectly invoking
    165    <code>isDebugEnabled</code> calls in its <code>trace()</code>
    166    methods. This issue was reported in <a
    167    href="http://bugzilla.slf4j.org/show_bug.cgi?id=281">bug 281</a>.
    168 
    169    </p>
    170 
    171    <p>In the log4j-over-slf4j module, the <code>setLevel</code>
    172    method in the <code>Category</code> class. This fixes <a
    173    href="http://bugzilla.slf4j.org/show_bug.cgi?id=279">bug
    174    279</a>. Alfredo Ramos provied the relevant patch.
    175    </p>
    176 
    177    <p>In the log4j-over-slf4j module, added empty implementations for
    178    <code>OptionHander</code>, <code>WriterAppender</code>,
    179    <code>ConsoleAppender</code> and <code>AppenderSkeleton</code>
    180    classes.
    181    </p>
    182 
    183    <hr noshade="noshade" size="1"/>
    184 
    185    <h3>25th of March, 2013 - Release of SLF4J 1.7.5</h3>
    186 
    187    <p class="highlight">Given the significance of these performance
    188    improvements, users are highly encouraged to migrate to SLF4J
    189    version 1.7.5 or later. </p>
    190 
    191    <p><span class="label notice">performance improvements</span> The
    192    logger factories in most SLF4J modules namely in jcl-over-slf4j,
    193    log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and
    194    slf4j-simple now use a <code>ConcurrentHashMap</code> instead of a
    195    regular <code>HashMap</code> to cache logger instances. This change
    196    significantly improves logger retrieval times at the cost of some
    197    memory overhead. This improvement was requested in <a
    198    href="http://bugzilla.slf4j.org/show_bug.cgi?id=298">bug #298</a>
    199    by Taras Tielkes who also provided the relevant patch.
    200    </p>
    201    
    202 
    203    <hr noshade="noshade" size="1"/>
    204 
    205    <h3>18th of March, 2013 - Release of SLF4J 1.7.4</h3>
    206 
    207    <p>Added a package private <code>reset()</code> method to
    208    <code>SimpleLoggerFactory</code> for testing purposes.</p>
    209 
    210    <hr noshade="noshade" size="1"/>
    211 
    212    <h3>15th of March, 2013 - Release of SLF4J 1.7.3</h3>
    213 
    214    <p>The jul-to-slf4j bridge now correctly handles cases where the
    215    message string contains {}-placeholders but has no or zero
    216    parameters. This fixes <a
    217    href="http://bugzilla.slf4j.org/show_bug.cgi?id=212">bug
    218    #212</a>. The relevant patch was provided by Matthew Preston in a
    219    git pull request.</p>
    220    
    221    <p>Added missing methods and classes in log4j-over-slf4j module for
    222    Velocity compatibility.  This issue was reported in <a
    223    href="http://bugzilla.slf4j.org/show_bug.cgi?id=280">bug 280</a> by
    224    Thomas Mortagne.</p>
    225 
    226    <hr noshade="noshade" size="1"/>
    227 
    228    <h3>11th of October, 2012 - Release of SLF4J 1.7.2</h3>
    229 
    230    <p>Added osgi-over-slf4j module which serves as an OSGi LogService
    231    implementation delegating to slf4j. This module is maintained by
    232    Matt Bishop and Libor Jelinek.</p>
    233 
    234    <p> Christian Trutz added missing PatternLayout class as well as
    235    several methods in the <code>Logger</code> and
    236    <code>Category</code> classes. See commit 442e90ba5785cba9 dated
    237    September 27th 2012 for details.
    238    </p>
    239 
    240    <p>Added org.slf4j.simpleLoggerwarnLevelString in slf4j-simple
    241    module.</p>
    242 
    243    <p>Fixed <a
    244    href="http://bugzilla.slf4j.org/show_bug.cgi?id=272">bug
    245    272</a>. All <code>Logger</code> implementations shipping with
    246    SLF4J use <code>Object...</code> instead of <code>Object[]</code>
    247    to avoid compiler warnings.</p>
    248 
    249    
    250 
    251    <hr noshade="noshade" size="1"/>
    252 
    253    <h3>14th of September, 2012 - Release of SLF4J 1.7.1</h3>
    254 
    255    <p><a
    256    href="apidocs/org/slf4j/impl/SimpleLogger.html"><code>SimpleLogger</code></a>
    257    now supports writing to a file. The property names for configuring
    258    <code>SimpleLogger</code> have been modified to be consistently in
    259    camel case. More configuration options have been added. In the
    260    absence of configuration directives, <code>SimpleLogger</code> will
    261    behave exactly the same as in the past. <b>If you are one of the
    262    few users configuring <code>SimpleLogger</code> with configuration
    263    properties, you will need to adapt to the new and more consistent
    264    property names.</b></p>
    265 
    266    <hr noshade="noshade" size="1"/>
    267 
    268    <h3>6th of September, 2012 - Release of SLF4J 1.7.0</h3>
    269 
    270    <p><span class="bold big green">SLF4J now requires JDK 1.5.</span></p>
    271 
    272    <p>Printing methods in the <a
    273    href="apidocs/org/slf4j/Logger.html">Logger</a> interface now offers
    274    variants accepting <a
    275    href="http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html">varargs</a>
    276    instead of Object[]. Given that under the hood, the Java compiler
    277    transforms varargs into an array, this change is totally 100%
    278    no-ifs-or-buts backward compatible with all existing client
    279    code. </p>
    280 
    281    <p>The logger field (of type <code>java.util.logging.Logger</code>)
    282    in <code>JDK14LoggerAdapter</code> is now marked as transient. This
    283    fixes <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=261">bug
    284    #261</a>, a serialization problem reported by Thorbj&oslash;rn Ravn
    285    Andersen.</p>
    286 
    287    <hr noshade="noshade" size="1"/>
    288 
    289    <h3>11th of June, 2012 - Release of SLF4J 1.6.6</h3>
    290 
    291    <p>Source repository has been moved to <a
    292    href="https://github.com/qos-ch/slf4j">https://github.com/qos-ch/slf4j</a>
    293    on github.</p>
    294  
    295    <p>In case multiple bindings are found on the class path, SLF4J
    296    will now output the name of the framework/implementation class it
    297    binds with.</p>
    298 
    299    <p><a
    300    href="apidocs/org/slf4j/impl/SimpleLogger.html">SimpleLogger</a>
    301    now supports configuration properties. </p>
    302 
    303    <p>LoggerWrapper in the slf4j-ext module now correctly deals with
    304    markers. This fixes <a
    305    href="http://bugzilla.slf4j.org/show_bug.cgi?id=265">bug #265</a>
    306    reported by Dario Campagna.</p>
    307 
    308    <p>The log4j-over-slf4j module now supports legacy projects
    309    providing their own log4j <code>LoggerFactory</code>. This fixes <a
    310    href="http://bugzilla.slf4j.org/show_bug.cgi?id=234">bug #234</a>
    311    reported by Laurent Pellegrino with Piotr Jagielski providing the
    312    appropriate patch.</p>
    313 
    314    <h3>4th of June, 2012 - Release of SLF4J 1.6.5</h3>
    315 
    316    <p>In the slf4j-log4j12 module, upgraded the log4j dependency to
    317    version 1.2.17.</p>
    318 
    319    <p>Added removeHandlersForRootLogger() method to <code><a
    320    href="apidocs/org/slf4j/bridge/SLF4JBridgeHandler.html">SLF4JBridgeHandler</a></code>
    321    class.</p>
    322 
    323    <p>The log4j-over-slf4j module now exports all its packages in its
    324    manifest. This issue was reported in <a
    325    href="http://bugzilla.slf4j.org/show_bug.cgi?id=262">262</a> by
    326    Mikhail Mazursky who also provided the relevant patch.
    327    </p>
    328 
    329    <h3>October 31st, 2011 - Release of SLF4J 1.6.4</h3>
    330 
    331    <p>Fixed in thread-safety issues in <code>BasicMDCAdapter</code>
    332    fixing <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=203">bug
    333    #203</a> and <a
    334    href="http://bugzilla.slf4j.org/show_bug.cgi?id=224">bug
    335    #224</a>. Note that <code>BasicMDCAdapter</code> is only used with
    336    the slf4j-jdk14.jar binding.
    337    </p>
    338 
    339    <p><code>BasicMDCAdapter</code> invoked a method introduced in JDK
    340    1.5 preventing it from running under JDK 1.4. Interestingly enough,
    341    this issue has never been reported by the user community.</p>
    342 
    343    <h3>October 17th, 2011 - Release of SLF4J 1.6.3</h3>
    344 
    345    <p><code>LogEvent</code> class in slf4j-ext module now correctly
    346    passes the event data as a parameter object. This fixes <a
    347    href="http://bugzilla.slf4j.org/show_bug.cgi?id=246">bug #246</a>
    348    reported by Ralph Goers.
    349    </p>
    350 
    351    <p>Added missing OSGi manifest to the jul-to-slf4j module. This
    352    fixes <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=166">bug
    353    #166</a> reported by Ekkehard Gentz. </p>
    354 
    355    <p>In the log4j-over-slf4j module, added missing
    356    <code>getAllAppenders</code>() method in <code>Category</code>
    357    class. This fixes <a
    358    href="http://bugzilla.slf4j.org/show_bug.cgi?id=235">bug #235</a>
    359    reported by Anthony Whitford.
    360    </p>
    361 
    362    <h3>August 19th, 2011 - Release of SLF4J 1.6.2</h3>
    363 
    364    <p>Fixed <a
    365    href="http://bugzilla.slf4j.org/show_bug.cgi?id=138">bug
    366    #138</a>. SLF4J will no longer complain about multiple SLF4J
    367    bindings when running under a Weblogic server.
    368    </p>
    369 
    370    <p>Fixed <a
    371    href="http://bugzilla.slf4j.org/show_bug.cgi?id=228">bug
    372    #228</a>. When running under IBM's JDK, and if no binding can be
    373    found, SLF4J will no longer throw a
    374    <code>NoClassDefFoundError</code>. Instead, it will default to an
    375    NOP implementation. Under the same circumstances but with Sun's
    376    JDK, SLF4J already defaulted to an NOP implementation since release
    377    1.6.0.</p>
    378 
    379    <p>Added certain missing classes to the log4j-over-slf4j module as
    380    requested in <a
    381    href="http://bugzilla.slf4j.org/show_bug.cgi?id=225">bug 225</a> by
    382    Josh Stewart.
    383    </p>
    384 
    385    <hr noshade="noshade" size="1"/>
    386 
    387    <h3>July 5th, 2010 - Release of SLF4J 1.6.1</h3>
    388 
    389    <p>Updated log4j dependency to version 1.2.16 and <a
    390    href="http://cal10n.qos.ch/">CAL10N</a> dependency to version
    391    0.7.4.
    392    </p>
    393 
    394    <p>Fixed missing versioning OSGi metadata in the log4j-over-slf4j
    395    module. This problem was reported in <a
    396    href="http://bugzilla.slf4j.org/show_bug.cgi?id=187">bug 187</a> by
    397    David Savage.
    398    </p>
    399 
    400    
    401 
    402    <hr noshade="noshade" size="1"/>
    403 
    404    <h3>May 8th, 2010 - Release of SLF4J 1.6.0</h3>
    405 
    406    <p>It is expected that <em>all</em> SLF4J releases in the 1.6.x
    407    series will be mutually compatible.
    408    </p>
    409 
    410    <p>As of SLF4J version 1.6.0, in the absence of an SLF4J binding,
    411    slf4j-api will default to a no-operation implementation discarding
    412    all log requests. Thus, instead of throwing an exception, SLF4J
    413    will emit a single warning message about the absence of a binding
    414    and proceed to discard all log requests without further
    415    protest. See also the <a href="manual.html#libraries">relevant
    416    section</a> in the user manual.
    417    </p>
    418 
    419    <p>In the presence of multiple parameters and if the last argument
    420    in a logging statement is an exception, then SLF4J will now presume
    421    that the user wants the last argument to be treated as an exception
    422    and not a simple parameter. See the relevant <a
    423    href="faq.html#paramException">FAQ entry</a> for further
    424    details. This fixes <a
    425    href="http://bugzilla.slf4j.org/show_bug.cgi?id=70">bug 70</a>
    426    submitted by Joern Huxhorn who also provided the relevant patch.
    427    </p>
    428   
    429    <p>The <code>log</code> method in <code>LocationAwareLogger</code>
    430    interface now admits an additional parameter of type
    431    <code>Object[]</code> representing additional arguments of the log
    432    request. Due to this modification, slf4j-api version 1.6.x will not
    433    work with bindings shipping with SLF4J 1.5.x -- bindings shipping
    434    with 1.6.x must be used.
    435    </p>
    436 
    437 
    438    <p>Fixed <a
    439    href="http://bugzilla.slf4j.org/show_bug.cgi?id=150">bug 150</a> by
    440    implementing missing <code>resetConfiguration()</code> and
    441    <code>shutdown()</code> methods in <code>LogManager</code> (in
    442    log4j-over-slf4j) as nop. In addition, the
    443    <code>getCurrentLoggers()</code> method has been implemented by
    444    returning an empty enumeration.
    445    </p>
    446 
    447 
    448    <p>Fixed <a
    449    href="http://bugzilla.slf4j.org/show_bug.cgi?id=170">bug 170</a> by
    450    a bare-bones implementation of the <code>NDC</code> class in
    451    log4j-over-slf4j.</p>
    452 
    453    <p>Fixed <a
    454    href="http://bugzilla.slf4j.org/show_bug.cgi?id=175">bug 175</a> by
    455    synchronizing access to the loggerNameList field.</p>
    456 
    457    <p>Fixed <a
    458    href="http://bugzilla.slf4j.org/show_bug.cgi?id=164">bug 164</a>
    459    observed when SLF4J artifacts were placed under
    460    java.endorsed.dirs.</p>
    461 
    462    <p>Fixed sub-optimal list type usage in
    463    <code>SLF4JLogFactory</code> as reported in <a
    464    href="http://bugzilla.slf4j.org/show_bug.cgi?id=179">bug 179</a> by
    465    Sebastian Davids.
    466    </p>
    467 
    468 
    469    <p>Fixed documentation inconsistency in <code>SLF4JLog</code> as
    470    reported in <a
    471    href="http://bugzilla.slf4j.org/show_bug.cgi?id=180">bug 180</a> by
    472    Sebastian Davids.
    473    </p>
    474 
    475    
    476    <hr noshade="noshade" size="1"/>
    477 
    478    <h3>February 25th, 2010 - Release of SLF4J 1.5.11</h3>
    479 
    480 
    481   <p>Users yet unfamiliar with SLF4J sometimes unknowingly place both
    482   <em>log4j-over-slf4j.jar</em> and <em>slf4j-log4j12.jar</em>
    483   simultaneously on the class path causing stack overflow
    484   errors. Simultaneously placing both <em>jcl-over-slf4j.jar</em> and
    485   <em>slf4j-jcl.jar</em> on the class path, is another occurrence of
    486   the same general problem. As of this version, SLF4J preempts the
    487   inevitable stack overflow error by throwing an exception with
    488   details about the actual cause of the problem. This is deemed to be
    489   better than leaving the user wondering about the reasons of the
    490   <code>StackOverflowError</code>.
    491   </p>
    492 
    493   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=168">bug
    494   168</a>. In case log4j-over-slf4j is used and a logback appender
    495   requires a third party library which depends on log4j, the
    496   <code>log(String FQCN, Priority p, Object msg, Throwable t)</code>
    497   method in log4j-over-slf4j's Category class would throw an
    498   <code>UnsupportedOperationException</code>. Problem reported by Seth
    499   Call.</p>
    500   
    501 
    502   <hr noshade="noshade" size="1"/>
    503 
    504   <h3>December 3rd, 2009 - Release of SLF4J 1.5.10</h3>
    505 
    506   <p>SLF4J version 1.5.10 consist of bug fixes and minor
    507   enhancements. It is totally backward compatible with SLF4J version
    508   1.5.8. However, the slf4j-ext module ships with a new package called
    509   <code>org.slf4j.cal10n</code> which adds <a
    510   href="localization.html">localized/internationalized logging</a>
    511   support as a thin layer built upon the <a
    512   href="http://cal10n.qos.ch">CAL10N API</a>.</p>
    513 
    514   <p><a href="http://www.slf4j.org/android/">SLF4J-android</a>,
    515   maintained by <a
    516   href="http://dbis.cs.unibas.ch/team/thorsten-moller/dbis_staff_view">Thorsten
    517   M&ouml;ller</a>, was added as a daughter project of SLF4J.
    518   </p>
    519 
    520   <p>Added missing "Export-Package" declaration for cal10n in the OSGi
    521   manifest file for sfl4j-ext. This was requested in <a
    522   href="http://bugzilla.slf4j.org/show_bug.cgi?id=156">bug 156</a> by
    523   Pete Muir.</p>
    524 
    525   <p>In log4j-over-slf4j, added missing log(...)  methods as requested
    526   by Zoltan Szel in <a
    527   href="http://bugzilla.slf4j.org/show_bug.cgi?id=139">bug report
    528   139</a>.</p>
    529 
    530   <p>In log4j-over-slf4j, added missing <code>LogManager</code> class
    531   as requested by Rick Beton in <a
    532   href="http://bugzilla.slf4j.org/show_bug.cgi?id=150">bug report
    533   150</a>.</p>
    534 
    535   <p>In the slf4j-ext module, added
    536   <code>getCopyOfChildTimeInstruments</code> and
    537   <code>getCopyOfGlobalStopWatch</code> methods to the
    538   <code>Profiler</code> class. This enables developers to build their
    539   own output formatters for a given Profiler. This feature was
    540   requested by David Lindel&ouml;f in <a
    541   href="http://bugzilla.slf4j.org/show_bug.cgi?id=141">bug 141</a>.
    542   </p>
    543 
    544   <p>Fixed a <code>NullPointerException</code> occurring in unspecified
    545   conditions as described in <a
    546   href="http://bugzilla.slf4j.org/show_bug.cgi?id=146">bug report
    547   146</a> by Dapeng Ni.</p>
    548 
    549   <p>Added missing OSGi manifest to the <em>log4j-over-slf4j</em>
    550   module as requested by Wade Poziombka in <a
    551   href="http://bugzilla.slf4j.org/show_bug.cgi?id=117">bug 117</a>.
    552   </p>
    553 
    554   <p>OSGi manifests produced by SLF4J now replace the '-' character by
    555   '.' in compliance with the OSGi specification. This fixes <a
    556   href="http://bugzilla.slf4j.org/show_bug.cgi?id=152">bug 152</a>
    557   according to the patch supplied by Hugues Malphettes.
    558   </p>
    559 
    560   <p>Fixed packaging issue in jcl104-over-slf4j which inadvertently
    561   produced a jar file as described in <a
    562   href="http://bugzilla.slf4j.org/show_bug.cgi?id=151">bug 151</a> by
    563   Jesse McConnell.</p>
    564 
    565 
    566 
    567 
    568   <hr noshade="noshade" size="1"/>
    569 
    570   <h3>June 11th, 2009 - Release of SLF4J 1.5.8</h3>
    571 
    572   <p>SLF4J version 1.5.8 consist of bug fixes. It is totally backward
    573   compatible with SLF4J version 1.5.7.</p>
    574 
    575   <p>The Maven pom file for the <code>log4j-over-slf4j</code> module
    576   contained a compile time dependency on the <code>slf4j-jdk14</code>
    577   module. The dependency should have been declared in the test
    578   scope. This problem was reported by Jean-Luc Geering on the slf4j
    579   user list.
    580   </p>
    581 
    582   <h3>June 10th, 2009 - Release of SLF4J 1.5.7</h3>
    583 
    584   <p>SLF4J version 1.5.7 consist of bug fixes and minor
    585   enhancements. It is totally backward compatible with SLF4J version
    586   1.5.6.</p>
    587 
    588   <p>In SLF4J versions 1.5.5 and 1.5.6, the <code>LoggerFactory</code>
    589   class which is at the core of SLF4J, if a version compatibility
    590   issue was detected, accidentally invoked a method which was
    591   introduced in JDK 1.5. Thus, instead of issuing a clear warning
    592   message, SLF4J would throw a
    593   <code>NoClassDefFoundError</code>. Consequently, SLF4J would not run
    594   with JDK 1.4 and earlier but only if a version incompatibility issue
    595   was present. For example, if you were mixing
    596   <em>slf4j-api-1.5.6.jar</em> with <em>slf4j-simple-1.4.2.jar</em>,
    597   which are mutually incompatible. Please note that this bug affects
    598   only SLF4J versions 1.5.5 and 1.5.6 <em>and</em> only in the
    599   presence of incompatible versions of slf4j-api and its binding.
    600   </p>
    601   
    602   <p>SLF4J will now emit a warning if more than one binding is present
    603   on the class path. This enhancement was proposed in <a
    604   href="http://bugzilla.slf4j.org/show_bug.cgi?id=132">bug 132</a>
    605   contributed by by Robert Elliot.
    606   </p>
    607 
    608   <p>The Log interface implementations in the jcl-over-slf4j module
    609   will now correctly cope with serialization. This fixes <a
    610   href="http://bugzilla.slf4j.org/show_bug.cgi?id=79">bug 79</a>
    611   reported by Mathias Bogaert. Many thanks to Eric Vargo for precisely
    612   identifying the problem and supplying the corresponding patch.</p>
    613 
    614   <p>The log4j-over-slf4j module will now correctly
    615   interact with logging frameworks supporting location information
    616   such as java.util.logging and logback.  This fixes <a
    617   href="http://bugzilla.slf4j.org/show_bug.cgi?id=131">bug 131</a>
    618   reported by Marc Zampetti.
    619   </p>
    620 
    621   <p><code>SLF4JBridgeHandler</code> will no longer ignore log records
    622   with an empty message. This fixes <a
    623   href="http://bugzilla.slf4j.org/show_bug.cgi?id=108">bug 108</a>
    624   reported by Pepijn Van Eeckhoudt and independently by Dan Lewis.
    625   </p>
    626 
    627   <p>In case the <code>toString()</code> method of a parameter throws
    628   an exception, <code>MessageFormatter</code> will now print an error
    629   message, instead of letting the exception bubble higher up as
    630   previously. This fixes <a
    631   href="http://bugzilla.slf4j.org/show_bug.cgi?id=112">bug 112</a>
    632   submitted by Joern Huxhorn.
    633   </p>
    634 
    635   <hr noshade="noshade" size="1"/>
    636 
    637   <h3>November 21st, 2008 - Release of SLF4J 1.5.6</h3>
    638 
    639   <p>SLF4J version 1.5.6 consists of bug fixes. Users are encouraged
    640   to upgrade to SLF4J version 1.5.6. The upgrade should pose no
    641   problems. Nevertheless, you might still want to refer to the SLF4J
    642   <a href="compatibility.html">compatibility report</a>.
    643   </p>
    644 
    645   <p>Fixed long standing <a
    646   href="http://jira.qos.ch/browse/LBCLASSIC-87">LBCLASSIC-87</a> and
    647   its younger sibling <a
    648   href="http://bugzilla.slf4j.org/show_bug.cgi?id=113">bug
    649   113</a>. With each call to getLogger() method,
    650   <code>LoggerContext</code> will now retrieve the ILoggerFactory
    651   afresh from <code>StaticLoggerBinder</code>. This change enables
    652   context selectors of native implementations, e.g logback, to work
    653   correctly.
    654   </p>
    655 
    656   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=114">bug
    657   114</a> reported by Jason Arndt. Corrected the way
    658   <code>XLogger</code> (in slf4j-ext) passes its fully qualified class
    659   name so that the underlying logging system can correctly compute
    660   location information.
    661   </p>
    662 
    663   
    664   <p>The <code>install()</code> method of
    665   <code>SLF4JBridgeHandler</code> will no longer reset the entire
    666   j.u.l. environment but solely add a <code>SLF4JBridgeHandler</code>
    667   instance to jul's root logger. By the same token, the
    668   <code>uninstall()</code> method will remove previously added
    669   <code>SLF4JBridgeHandler</code> instances without making any other
    670   modifications to the j.u.l. configuration.
    671   </p>
    672   
    673   <p>Added <code>MDCStrLookup</code> to slf4j-ext. This class can be
    674   used with Apache Commons Lang's <code>StrSubstitutor</code> class to
    675   inject values in the SLF4J MDC into strings. Information on
    676   StrSubstitutor can be found at <a
    677   href="http://commons.apache.org/lang/api-release/org/apache/commons/lang/text/StrSubstitutor.html">StrSubstitutor
    678   javadoc</a>.
    679   </p>
    680 
    681   <hr noshade="noshade" size="1"/>
    682 
    683   <h3>October 17th, 2008 - Release of SLF4J 1.5.5</h3>
    684 
    685   <p>The version check mechanism introduced in SLF4J 1.5.4 was
    686   inconsistent with the large size of SLF4J's installed user base.  We
    687   cannot expect external SLF4J implementations to align their release
    688   schedule with that of SLF4J. Consequently, this SLF4J version,
    689   namely 1.5.5, retains versions checks but as an elective
    690   process. For further details see the <a
    691   href="faq.html#version_checks">relevant entry</a> in the FAQ.
    692   </p>
    693 
    694   <p>You are highly encouraged to upgrade to SLF4J version 1.5.5. The
    695   upgrade should pose no problems. Nevertheless, you might still want
    696   to refer to the SLF4J <a href="compatibility.html">compatibility
    697   report</a>.
    698   </p>
    699 
    700   <h3>October 16th, 2008 - Release of SLF4J 1.5.4</h3>
    701 
    702   <p>This version corrects critical bugs.
    703   </p>
    704 
    705   <p>Fixed <a
    706   href="http://bugzilla.slf4j.org/show_bug.cgi?id=106">critical bug
    707   106</a>. In previous versions of SLF4J, if during the initial
    708   binding phase, the underlying logging system's default configuration
    709   created or invoked loggers, a <code>NullPointerException</code>
    710   would be thrown. Refer to the <a
    711   href="codes.html#substituteLogger">in error codes</a> document for a
    712   fuller explanation.</p>
    713   
    714   <p>At initialization time, LoggerFactory will now check that the
    715   version of the slf4j-binding matches that of slf4j-api. If there is
    716   a mismatch a warning will be issued on the console. This should help
    717   users identify SLF4J related problems more quickly.</p>
    718 
    719   <p>Improvements in documentation as well as fix for <a
    720   href="http://bugzilla.slf4j.org/show_bug.cgi?id=102">packaging
    721   problems</a> related to <em>slf4j-ext</em> module.
    722   </p>
    723 
    724   <p>SLF4JBridgeHandler (part of jul-to-slf4j) now accounts for
    725   loggers with resourceBundle as well parameters. This feature
    726   requested by Darryl Smith in <a
    727   href="http://bugzilla.slf4j.org/show_bug.cgi?id=98">bug 98</a> and
    728   by Jarek Gawor in <a
    729   href="http://bugzilla.slf4j.org/show_bug.cgi?id=103">bug
    730   103</a>.</p>
    731   
    732   <p>We now say that markers contain <em>references</em> to other
    733   markers. We no longer talk about child markers. The javadocs of the
    734   <code>Marker</code> interface have been updated to reflect this
    735   change. Moreover, the <code>hasChildren()</code> method in the
    736   Marker interface has been deprecated and a new method called
    737   <code>hasReferences()</code> was added.
    738   </p>
    739 
    740   <hr noshade="noshade" size="1"/>
    741 
    742   <h3>September 12th, 2008 - Release of SLF4J 1.5.3</h3>
    743 
    744   <p>See also the <a href="compatibility.html#1_5_3">compatibility
    745   report for this version</a>.
    746   </p>
    747 
    748   <p>Added a new module called slf4j-ext for slf4j-extensions. See <a
    749   href="extensions.html">its documentation</a> for further
    750   details.</p>
    751 
    752   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=71">bug
    753   71</a> which was re-opened by Manfred Geiler. SLF4J loggers now
    754   survive serialization. By survive serialization, we mean
    755   that the deserialized logger instance are fully functional. </p>
    756 
    757   <p>The fix for <a
    758   href="http://bugzilla.slf4j.org/show_bug.cgi?id=68">bug 68</a> as
    759   implemented in version 1.5.1 was incomplete. Michael Furman supplied
    760   a more complete fix which was incorporated in this release.</p>
    761   
    762   <p>When slf4j bridges, e.g. jcl-over-slf4j or log4j-over-slf4j, were
    763   used in conjunction with JUL as the underlying logging system,
    764   JDK14LoggerAdapter created a LogRecord even for disabled log
    765   statements. This performance issue was reported in <a
    766   href="http://bugzilla.slf4j.org/show_bug.cgi?id=90">bug 90</a> by
    767   Matthew Mastracci.
    768   </p>
    769 
    770   <p>Added support for array values, including multi-dimensional
    771   arrays, as parameters. For example,</p>
    772   <p class="source">log.debug("{} {}", "A", new int[] {1, 2}});</p>
    773   <p>will print as "A [1, 2]" instead of "A [I@6ca1c" as
    774   previously. This enhancement was proposed by "lizongbo".
    775   </p>
    776 
    777   <p>Parameter substitution code has been simplified. SLF4J now only
    778   cares about the "{}" formatting anchor, that is the '{' character
    779   immediately followed by '}'. Previously, the '{' had meaning on its
    780   own. As a result of this change, users no longer need to escape the
    781   '{' unless it is immediately followed by '}'. Existing messages
    782   which escaped standalone '{' character will be printed with a
    783   preceding backslash. However, no data loss in the printed messages
    784   will occur.
    785   </p>
    786 
    787   <p>Added missing <code>getInstance</code> methods to the
    788   <code>Category</code> class in the log4j-over-slf4j module, fixing
    789   <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=95">bug 95</a>
    790   reported by Michael Rumpf.</p>
    791 
    792   <hr noshade="noshade" size="1"/>
    793 
    794   <h3>June 8th, 2008 - Release of SLF4J 1.5.2</h3>
    795 
    796   <p>Improvements to SLF4J documentation as well as fix of <a
    797   href="http://bugzilla.slf4j.org/show_bug.cgi?id=88">packaging
    798   problems</a> related to <em>jul-to-slf4j.jar</em> and
    799   <em>jcl104-over-slf4j.jar</em>.
    800   </p>
    801   
    802   <h3>June 5th, 2008 - Release of SLF4J 1.5.1</h3>
    803 
    804   <p>See also the <a href="compatibility.html#1_5_1">compatibility
    805   report for this version</a>.</p>
    806 
    807   <p>In order to support JCL version 1.1.1, the
    808   <em>jcl<b>104</b>-over-slf4j</em> module was renamed as
    809   <em>jcl-over-slf4j</em>. SLF4J will no longer ship with
    810   <em>jcl104-over-slf4j.jar</em> but with <em>jcl-over-slf4j.jar</em>.
    811   The related work responds to enhancement request discussed in <a
    812   href="http://bugzilla.slf4j.org/show_bug.cgi?id=85">bug 85</a> as
    813   reported by Niklas Gustavsson.
    814   </p>
    815   
    816   <p>The <em>slf4j-jcl</em> binding now depends on commons-logging
    817   version 1.1.1 instead of the older 1.0.4</p>
    818 
    819 
    820   <p>Added a java.util.logging to SLF4J bridge as requested in <a
    821   href="http://bugzilla.slf4j.org/show_bug.cgi?id=38">bug 38</a> by
    822   Christian Stein, David Smiley, Johan Ferner, Joern Huxhorn and
    823   others.
    824   </p>
    825 
    826   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=68">bug
    827   68</a> reported by Su Chuan and David Rauschenbach. SLF4J requires
    828   log4j 1.2.12 or later. However, if an older version of log4j is
    829   present (lacking the TRACE level), in order to avoid
    830   NoSuchMethodError exceptions, the SLF4J's
    831   <code>Log4jLoggerAdapter</code> will map the TRACE level as DEBUG.
    832   </p>
    833 
    834   
    835   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=78">bug
    836   78</a> reported by Venu Thachappilly. If the argument array passed
    837   to a Logger printing method (debug, info, etc.) was null, a
    838   <code>NullPointerException</code> was thrown. With the correction,
    839   the messagePattern is returned as is, without parameter
    840   substitution.
    841   </p>
    842 
    843 
    844   <p>Added the <code>getCopyOfContextMap</code> and
    845   <code>setContextMap</code> methods to the <code>MDCAdapter</code>
    846   and <code>org.sf4j.MDC</code> classes. This was requested in <a
    847   href="http://bugzilla.slf4j.org/show_bug.cgi?id=84">bug 84</a> by
    848   Anton Tagunov.
    849   </p>
    850 
    851   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=74">bug
    852   74</a>, an endless recursion problem in Marker.contains method,
    853   reported by Michael Newcomb. Also added he
    854   <code>getDetachedMarker</code> method to <code>IMarkerFactor</code>
    855   and <code>MarkerFactory</code> classes which was indirectly
    856   requested in bug 74.
    857   </p>
    858 
    859   <p>Added the methods <code>getLevel()</code> and
    860   <code>getEffectiveLevel()</code> to the <code>Category</code> class
    861   in log4j-over-slf4j. This addition was requested in <a
    862   href="http://bugzilla.slf4j.org/show_bug.cgi?id=74">bug 74</a> by
    863   Michael Newcomb.
    864   </p>
    865 
    866   <p>The <a href="migrator.html">SLF4J Migrator</a>
    867   tool has been improved to support migration from JUL to SLF4J.
    868   </p>
    869 
    870   <p>In <code>MarkerIgnoringBase</code> class, corrected mapping of
    871   trace methods with markers to their equivalents without marker
    872   data. Previously, the mapping was trace to debug. The incorrect
    873   mapping affected only calls to the trace method with
    874   markers. Interestingly enough, this bug was picked up by new unit
    875   tests and has not been reported as a bug by our users.
    876   </p>
    877   
    878 
    879   <h3>February 26th, 2008 - Release of SLF4J 1.5.0</h3>
    880 
    881 
    882   <p>A tool called <a href="migrator.html">SLF4J Migrator</a> now
    883   ships with SLF4J. It can help you migrate your project using JCL or
    884   log4j to use SLF4J instead.
    885   </p>
    886 
    887   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=61">bug
    888   61</a> reported by Christopher Sahnwaldt. It is now possible to
    889   place a backslash in front of a formatting anchor, by escaping the
    890   backslash. For example, the call to
    891   <code>MessageFormatter.format("C:\\\\{}", "foo")</code> will now
    892   correctly return "C:\\foo". The backslash character needs to be
    893   escaped in Java, which leads to four backslashes.
    894   </p>
    895 
    896  
    897   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=63">bug
    898   63</a> reported by Maarten Bosteels. SLF4J now supports MDC for
    899   <code>java.util.logging</code> package.
    900   </p>
    901 
    902   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=64">bug
    903   64</a> reported by Michal Bernhard. The log4j binding will now alert
    904   the user if she uses SLF4J with a version of log4j earlier than 1.2.12.
    905   </p>
    906 
    907   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=65">bug
    908   65</a> reported by Ben Gidley. Superfluous
    909   &lt;version>$&#x7B;parent.version}&lt;/version> lines have been
    910   removed from pom.xml files. These lines reportedly confuse certain
    911   Maven repositories.
    912   </p>
    913 
    914   <p>In the <code>org.apache.log4j.Category</code> class, as
    915   implemented in the log4j-over-slf4j module, calls to the printing
    916   trace() are now correctly mapped to SLF4J's trace() printing method
    917   (instead of debug()). Superfluous printing methods with the
    918   signature <code>xxxx(Object, Object)</code> and <code>xxxx(String,
    919   Object, Object)</code> have been removed.
    920   </p>
    921 
    922   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=67">bug
    923   67</a> reported by Chris Custine.  The manifest file for
    924   jcl104-over-slf4j now correctly declares version 1.0.4 for the
    925   exported JCL packages.
    926   </p>
    927 
    928 
    929   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=69">bug
    930   69</a> reported by Joern Huxhorn, who graciously supplied the fix as
    931   well as a test case. The <code>add</code> method in
    932   <code>BasicMarker</code> class now correctly prevents multiple
    933   addition of the same child. Moreover, the <code>remove</code> method
    934   now correctly removes the specified child marker.
    935   </p>
    936 
    937   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=41">bug
    938   41</a> reported by Sebastian Davids. The manifest files of various
    939   projects now mention J2SE-1.3 as the required execution
    940   environment.
    941   </p>
    942 
    943   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=71">bug
    944   71</a> reported by Manfred Geiler. The SLF4JLog and
    945   SLF4JLocationAwareLog classes are now serializable solving
    946   serialization problems encountered with certain libraries which
    947   attempt to serialize JCL log instances.
    948   </p>
    949 
    950   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=73">bug
    951   73</a> reported by Oleg Smirsky. A "Fragment-Host: slf4j.api" line
    952   has been added to every MANIFEST.MF file exporting
    953   <code>org.slf4j.impl</code>.
    954   </p>
    955 
    956 
    957   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=72">bug
    958   72</a> reported by Ian Carr. Performance issues with slf4j-jdk14 for
    959   disabled log statements have now been corrected.
    960   </p>
    961 
    962   <hr noshade="noshade" size="1"/>
    963 
    964   <h3>August 20th, 2007 - Release of SLF4J 1.4.3</h3>
    965 
    966   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=60">bug
    967   60</a> as reported by Costin Leau. OSGI manifest entries now declare
    968   the correct SLF4J version.
    969   </p>
    970   
    971   <p>Clarified the behavior of the various methods methods in the MDC
    972   class with respect to "null" parameters. This was requested in <a
    973   href="http://bugzilla.slf4j.org/show_bug.cgi?id=58">bug 58</a> by
    974   Sebastian Davids.
    975   </p>
    976 
    977   <p>Removed the slf4j-archetype module because nobody seems to have a
    978   use for it.</p>
    979 
    980   <h3>July 12th, 2007 - Release of SLF4J 1.4.2</h3>
    981 
    982   <p>The <a href="log4j-over-slf4j.html">log4j-over-slf4j</a> module
    983   has been moved back into SLF4J. Originally, this module was part of
    984   SLF4J and was moved into logback due to the lack of MDC support in
    985   SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J
    986   1.4.1, log4j-over-slf4j returns to its original home. Note that the
    987   previous name of the module was <a
    988   href="http://logback.qos.ch/bridge.html">log4j-bridge</a>.
    989   </p>
    990 
    991   <p>Addition of the <code>getMDCAdapter</code> method to
    992   org.slf4j.MDC class. This allows access to the actual MDC
    993   implementation which can on occasion come in very handy.
    994   </p>
    995 
    996   <hr noshade="noshade" size="1"/>
    997 
    998 
    999 
   1000   <h3>July 4th, 2007 - Release of SLF4J 1.4.1</h3>
   1001 
   1002 
   1003   <p>SLF4J now supports <a href="manual.html#mdc">Mapped Diagnostic
   1004   Contexts</a> (MDC) as requested by Andy Gerweck and Steve Ebersole
   1005   in <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=49">bug
   1006   49</a>.
   1007   </p>
   1008 
   1009   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=53">bug
   1010   53</a> as reported by Heinrich Nirschl.  The public method
   1011   <code>trace(String)</code> in the <code>Log4jLoggerAdapter</code>
   1012   class incorrectly called the underlying log4j logger with level DEBUG
   1013   instead of TRACE.
   1014   </p>
   1015 
   1016   <p>Fixed various documentation related errors kindly reported by
   1017   Mark Vedder.
   1018   </p>
   1019 
   1020 
   1021   <hr noshade="noshade" size="1"/>
   1022 
   1023 
   1024   <h3>May 16th, 2007 - Release of SLF4J 1.4.0</h3>
   1025 
   1026 
   1027   <p>In response to many user requests over time, the TRACE level has
   1028   been added to <a
   1029   href="api/org/slf4j/Logger.html">org.slf4j.Logger</a>
   1030   interface. Please also see the <a href="faq.html#trace">FAQ entry
   1031   discussing</a> the TRACE level.
   1032   </p>
   1033 
   1034 
   1035   <p>Fixed <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=47">bug
   1036   47</a> as reported by Terry Todd.  In previous a SLF4J release the
   1037   <code>org.apache.commons.logging.impl.SLF4FLogFactory</code> class
   1038   was renamed as <code>SLF4JLogFactory</code>. The
   1039   <em>META-INF/services/org.apache.commons.logging.LogFactory</em>
   1040   resource file had not reflected this change. It does now.
   1041   </p>
   1042 
   1043 
   1044   <p>Eric Yung <a
   1045   href="http://www.slf4j.org/pipermail/user/2007-April/000327.html">reported</a>
   1046   that Apache commons-configuration access certain commons-logging
   1047   classes, namely <code>org.apache.commons.logging.impl.NoOpLog</code>
   1048   and SimpleLog, directly. Following Eric's suggestion,
   1049   jcl104-over-slf4j now includes the aforementioned classes.
   1050   </p>
   1051   
   1052 
   1053   <hr noshade="noshade" size="1"/>
   1054 
   1055   <h3>April 15th, 2007 - Release of SLF4J 1.3.1</h3>
   1056 
   1057 
   1058   <p>In response to a <a
   1059   href="http://bugzilla.slf4j.org/show_bug.cgi?id=39">enhancement
   1060   request</a> made by Michael Newcomb, a marker can now be detached
   1061   from the internal list of the <code>MarkerFactory</code> that
   1062   generated it.
   1063   </p>
   1064 
   1065   <p>Fixed a silly but nonetheless annoying bug where log request of
   1066   level ERROR made through jcl104-over-slf4j would log twice. This bug
   1067   was <a
   1068   href="http://www.slf4j.org/pipermail/user/2007-April/000323.html">reported</a>
   1069   and precisely described by Andrew Cooke.
   1070   </p>
   1071 
   1072 
   1073   <hr noshade="noshade" size="1"/>
   1074 
   1075   <h3>February 25th, 2007 - Release of SLF4J 1.3.0</h3>
   1076 
   1077   <p>This release consists of rearrangement of classes among
   1078   projects. More specifically, the
   1079   <code>org.slf4j.LoggerFactory</code> class is now packaged within
   1080   the <em>slf4j-api.jar</em> file instead of the various slf4j
   1081   bindings. <b>It follows that client code needs to depend on only
   1082   slf4j-api in order to compile, while the various slf4j bindings are
   1083   only needed as runtime dependencies.</b> See also the <a
   1084   href="faq.html#maven2">Maven2-related FAQ entry</a>. Given the
   1085   practical significance of this change, we highly recommend that
   1086   library-authors upgrade to version 1.3 at their earliest
   1087   convenience. 
   1088   </p>
   1089   
   1090   <p><a href="http://bugzilla.slf4j.org/show_bug.cgi?id=23">Bug number
   1091   23</a> has been fixed, at the cost of minor and backward compatible
   1092   changes. In other words, jcl104-over-slf4j now preserves caller
   1093   location information.
   1094   </p>
   1095   
   1096   <p>It is now possible to obtain the root logger of the underlying
   1097   logging implementation by requesting a logger named
   1098   &quot;ROOT&quot;. This feature was requested by Sebastien Davids
   1099   in <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=35">bug
   1100   report 35</a>. </p>
   1101 
   1102   <p>For  an   exact  list   of  changes  please   refer  to   the  <a
   1103   href="changes/changes-1.3.txt">1.3.0  compatibility  report</a> file
   1104   as generated by clirr.</p>
   1105 
   1106   
   1107   <hr noshade="noshade" size="1"/>
   1108 
   1109   <h3>January 24th, 2007 - Release of SLF4J 1.2</h3>
   1110   <p>This release includes several modifications to make SLF4J
   1111   an <a href="http://www.osgi.org/">OSGi</a>-friendly framework. 
   1112   The modules' MANIFEST.MF files now include
   1113   OSGi metadata. Regarding these improvements, and OSGi in general, the
   1114   SLF4J project is happy to welcome John E. Conlon  as a new committer.
   1115   </p> 
   1116   
   1117   <p>Marker objects are now Serializable.
   1118   </p>
   1119   
   1120   <hr noshade="noshade" size="1"/>
   1121 
   1122   <h3>December 21st, 2006 - Release of SLF4J 1.1.0 (final)</h3>
   1123 
   1124   <p>This release consists of minor bug fixes and documentation
   1125   changes. More importantly, the log4j-over-slf4j module has been
   1126   moved to the logback project, under the name <a
   1127   href="http://logback.qos.ch/bridge.html">log4j-bridge</a>.
   1128   </p> 
   1129 
   1130    <p>Added the file "org.apache.commons.logging.LogFactory" under
   1131    META-INF/services directory which went missing in the 1.1.0 series
   1132    of SLF4J. This fixes a compatibility problem with Apache Axis which
   1133    uses its own discovery mechanism, namely, commons-discovery version
   1134    0.2. The problem was reported in bug <a
   1135    href="http://bugzilla.slf4j.org/show_bug.cgi?id=33">report 33</a>
   1136    by David Varnes.
   1137   </p>
   1138 
   1139   <p>The file jcl104-over-slf4j.jar had various entries missing in its
   1140   MANIFEST.MF file, as reported by Boris Unkel in <a
   1141   href="http://bugzilla.slf4j.org/show_bug.cgi?id=30">bug number
   1142   30</a>.
   1143   </p>
   1144 
   1145   <hr noshade="noshade" size="1"/>
   1146 
   1147   <h3>November 16th, 2006 - Release of SLF4J 1.1.0-RC1</h3>
   1148 
   1149   <p>This release consists of packaging related bug fix in addition to
   1150   minor documentation changes.  
   1151   </p> 
   1152   
   1153   <p>Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the
   1154   slf4j-parent pom. The solution to <a
   1155   href="http://ceki.blogspot.com/2006/11/solution-to-maven2-version-number.html">Maven
   1156   version problem</a> does not work for public projects such as SLF4J
   1157   because SNAPSHOTs are not allowed on ibiblio.
   1158   </p>
   1159 
   1160 
   1161   <hr noshade="noshade" size="1"/>
   1162 
   1163   <h3>November 4th, 2006 - Release of SLF4J 1.1.0-RC0</h3>
   1164 
   1165   <p>This release consists of bug fixes. Moreover, since the major
   1166   packaging related changes in 1.1.0-beta0 seem to work well, this
   1167   release is marked as RC0.</p>
   1168 
   1169   <p>Fixed the JDK 1.5 dependency for the SLF4J build, as reported by
   1170   Boris Unkel in <a
   1171   href="http://bugzilla.slf4j.org/show_bug.cgi?id=28">bug number
   1172   28</a>. SLF4J now explicitly declares a dependency on JDK 1.4 in its
   1173   pom.xml file.
   1174   </p>
   1175 
   1176   <p>Fixed an incorrect reference to the logback project in slf4j-api
   1177   pom file. This bug was reported by Boris Unkel in <a
   1178   href="http://bugzilla.slf4j.org/show_bug.cgi?id=29">bug number
   1179   29</a>.
   1180   </p>
   1181 
   1182   <p>Fixed a synchronization problem in factories of almost all SLF4J
   1183   bindings. This bug was reported independently by Howard M. Lewis Ship
   1184   and Boris Unkel in bug reports <a
   1185   href="http://bugzilla.slf4j.org/show_bug.cgi?id=26">26</a> and
   1186   respectively <a
   1187   href="http://bugzilla.slf4j.org/show_bug.cgi?id=26">27</a>.
   1188   </p>
   1189 
   1190   <hr noshade="noshade" size="1"/>
   1191 
   1192   <h3>September 7th, 2006 - Release of SLF4J 1.1.0-beta0</h3>
   1193 
   1194   <p>Release 1.1.0-beta0 is a relatively important release with a
   1195   refactoring of the way class files are organized in jar files. In
   1196   previous releases, each binding was self-contained in a single jar
   1197   file. In this release, each and every binding depends on
   1198   <em>slf4j-api.jar</em> which contains the bulk of the classes
   1199   required to use SLF4J, except for one or two adapter classes.  Only
   1200   the adapter classes are now shipped with each specific binding jar
   1201   as appropriate for the underlying logging system..
   1202   </p>
   1203 
   1204   <p>This release is built using Maven instead of Ant. As for the java
   1205   code, it has not been changed.</p>
   1206     
   1207   <hr noshade="noshade" size="1"/>
   1208 
   1209   <h3>June 8th, 2006 - Release of SLF4J 1.0.2</h3>
   1210 
   1211   <p>Release 1.0.2 is a maintenance release containing bug fixes
   1212   only.</p>
   1213 
   1214   <ul>
   1215 
   1216     <li>Fixed <a
   1217     href="http://bugzilla.slf4j.org/show_bug.cgi?id=22">bug number
   1218     22</a> reported by Bjorn Danielsson. This version of the SLF4J API
   1219     will no longer systematically throw an exception when the
   1220     <code>o.a.c.l.impl.SLF4FLogFactory#release()</code> method is
   1221     invoked. Instead, the <code>release()</code> method will issue a
   1222     <a href="http://www.slf4j.org/codes.html">warning</a>.
   1223 
   1224     </li>
   1225 
   1226   </ul>
   1227 
   1228   <hr noshade="noshade" size="1"/>
   1229 
   1230   <h3>May 1st, 2006 - Release of SLF4J 1.0.1</h3>
   1231 
   1232   <p>Release 1.0.1 is a maintenance release containing bug fixes
   1233   only.</p>
   1234 
   1235   <ul>
   1236 
   1237     <li>Fixed <a
   1238     href="http://bugzilla.slf4j.org/show_bug.cgi?id=20">bug number
   1239     20</a> reported by Steve Bate. <code>JDK14LoggerAdapter</code>
   1240     will now correctly relay the logger name to the underlying JDK 14
   1241     logging system.
   1242     </li>
   1243 
   1244     <li>Added the file "org.apache.commons.logging.LogFactory" under
   1245     META-INF/services directory in the jcl104-over-slf4j jar
   1246     file. This fixes a compatibility problem with Apache Axis which
   1247     uses its own discovery mechanism, namely, commons-discovery
   1248     version 0.2. The bug was reported by Dave Wallace.
   1249     </li>
   1250 
   1251   </ul>
   1252 
   1253   
   1254   <hr noshade="noshade" size="1"/>
   1255 
   1256   <h3>March 8th, 2006 - Release of SLF4J 1.0</h3>
   1257 
   1258   <p>This is release labeled as 1.0 (final) contains few relatively
   1259   minor changes:
   1260   </p>
   1261 
   1262   <ul>
   1263     <li>As <a
   1264     href="http://marc.theaimsgroup.com/?t=114063163800004">discussed</a>
   1265     on the slf4j user list, <code>SimpleLogger</code> now directs its
   1266     output to stderr instead of stdout.
   1267     </li>
   1268     
   1269     <li>Modified <code>JDK14LoggerAdapter</code> so that caller
   1270     information is now correctly printed, as reported in <a
   1271     href="http://bugzilla.slf4j.org/show_bug.cgi?id=13">bug 13</a> by
   1272     Peter Royal.
   1273     </li>
   1274 
   1275     <li>Minor additions to the Marker interface.</li>
   1276 
   1277   </ul>
   1278   
   1279   <hr noshade="noshade" size="1"/>
   1280 
   1281   <h3>February 4th, 2006 - Release of SLF4J 1.0-RC6 and NLOG4J
   1282   1.2.22</h3>
   1283 
   1284   <p>The <code>MarkingLogger</code> interface has been removed and its
   1285   contents merged into <code>org.slf4j.Logger</code>. This change
   1286   should not adversely affect end-users. However, SLF4J bindings need
   1287   to be updated. This has been done for all the bindings shipped with
   1288   SLF4J distribution as well as NLOG4J. As for x4juli, the update is
   1289   planned for its next release.
   1290   </p>
   1291 
   1292   <p>The merge between the <code>MarkingLogger</code> and
   1293   <code>Logger</code> interfaces has been motivated by the need to
   1294   allow end-users to easily switch between logging systems that
   1295   support markers and those that do not.
   1296   </p>
   1297 
   1298   <p>Added a default instance to SimpleLoggerFactory to serve as a
   1299   last resort fallback mechanism. This instance is designed to be used
   1300   by a very specific group of users, namely for those developing
   1301   logging systems (e.g. log4j or LOGBack). It is not intended for
   1302   end-users of the SLF4J API.
   1303   </p>
   1304 
   1305  <hr noshade="noshade" size="1"/>
   1306 
   1307   <h3>January 9th, 2006 - Release of SLF4J 1.0-RC5 and NLOG4J
   1308   1.2.21</h3>
   1309 
   1310   <p>A maintenance release correcting bugs <a
   1311   href="http://bugzilla.slf4j.org/show_bug.cgi?id=11">#11</a> and <a
   1312   href="http://bugzilla.slf4j.org/show_bug.cgi?id=12">#12</a> and in
   1313   general improved resilience to null input parameters across
   1314   implementations. Many thanks to Boris Unckel and Kenneth for
   1315   reporting the null input issue.
   1316   </p>
   1317   
   1318  <hr noshade="noshade" size="1"/>
   1319 
   1320   <h3>December 27th, 2005 - Release of SLF4J 1.0-RC4 and NLOG4J
   1321   1.2.20</h3>
   1322 
   1323 
   1324   <p>The printing methods in <code>org.slf4j.Logger</code> interface
   1325   now support passing 3 or more parameters in an <code>Object</code>
   1326   array. This was a frequently requested feature missing in previous
   1327   versions of SLF4J.
   1328   </p>
   1329 
   1330   <p>NLOG4J 1.2.20 reflects the addition of new methods in the
   1331   <code>org.slf4j.Logger</code> interface.</p>
   1332 
   1333   <hr noshade="noshade" size="1"/>
   1334 
   1335   <h3>December 8th, 2005 - Release of SLF4J 1.0-RC3</h3>
   1336 
   1337   <p>Maintenance release fixing reported bugs <a
   1338   href="http://bugzilla.slf4j.org/show_bug.cgi?id=6">#6</a> and <a
   1339   href="http://bugzilla.slf4j.org/show_bug.cgi?id=7">#7</a>.
   1340   </p>
   1341 
   1342 
   1343   <h3>November 28th, 2005 - Release of SLF4J 1.0-RC2</h3>
   1344 
   1345   <p>In response to a request by Greg Wilkins, this release adds the
   1346   jar file <em>slf4j-jcl.jar</em>, an SLF4J binding for JCL. Please
   1347   read the <a href="manual.html#gradual">gradual migration section</a>
   1348   in the manual for more details.
   1349   </p>
   1350 
   1351   <hr noshade="noshade" size="1"/>
   1352 
   1353   <h3>November 21st, 2005 - Release of SLF4J 1.0-RC1</h3>
   1354 
   1355   <p>A maintenance release correcting bugs <a
   1356   href="http://bugzilla.slf4j.org/show_bug.cgi?id=4">#4</a> and <a
   1357   href="http://bugzilla.slf4j.org/show_bug.cgi?id=5">#5</a>. Many
   1358   thanks to Christian Beil for accurately reporting bug #4.
   1359   </p>
   1360   
   1361   <p>There has been also an effort to minimize the file sizes of the
   1362   various jar files produced by SLF4J, resulting in jar files
   1363   approximately 40% smaller than in version 1.0beta9.
   1364   </p>
   1365 
   1366   <p>Given that the SLF4J API is now deemed stable, this release is
   1367   marked as RC1, that is release candidate number 1.
   1368   </p>
   1369 
   1370 
   1371   <hr noshade="noshade" size="1"/>
   1372 
   1373   <h3>October 19th, 2005 - Release of SLF4J 1.0-beta9</h3>
   1374 
   1375   <p>The SLF4J distribution now includes two distinct bindings
   1376   <em>slf4j-log4j12.jar</em> and <em>slf4j-log4j13.jar</em> in order
   1377   to differentiate between log4j version 1.2 and version 1.3. This
   1378   distinction is absolutely necessary because log4j 1.2 and 1.3 are
   1379   not run-time compatible, although they are mostly compile-time
   1380   compatible.
   1381   </p>
   1382 
   1383   <hr noshade="noshade" size="1"/>
   1384 
   1385   <h3>October 19th, 2005 - Release of SLF4J 1.0-beta8 and NLOG4J 1.2.18</h3>
   1386 
   1387 
   1388   <p>Added a new SLF4J binding, <em>slf4j-log4j.jar</em>, intended to
   1389   be used in conjunction with vanilla <em>log4j.jar</em>, as
   1390   distributed by the <a href="http://logging.apache.org">Apache
   1391   Logging Services</a> project. The slf4j-log4j binding is quite
   1392   similar in structure to the JDK 1.4 binding that existed
   1393   previously. 
   1394   </p>
   1395 
   1396   <p>The slf4j-log4j binding addresses compatibility problems which
   1397   arose when copies of both <em>log4j.jar</em> and <em>nlog4j.jar</em>
   1398   lay on the class path, in particular when it was undesirable or
   1399   impossible to remove the preexisting <em>log4j.jar</em> file.
   1400   </p>
   1401 
   1402   <p>Methods in the <code>org.slf4j.Logger</code> interface related to
   1403   markers were moved to a separate super interface called <a
   1404   href="api/org/slf4j/MarkingLogger.html">
   1405   <code>org.slf4j.MarkingLogger</code></a>. This refactoring reduces
   1406   the weight of the <a href="api/org/slf4j/Logger.html">
   1407   <code>Logger</code></a> interface.
   1408   </p>
   1409 
   1410   <hr noshade="noshade" size="1"/>
   1411 
   1412   <h3>August 28th, 2005 - Release of SLF4J 1.0-beta7 and NLOG4J 1.2.17</h3>
   1413 
   1414   <p>Spurred by <a
   1415   href="http://bugzilla.slf4j.org/show_bug.cgi?id=3">bug report
   1416   #3</a>, SLF4J binding code has been refactored and
   1417   simplified. Logging systems implementing SLF4J interfaces have to
   1418   have less work in order to bind with SLF4J. Moreover, these changes
   1419   have no incidence on the published interface of SLF4J.
   1420   </p>
   1421 
   1422   
   1423   <hr noshade="noshade" size="1"/>
   1424 
   1425   <h3>August 26th, 2005 - Release of SLF4J 1.0-beta6</h3>
   1426 
   1427   <p>To ease migration to SLF4J from JCL, this release includes a jar
   1428   file called <em>jcl-over-slf4j-1.0.4.jar</em>. This jar file can be
   1429   used as drop-in replacement for JCL version 1.0.4. It implements the
   1430   public API of JCL using SLF4J underneath.
   1431   </p>
   1432 
   1433   <p>Thus, you can immediately benefit from the advantages of SLF4J
   1434   without waiting for all the libraries you depend on to migrate to
   1435   SLF4J first.</p>
   1436  
   1437   <hr noshade="noshade" size="1"/>
   1438 
   1439   <h3>August 16th, 2005 - Release of NLOG4J 1.2.16</h3>
   1440 
   1441    <p>This release adds solves a compatibility problem between log4j
   1442   and nlog4j.  Previous to this release, code compiled with log4j
   1443   would not run correctly with nlog4j.
   1444   </p>
   1445 
   1446   <p>With the fixes introduced in NLOG4J 1.2.16, code compiled with
   1447   log4j 1.2.x will run without problems when deployed using NLOG4j.
   1448   </p>
   1449 
   1450   <p>However, the inverse is not true. Code compiled with nlog4j can
   1451   only be deployed using nlog4j.
   1452   </p>
   1453  
   1454   <hr noshade="noshade" size="1"/>
   1455   
   1456   <h3>August 12th, 2005 - Release of SLF4J 1.0-beta5 and NLOG4J
   1457   1.2.15</h3>
   1458 
   1459   <p>This release adds support for the <a
   1460   href="api/org/slf4j/Marker.html">Marker</a> interface. Thus, log
   1461   statements can be decorated with Marker data allowing more
   1462   expressive power in the processing of log statements.
   1463   </p>
   1464 
   1465   <p>For the sake of IoC frameworks, <code>Logger</code> instances can
   1466   new be queried for their <a
   1467   href="api/org/slf4j/Logger.html#getName()">name</a>.
   1468   </p>
   1469 
   1470   <p>With the addition of markers, sub-domains are no longer
   1471   needed.</p>
   1472 
   1473   <p>The <code>LoggerFactoryAdapter</code> has been simplified and
   1474   renamed as <a
   1475   href="api/org/slf4j/ILoggerFactory.html"><code>ILoggerFactory</code></a>.
   1476   </p>
   1477   
   1478   <hr noshade="noshade" size="1"/>
   1479 
   1480   <h3>July 5th, 2005 - Release of NLOG4J 1.2.14</h3>
   1481  
   1482   <p>This release fixes compatibility problems between NLOG4J and
   1483   Jakarta Commons Logging.
   1484   </p>
   1485 
   1486   <hr noshade="noshade" size="1"/>
   1487   
   1488   <h3>June 28th, 2005 - Release of SLF4J 1.0-beta4 and NLOG4J
   1489   1.2.13</h3>
   1490 
   1491   <p>Following discussions on the SLF4J developers list, the
   1492   signatures of the printing methods in <a
   1493   href="api/org/slf4j/Logger.html"><code>org.slf4j.Logger</code></a>
   1494   interface have been modified to admit messages of type
   1495   <code>String</code> instead of type <code>Object</code> as
   1496   previously. The current set of printing methods is listed below.
   1497   </p>
   1498 
   1499   <pre class="source">
   1500  void debug(String msg); 
   1501  void debug(String format, Object arg); 
   1502  void debug(String format, Object arg1, Object arg2); 
   1503  void debug(String msg, Throwable t); 
   1504 
   1505  void error(String msg); 
   1506  void error(String format, Object arg;) 
   1507  void error(String format, Object arg1, Object arg2); 
   1508  void error(String msg, Throwable t); 
   1509       
   1510  void info(String msg); 
   1511  void info(String format, Object arg); 
   1512  void info(String format, Object arg1, Object arg2); 
   1513  void info(String msg, Throwable t); 
   1514       
   1515  void warn(String msg); 
   1516  void warn(String format, Object arg); 
   1517  void warn(String format, Object arg1, Object arg2); 
   1518  void warn(String msg, Throwable t);  </pre>
   1519  
   1520 
   1521   <p>NLOG4J release 1.2.13 reflects changes in the SLF4J API.
   1522   </p>
   1523 
   1524   <p>You can download SLF4J and NLOG4J, including full source code,
   1525   class files and documentation on our <a
   1526   href="download.html">download page</a>.
   1527   </p>
   1528 
   1529   <hr noshade="noshade" size="1"/>
   1530 
   1531   <h3>May 17th, 2005 - SLF4J version 1.0-beta-3 released</h3>
   1532 
   1533   <p>In response to user comments, the <code>org.slf4j.ULogger</code>
   1534   interface has been renamed as <code>org.slf4j.Logger</code>.
   1535   </p>
   1536 
   1537 
   1538   <hr noshade="noshade" size="1"/>
   1539 
   1540   <h3>May 17th, 2005 - NLOG4J version 1.2.12 released</h3>
   1541 
   1542   <p>SLF4J.ORG is proud to release NLOG4J 1.2.12, a log4j-replacement
   1543   with native SLF4J API support.  Except for users of LF5, chainsaw or
   1544   <code>NTEvenAppender</code>, NLOG4J should be considered as a 100%
   1545   compatible, drop-in replacement for log4j version 1.2.9. 
   1546   </p>
   1547 
   1548   <p>This release reflects changes in the SLF4J API, i.e renaming of
   1549   <code>org.slf4j.ULogger</code> interface as
   1550   <code>org.slf4j.Logger</code>.
   1551   </p>
   1552 
   1553   <hr noshade="noshade" size="1"/>
   1554 
   1555   <h3>May 17th, 2005 - SLF4J version 1.0-beta-3 released</h3>
   1556 
   1557   <p>SLF4J.ORG is proud to release SLF4J 1.0-beta-3. In response to
   1558   user comments, the <code>org.slf4j.ULogger</code> interface has been
   1559   renamed as <code>org.slf4j.Logger</code>.
   1560   </p>
   1561 
   1562   <p>You can download SLF4J, including full source code, class files
   1563   and documentation on our <a href="download.html">download page</a>.
   1564   </p>
   1565 
   1566   <hr noshade="noshade" size="1"/>
   1567 
   1568   <h3>May 14th, 2005 - NLOG4J version 1.2.11 released</h3>
   1569 
   1570   <p>SLF4J.ORG is proud to release NLOG4J 1.2.11, a log4j-replacement
   1571   with native SLF4J API support.  Except for users of LF5, chainsaw or
   1572   <code>NTEvenAppender</code>, NLOG4J should be considered as a 100%
   1573   compatible, drop-in replacement for log4j version 1.2.9.
   1574   </p>
   1575 
   1576   <p>You can download NLOG4J version 1.2.11, including full source
   1577   code, class files and documentation on our <a
   1578   href="download.html">download page</a>.
   1579   </p>
   1580 
   1581   <hr noshade="noshade" size="1"/>
   1582 
   1583   <h3>May 4th, 2005 - SLF4J version 1.0-beta-2 released</h3>
   1584 
   1585   <p>SLF4J.ORG is proud to release SLF4J 1.0-beta-2. This release
   1586   contains cosmetic or javadoc changes. For example, the project has a
   1587   new logo.
   1588   </p>
   1589 
   1590   <p>You can download SLF4J version 1.0-beta2, including full source
   1591   code, class files and documentation on our <a
   1592   href="download.html">download page</a>.
   1593   </p>
   1594 
   1595 
   1596   <hr noshade="noshade" size="1"/>
   1597 
   1598   <h3>1 May 2005 - not-log4j-1.2.10 released</h3>
   1599 
   1600   <p>Subsequent to the recall of log4j 1.2.10, SLF4J.ORG releases
   1601   non-log4j-1.2.10 for those interested in SLF4J support in log4j.
   1602   </p>
   1603 
   1604   <p>You can download not-log4j version 1.2.10, including full source
   1605   code, class files and documentation on our <a
   1606   href="download.html">download page</a>.
   1607   </p>
   1608 
   1609   <hr noshade="noshade" size="1"/>
   1610 
   1611 
   1612   <h3>22 April 2005 - SLF4J project goes live</h3>
   1613 
   1614   <p>The SLF4J project site, including SVN repositories go
   1615   live. Users can download SLF4J version 1.0-beta1.
   1616   </p>
   1617 
   1618   <hr noshade="noshade" size="1"/>
   1619 
   1620   <h3>15 April 2005 - start of work on SLF4J source code</h3>
   1621 
   1622   <p>Start of work on the SLF4j source code.
   1623   </p>
   1624 
   1625   <hr noshade="noshade" size="1"/>
   1626 
   1627   <h3>13 April 2005 - start of work on SLF4J project</h3>
   1628 
   1629   <p>Launch of the SLF4J project. Work has begun on the web-site, svn
   1630   repositories as well as the source code.
   1631   </p>
   1632 
   1633 
   1634   <script src="templates/footer.js" type="text/javascript"></script>
   1635 
   1636 </div>
   1637 </body>
   1638 </html>
   1639