SLF4J News

Please note that you can receive SLF4J related announcements by subscribing to the SLF4J announce mailing list.


June 11th, 2009 - Release of SLF4J 1.5.8

SLF4J version 1.5.8 consist of bug fixes. It is totally backward compatible with SLF4J version 1.5.7.

The Maven pom file for the log4j-over-slf4j module contained a compile time dependency on the slf4j-jdk14 module. The dependency should have been declared in the test scope. This problem was reported by Jean-Luc Geering on the slf4j user list.

June 10th, 2009 - Release of SLF4J 1.5.7

SLF4J version 1.5.7 consist of bug fixes and minor enhancements. It is totally backward compatible with SLF4J version 1.5.6.

In SLF4J versions 1.5.5 and 1.5.6, the LoggerFactory class which is at the core of SLF4J, if a version compatibility issue was detected, accidentally invoked a method which was introduced in JDK 1.5. Thus, instead of issuing a clear warning message, SLF4J would throw a NoClassDefFoundError. Consequently, SLF4J would not run with JDK 1.4 and earlier but only if a version incompatibility issue was present. For example, if you were mixing slf4j-api-1.5.6.jar with slf4j-simple-1.4.2.jar, which are mutually incompatile. Please note that this bug affects only SLF4J versions 1.5.5 and 1.5.6 and only in the presence of incompatible versions of slf4j-api and its binding.

SLF4J will now emit a warning if more than one binding is present on the class path. This enhancement was proposed in bug 132 contributed by by Robert Elliot.

The Log interface implementations in the jcl-over-slf4j module will now correctly cope with serialization. This fixes bug 79 reported by Mathias Bogaert. Many thanks to Eric Vargo for precisely identifying the problem and supplying the corresponding patch.

The log4j-over-slf4j module will now correctly interact with logging frameworks supporting location information such as java.util.logging and logback. This fixes bug 131 reported by Marc Zampetti.

SLF4JBridgeHandler will no longer ignore log records with an empty message. This fixes bug 108 reported by Pepijn Van Eeckhoudt and independently by Dan Lewis.

In case the toString() method of a parameter throws an exception, MessageFormatter will now print an error message, instead of letting the exception bubble higher up as previously. This fixes bug 112 submitted by Joern Huxhorn.


November 21st, 2008 - Release of SLF4J 1.5.6

SLF4J version 1.5.6 consists of bug fixes. Users are encouraged to upgrade to SLF4J version 1.5.6. The upgrade should pose no problems. Nevertheless, you might still want to refer to the SLF4J compatibility report.

Fixed long standing LBCLASSIC-87 and its younger sibling bug 113. With each call to getLogger() method, LoggerContext will now retrieve the ILoggerFactory afresh from StaticLoggerBinder. This change enables context selectors of native implementations, e.g logback, to work correctly.

Fixed bug 114 reported by Jason Arndt. Corrected the way XLogger (in slf4j-ext) passes its fully qualified class name so that the underlying logging system can correctly compute location information.

The install() method of SLF4JBridgeHandler will no longer reset the entire j.u.l. environment but solely add a SLF4JBridgeHandler instance to jul's root logger. By the same token, the uninstall() method will remove previously added SLF4JBridgeHandler instances without making any other modifications to the j.u.l. configuration.

Added MDCStrLookup to slf4j-ext. This class can be used with Apache Commons Lang's StrSubstitutor class to inject values in the SLF4J MDC into strings. Information on StrSubstitutor can be found at StrSubstitutor javadoc.


October 17th, 2008 - Release of SLF4J 1.5.5

The version check mechanism introduced in SLF4J 1.5.4 was inconsistent with the large size of SLF4J's installed user base. We cannot expect external SLF4J implementations to align their release schedule with that of SLF4J. Consequently, this SLF4J version, namely 1.5.5, retains versions checks but as an elective process. For further details see the relevant entry in the FAQ.

You are highly encouraged to upgrade to SLF4J version 1.5.5. The upgrade should pose no problems. Nevertheless, you might still want to refer to the SLF4J compatibility report.

October 16th, 2008 - Release of SLF4J 1.5.4

This version corrects critical bugs.

Fixed critical bug 106. In previous versions of SLF4J, if during the initial binding phase, the underlying logging system's default configuration created or invoked loggers, a NullPointerException would be thrown. Refer to the in error codes document for a fuller explanation.

At initialization time, LoggerFactory will now check that the version of the slf4j-binding matches that of slf4j-api. If there is a mismatch a warning will be issued on the console. This should help users identify SLF4J related problems more quickly.

Improvements in documentation as well as fix for packaging problems related to slf4j-ext module.

SLF4JBridgeHandler (part of jul-to-slf4j) now accounts for loggers with resourceBundle as well parameters. This feature requested by Darryl Smith in bug 98 and by Jarek Gawor in bug 103.

We now say that markers contain references to other markers. We no longer talk about child markers. The javadocs of the Marker interface have been updated to reflect this change. Moreover, the hasChildren() method in the Marker interface has been deprecated and a new method called hasReferences() was added.


September 12th, 2008 - Release of SLF4J 1.5.3

See also the compatibility report for this version.

Added a new module called slf4j-ext for slf4j-extensions. See its documentation for further details.

Fixed bug 71 which was re-opened by Manfred Geiler. SLF4J loggers now survive serialization. By survive serialization, we mean that the deserialized logger instance are fully functional.

The fix for bug 68 as implemented in version 1.5.1 was incomplete. Michael Furman supplied a more complete fix which was incorporated in this release.

When slf4j bridges, e.g. jcl-over-slf4j or log4j-over-slf4j, were used in conjunction with JUL as the underlying logging system, JDK14LoggerAdapter created a LogRecord even for disabled log statements. This performance issue was reported in bug 90 by Matthew Mastracci.

Added support for array values, including multi-dimensional arrays, as parameters. For example,

log.debug("{} {}", "A", new int[] {1, 2}});

will print as "A [1, 2]" instead of "A [I@6ca1c" as previously. This enhancement was proposed by "lizongbo".

Parameter substitution code has been simplified. SLF4J now only cares about the "{}" formatting anchor, that is the '{' character immediately followed by '}'. Previously, the '{' had meaning on its own. As a result of this change, users no longer need to escape the '{' unless it is immediately followed by '}'. Existing messages which escaped standalone '{' character will be printed with a preceding backslash. However, no data loss in the printed messages will occur.

Added missing getInstance methods to the Category class in the log4j-over-slf4j module, fixing bug 95 reported by Michael Rumpf.


June 8th, 2008 - Release of SLF4J 1.5.2

Improvements to SLF4J documentation as well as fix of packaging problems related to jul-to-slf4j.jar and jcl104-over-slf4j.jar.

June 5th, 2008 - Release of SLF4J 1.5.1

See also the compatibility report for this version.

In order to support JCL version 1.1.1, the jcl104-over-slf4j module was renamed as jcl-over-slf4j. SLF4J will no longer ship with jcl104-over-slf4j.jar but with jcl-over-slf4j.jar. The related work responds to enhancement request discussed in bug 85 as reported by Niklas Gustavsson.

The slf4j-jcl binding now depends on commons-logging version 1.1.1 instead of the older 1.0.4

Added a java.util.logging to SLF4J bridge as requested in bug 38 by Christian Stein, David Smiley, Johan Ferner, Joern Huxhorn and others.

Fixed bug 68 reported by Su Chuan and David Rauschenbach. SLF4J requires log4j 1.2.12 or later. However, if an older version of log4j is present (lacking the TRACE level), in order to avoid NoSuchMethodError exceptions, the SLF4J's Log4jLoggerAdapter will map the TRACE level as DEBUG.

Fixed bug 78 reported by Venu Thachappilly. If the argument array passed to a Logger printing method (debug, info, etc.) was null, a NullPointerException was thrown. With the correction, the messagePattern is returned as is, without parameter substitution.

Added the getCopyOfContextMap and setContextMap methods to the MDCAdapter and org.sf4j.MDC classes. This was requested in bug 84 by Anton Tagunov.

Fixed bug 74, an endless recursion problem in Marker.contains method, reported by Michael Newcomb. Also added he getDetachedMarker method to IMarkerFactor and MarkerFactory classes which was indirectly requested in bug 74.

Added the methods getLevel() and getEffectiveLevel() to the Category class in log4j-over-slf4j. This addition was requested in bug 74 by Michael Newcomb.

The SLF4J Migrator tool has been improved to support migration from JUL to SLF4J.

In MarkerIgnoringBase class, corrected mapping of trace methods with markers to their equivalents without marker data. Previously, the mapping was trace to debug. The incorrect mapping affected only calls to the trace method with markers. Interestingly enough, this bug was picked up by new unit tests and has not been reported as a bug by our users.

February 26th, 2008 - Release of SLF4J 1.5.0

A tool called SLF4J Migrator now ships with SLF4J. It can help you migrate your project using JCL or log4j to use SLF4J instead.

Fixed bug 61 reported by Christopher Sahnwaldt. It is now possible to place a backslash in front of a formatting anchor, by escaping the backslash. For example, the call to MessageFormatter.format("C:\\\\{}", "foo") will now correctly return "C:\\foo". The backslash character needs to be escaped in Java, which leads to four backslashes.

Fixed bug 63 reported by Maarten Bosteels. SLF4J now supports MDC for java.util.logging package.

Fixed bug 64 reported by Michal Bernhard. The log4j binding will now alert the user if she uses SLF4J with a version of log4j earlier than 1.2.12.

Fixed bug 65 reported by Ben Gidley. Superfluous <version>${parent.version}</version> lines have been removed from pom.xml files. These lines reportedly confuse certain Maven repositories.

In the org.apache.log4j.Category class, as implemented in the log4j-over-slf4j module, calls to the printing trace() are now correctly mapped to SLF4J's trace() printing method (instead of debug()). Superfluous printing methods with the signature xxxx(Object, Object) and xxxx(String, Object, Object) have been removed.

Fixed bug 67 reported by Chris Custine. The manifest file for jcl104-over-slf4j now correctly declares version 1.0.4 for the exported JCL packages.

Fixed bug 69 reported by Joern Huxhorn, who graciously supplied the fix as well as a test case. The add method in BasicMarker class now correctly prevents multiple addition of the same child. Moreover, the remove method now correctly removes the specified child marker.

Fixed bug 41 reported by Sebastian Davids. The manifest files of various projects now mention J2SE-1.3 as the required execution environment.

Fixed bug 71 reported by Manfred Geiler. The SLF4JLog and SLF4JLocationAwareLog classes are now serializable solving serialization problems encountered with certain libraries which attempt to serialize JCL log instances.

Fixed bug 73 reported by Oleg Smirsky. A "Fragment-Host: slf4j.api" line has been added to every MANIFEST.MF file exporting org.slf4j.impl.

Fixed bug 72 reported by Ian Carr. Performance issues with slf4j-jdk14 for disabled log statements have now been corrected.


August 20th, 2007 - Release of SLF4J 1.4.3

Fixed bug 60 as reported by Costin Leau. OSGI manifest entries now declare the correct SLF4J version.

Clarified the behavior of the various methods methods in the MDC class with respect to "null" parameters. This was requested in bug 58 by Sebastian Davids.

Removed the slf4j-archetype module because nobody seems to have a use for it.

July 12th, 2007 - Release of SLF4J 1.4.2

The log4j-over-slf4j module has been moved back into SLF4J. Originally, this module was part of SLF4J and was moved into logback due to the lack of MDC support in SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J 1.4.1, log4j-over-slf4j returns to its original home. Note that the previous name of the module was log4j-bridge.

Addition of the getMDCAdapter method to org.slf4j.MDC class. This allows access to the actual MDC implementation which can on occasion come in very handy.


July 4th, 2007 - Release of SLF4J 1.4.1

SLF4J now supports Mapped Diagnostic Contexts (MDC) as requested by Andy Gerweck and Steve Ebersole in bug 49.

Fixed bug 53 as reported by Heinrich Nirschl. The public method trace(String) in the Log4jLoggerAdapter class incorrecly called the underlying log4j logger with level DEBUG instead of TRACE.

Fixed various documentation related errors kindly reported by Mark Vedder.


May 16th, 2007 - Release of SLF4J 1.4.0

In response to many user requests over time, the TRACE level has been added to org.slf4j.Logger interface. Please also see the FAQ entry discussing the TRACE level.

Fixed bug 47 as reported by Terry Todd. In previous a SLF4J release the org.apache.commons.logging.impl.SLF4FLogFactory class was renamed as SLF4JLogFactory. The META-INF/services/org.apache.commons.logging.LogFactory resource file had not reflected this change. It does now.

Eric Yung reported that Apache commons-configuration access certain commons-logging classes, namely org.apache.commons.logging.impl.NoOpLog and SimpleLog, directly. Following Eric's suggestion, jcl104-over-slf4j now includes the aforementioned classes.


April 15th, 2007 - Release of SLF4J 1.3.1

In response to a enhancement request made by Michael Newcomb, a marker can now be detached from the internal list of the MarkerFactory that generated it.

Fixed a silly but nonetheless annoying bug where log request of level ERROR made through jcl104-over-slf4j would log twice. This bug was reported and precisely described by Andrew Cooke.


February 25th, 2007 - Release of SLF4J 1.3.0

This release consists of rearrangement of classes among projects. More specifically, the org.slf4j.LoggerFactory class is now packaged within the slf4j-api.jar file instead of the various slf4j bindings. It follows that client code needs to depend on only slf4j-api in order to compile, while the various slf4j bindings are only needed as runtime dependencies. See also the Maven2-related FAQ entry. Given the practical significance of this change, we highly recommend that library-authors upgrade to version 1.3 at their earliest convenience.

Bug number 23 has been fixed, at the cost of minor and backward compatible changes. In other words, jcl104-over-slf4j now preserves caller location information.

It is now possible to obtain the root logger of the underlying logging implementation by requesting a logger named "ROOT". This feature was requested by Sebastien Davids in bug report 35.

For an exact list of changes please refer to the 1.3.0 compatibility report file as generated by clirr.


January 24th, 2007 - Release of SLF4J 1.2

This release includes several modifications to make SLF4J an OSGi-friendly framework. The modules' MANIFEST.MF files now include OSGi metadata. Regarding these improvements, and OSGi in general, the SLF4J project is happy to welcome John E. Conlon as a new committer.

Marker objects are now Serializable.


December 21st, 2006 - Release of SLF4J 1.1.0 (final)

This release consists of minor bug fixes and documentation changes. More importantly, the log4j-over-slf4j module has been moved to the logback project, under the name log4j-bridge.

Added the file "org.apache.commons.logging.LogFactory" under META-INF/services directory which went missing in the 1.1.0 series of SLF4J. This fixes a compatibility problem with Apache Axis which uses its own discovery mechanism, namely, commons-discovery version 0.2. The problem was reported in bug report 33 by David Varnes.

The file jcl104-over-slf4j.jar had various entries missing in its MANIFEST.MF file, as reported by Boris Unkel in bug number 30.


November 16th, 2006 - Release of SLF4J 1.1.0-RC1

This release consists of packaging related bug fix in addition to minor documentation changes.

Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the slf4j-parent pom. The solution to Maven version problem does not work for public projects such as SLF4J because SNAPHOTs are not allowed on ibiblio.


November 4th, 2006 - Release of SLF4J 1.1.0-RC0

This release consists of bug fixes. Moreover, since the major packaging related changes in 1.1.0-beta0 seem to work well, this release is marked as RC0.

Fixed the JDK 1.5 dependency for the SLF4J build, as reported by Boris Unkel in bug number 28. SLF4J now explicitly declares a dependency on JDK 1.4 in its pom.xml file.

Fixed an incorrect reference to the logback project in slf4j-api pom file. This bug was reported by Boris Unkel in bug number 29.

Fixed a syncroisation problem in factories of almost all SLF4J bindings. This bug was reported independenly by Howard M. Lewis Ship and Boris Unkel in bug reports 26 and respectively 27.


September 7th, 2006 - Release of SLF4J 1.1.0-beta0

Release 1.1.0-beta0 is a relatively important release with a refactoring of the way class files are organized in jar files. In previous releases, each binding was self-contained in a single jar file. In this release, each and every binding depends on slf4j-api.jar which contains the bulk of the classes required to use SLF4J, except for one or two adapter classes. Only the adapter classes are now shipped with each specific binding jar as appropriate for the underlying logging system..

This release is built using Maven instead of Ant. As for the java code, it has not been changed.


June 8th, 2006 - Release of SLF4J 1.0.2

Release 1.0.2 is a maintenance release containing bug fixes only.


May 1st, 2006 - Release of SLF4J 1.0.1

Release 1.0.1 is a maintenance release containing bug fixes only.


March 8th, 2006 - Release of SLF4J 1.0

This is release labeled as 1.0 (final) contains few relatively minor changes:


February 4th, 2006 - Release of SLF4J 1.0-RC6 and NLOG4J 1.2.22

The MarkingLogger interface has been removed and its contents merged into org.slf4j.Logger. This change should not adversely affect end-users. However, SLF4J bindings need to be updated. This has been done for all the bindings shipped with SLF4J distribution as well as NLOG4J. As for x4juli, the update is planned for its next release.

The merge between the MarkingLogger and Logger interfaces has been motivated by the need to allow end-users to easily switch between logging systems that support markers and those that do not.

Added a default instance to SimpleLoggerFactory to serve as a last resort fallback mechanism. This instance is designed to be used by a very specific group of users, namely for those developing logging systems (e.g. log4j or LOGBack). It is not intended for end-users of the SLF4J API.


January 9th, 2006 - Release of SLF4J 1.0-RC5 and NLOG4J 1.2.21

A maintenance release correcting bugs #11 and #12 and in general improved resilience to null input parameters across implementations. Many thanks to Boris Unckel and Kenneth for reporting the null input issue.


December 27th, 2005 - Release of SLF4J 1.0-RC4 and NLOG4J 1.2.20

The printing methods in org.slf4j.Logger interface now support passing 3 or more parameters in an Object array. This was a frequently requested feature missing in previous versions of SLF4J.

NLOG4J 1.2.20 reflects the addition of new methods in the org.slf4j.Logger interface.


December 8th, 2005 - Release of SLF4J 1.0-RC3

Maintenance release fixing reported bugs #6 and #7.

November 28th, 2005 - Release of SLF4J 1.0-RC2

In response to a request by Greg Wilkins, this release adds the jar file slf4j-jcl.jar, an SLF4J binding for JCL. Please read the gradual migration section in the manual for more details.


November 21st, 2005 - Release of SLF4J 1.0-RC1

A maintenance release correcting bugs #4 and #5. Many thanks to Christian Beil for accurately reporting bug #4.

There has been also an effort to minimize the file sizes of the various jar files produced by SLF4J, resulting in jar files approximately 40% smaller than in version 1.0beta9.

Given that the SLF4J API is now deemed stable, this release is marked as RC1, that is release candidate number 1.


October 19th, 2005 - Release of SLF4J 1.0-beta9

The SLF4J distribution now includes two distinct bindings slf4j-log4j12.jar and slf4j-log4j13.jar in order to differentiate between log4j version 1.2 and version 1.3. This distinction is absolutely necessary because log4j 1.2 and 1.3 are not run-time compatible, although they are mostly compile-time compatible.


October 19th, 2005 - Release of SLF4J 1.0-beta8 and NLOG4J 1.2.18

Added a new SLF4J binding, slf4j-log4j.jar, intended to be used in conjunction with vanilla log4j.jar, as distributed by the Apache Logging Services project. The slf4j-log4j binding is quite similar in structure to the JDK 1.4 binding that existed previously.

The slf4j-log4j binding addresses compatibility problems which arose when copies of both log4j.jar and nlog4j.jar lay on the class path, in particular when it was undesirable or impossible to remove the preexisting log4j.jar file.

Methods in the org.slf4j.Logger interface related to markers were moved to a separate super interface called org.slf4j.MarkingLogger. This refactoring reduces the weight of the Logger interface.


August 28th, 2005 - Release of SLF4J 1.0-beta7 and NLOG4J 1.2.17

Spurred by bug report #3, SLF4J binding code has been refactored and simplified. Logging systems implementing SLF4J interfaces have to have less work in order to bind with SLF4J. Moreover, these changes have no incidence on the published interface of SLF4J.


August 26th, 2005 - Release of SLF4J 1.0-beta6

To ease migration to SLF4J from JCL, this release includes a jar file called jcl-over-slf4j-1.0.4.jar. This jar file can be used as drop-in replacement for JCL version 1.0.4. It implements the public API of JCL using SLF4J underneath.

Thus, you can immediately benefit from the advantages of SLF4J without waiting for all the libraries you depend on to migrate to SLF4J first.


August 16th, 2005 - Release of NLOG4J 1.2.16

This release adds solves a compatibility problem between log4j and nlog4j. Previous to this release, code compiled with log4j would not run correctly with nlog4j.

With the fixes introduced in NLOG4J 1.2.16, code compiled with log4j 1.2.x will run without problems when deployed using NLOG4j.

However, the inverse is not true. Code compiled with nlog4j can only be deployed using nlog4j.


August 12th, 2005 - Release of SLF4J 1.0-beta5 and NLOG4J 1.2.15

This release adds support for the Marker interface. Thus, log statements can be decorated with Marker data allowing more expressive power in the processing of log statements.

For the sake of IoC frameworks, Logger instances can new be queried for their name.

With the addition of markers, sub-domains are no longer needed.

The LoggerFactoryAdapter has been simplified and renamed as ILoggerFactory.


July 5th, 2005 - Release of NLOG4J 1.2.14

This release fixes compatibility problems between NLOG4J and Jakarta Commons Logging.


June 28th, 2005 - Release of SLF4J 1.0-beta4 and NLOG4J 1.2.13

Following discussions on the SLF4J developers list, the signatures of the printing methods in org.slf4j.Logger interface have been modified to admit messages of type String instead of type Object as previously. The current set of printing methods is listed below.

 void debug(String msg); 
 void debug(String format, Object arg); 
 void debug(String format, Object arg1, Object arg2); 
 void debug(String msg, Throwable t); 

 void error(String msg); 
 void error(String format, Object arg;) 
 void error(String format, Object arg1, Object arg2); 
 void error(String msg, Throwable t); 
      
 void info(String msg); 
 void info(String format, Object arg); 
 void info(String format, Object arg1, Object arg2); 
 void info(String msg, Throwable t); 
      
 void warn(String msg); 
 void warn(String format, Object arg); 
 void warn(String format, Object arg1, Object arg2); 
 void warn(String msg, Throwable t);  

NLOG4J release 1.2.13 reflects changes in the SLF4J API.

You can download SLF4J and NLOG4J, including full source code, class files and documentation on our download page.


May 17th, 2005 - SLF4J version 1.0-beta-3 released

In response to user comments, the org.slf4j.ULogger interface has been renamed as org.slf4j.Logger.


May 17th, 2005 - NLOG4J version 1.2.12 released

SLF4J.ORG is proud to release NLOG4J 1.2.12, a log4j-replacement with native SLF4J API support. Except for users of LF5, chainsaw or NTEvenAppender, NLOG4J should be considered as a 100% compatible, drop-in replacement for log4j version 1.2.9.

This release reflects changes in the SLF4J API, i.e renaming of org.slf4j.ULogger interface as org.slf4j.Logger.


May 17th, 2005 - SLF4J version 1.0-beta-3 released

SLF4J.ORG is proud to release SLF4J 1.0-beta-3. In response to user comments, the org.slf4j.ULogger interface has been renamed as org.slf4j.Logger.

You can download SLF4J, including full source code, class files and documentation on our download page.


May 14th, 2005 - NLOG4J version 1.2.11 released

SLF4J.ORG is proud to release NLOG4J 1.2.11, a log4j-replacement with native SLF4J API support. Except for users of LF5, chainsaw or NTEvenAppender, NLOG4J should be considered as a 100% compatible, drop-in replacement for log4j version 1.2.9.

You can download NLOG4J version 1.2.11, including full source code, class files and documentation on our download page.


May 4th, 2005 - SLF4J version 1.0-beta-2 released

SLF4J.ORG is proud to release SLF4J 1.0-beta-2. This release contains cosmetic or javadoc changes. For example, the project has a new logo.

You can download SLF4J version 1.0-beta2, including full source code, class files and documentation on our download page.


1 May 2005 - not-log4j-1.2.10 released

Subsequent to the recall of log4j 1.2.10, SLF4J.ORG releases non-log4j-1.2.10 for those interested in SLF4J support in log4j.

You can download not-log4j version 1.2.10, including full source code, class files and documentation on our download page.


22 April 2005 - SLF4J project goes live

The SLF4J project site, including SVN repositories go live. Users can download SLF4J version 1.0-beta1.


15 April 2005 - start of work on SLF4J source code

Start of work on the SLF4j source code.


13 April 2005 - start of work on SLF4J project

Launch of the SLF4J project. Work has begun on the web-site, svn repositories as well as the source code.