Syncro Soft has released Syncro SVN Client 3.1, a $59 GUI Subversion client written in Java. Version 3.1 "nt introduces two new presentation modes in the Synchronize view (the compressed mode and the flat mode), new actions in the Working Copy view, in the History view and in the Synchronize view and a compare folders action on the revision graph of a folder."
Version 1.1.9 of the Kaffe open source Java virtual machine for various Unixes has been released. This release adds support for java.util.concurrent and improves the build system.
The GNU Project has released version 0.97 of GNU Classpath, an incomplete free implementation of the core Java class libraries.
this release is primarily a maintenance release. The recent release of the majority of Sun's class library as Free Software on May the 8th, 2007, under the auspices of the OpenJDK project ( http://openjdk.java.net ) has changed the position of GNU Classpath within the community and recent efforts have focused on bringing together Classpath and OpenJDK code under the umbrella of IcedTea ( http://icedtea.classpath.org ) and BrandWeg ( http://icedtea.classpath.org/wiki/BrandWeg ). We hope to extend support and work together with the OpenJDK community over time.
The main feature of this release is major changes to Classpath's build system. Notably, configure now tries to find ecj, javac and gcj (in that order), with the --with-ecj and --with-javac options being removed. To override this, set JAVAC when calling configure. This brings the use of the Java compiler in line with that of the C and C++ compilers. Building also now requires a version of javah so that headers may be generated.
There have also been many bugfixes over the past four months. Those relevant to 0.97 can be found at http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.97
GNU Classpath is published under the GPL with library exception.
Sun has posted the list of sessions for JavaOne. At first glance, it looks surprisingly similar to last year. One side effect of more and more work being done in the open is that they're fewer and fewer surprises for the shows. Irrespective, I don't think I'll be able to attend this year.
Bill Pugh of the University of Maryland has released FindBugs 1.3.2, an automated open source tool for finding potential bugs in Java code. This release adds a whole new security category as well and associated bug detectors (mostly for servlets and JSPs).
 The Jakarta Apache Project has released 
 Tomcat 4.1.37,
an  open source servlet container 
 and official reference implementation of
 the Java Servlet API and Java Server Pages.
"This build contains numerous library updates, a small number of bug fixes and two important, one moderate and six low severity security fixes."
The Jakarta Apache Project has released 
 Tomcat 4.1.37,
an  open source servlet container 
 and official reference implementation of
 the Java Servlet API and Java Server Pages.
"This build contains numerous library updates, a small number of bug fixes and two important, one moderate and six low severity security fixes."
Sun has released NetBeans 6.0.1, its pure Java IDE for various platforms. I'll have to stuff the wireless network here at XML 2007 for a few minutes and grab a copy. This is a "small update" that includes:
- Addition of Japanese, Simplified Chinese, and Brazilian Portuguese localizations.
- Glassfish V2 is replaced with Glassfish V2 UR1.
- The integration of the December 2007 and January 2008 bug fixes listed on the following page: http://wiki.netbeans.org/wiki/view/NetBeans6.0PatchesInfo.
If you have already installed NetBeans IDE 6.0, you can get these fixes through the IDE's Plugins Manager without downloading the 6.0.1 version. In the IDE, choose Tools > Plugins, select the Update tab, and then select the appropriate updates.
The Jakarta Apache Project has posted the second alpha of HTTPClient 4.0, an open source (Apache 2.0 license) HTTP 1.0/1.1 pure Java library for performing assorted HTTP operations. Version 4.0 focuses on improving the architecture of the library to be about 10-25% faster than 3.0. New features include:
 Atlassian  has released Clover 2.1, a $1200 payware test coverage tool.
Clover modifies the source code to enable it to follow which statements are executed when, and keeps a running count of how many times each statement is executed during the test suite. Any statement that executes zero times is not being tested. 
I use Clover with  Ant, but there's also an Eclipse plug-in.
Clover can generate test coverage reports in 
XML, HTML, PDF, or via a Swing  Viewer. 
Version 2.1 "allows users to tailor code coverage reporting even more closely to their needs. Configurable risk metrics let you choose an algorithm that matches your definition of a project risk. 'Coverage Clouds' are now available for every individual package. Building on the per-test coverage that was introduced in Clover 2.0, in Clover 2.1 reports from merged databases now include per-test coverage data."
Atlassian  has released Clover 2.1, a $1200 payware test coverage tool.
Clover modifies the source code to enable it to follow which statements are executed when, and keeps a running count of how many times each statement is executed during the test suite. Any statement that executes zero times is not being tested. 
I use Clover with  Ant, but there's also an Eclipse plug-in.
Clover can generate test coverage reports in 
XML, HTML, PDF, or via a Swing  Viewer. 
Version 2.1 "allows users to tailor code coverage reporting even more closely to their needs. Configurable risk metrics let you choose an algorithm that matches your definition of a project risk. 'Coverage Clouds' are now available for every individual package. Building on the per-test coverage that was introduced in Clover 2.0, in Clover 2.1 reports from merged databases now include per-test coverage data."
Oracle has posted a beta of Berkeley DB Java Edition 3.3.50 on the Oracle Technology Network (registration required). This is a non-relational embedded database written in Java. The data is exposed through "a Java Collections-style interface, as well as a programmatic interface similar to the Berkeley DB API." This release is a "specialized version of Berkeley DB Java Edition tailored to operate on the Davlik JVM and Android environment provided by Google. These features will become formal features of Berkeley DB Java Edition in a future release."
Apple has posted a new developer preview of Java 6 for Mac OS X 10.5 (Leopard) on the Apple Developer Connection (first born child required). This release is only for the Intel 64-bit systems running Mac OS X v10.5.1 or later.
The Eclipse Project has posted the fifth milestone release of Eclipse 3.4 Ganymede, their open integrated development environment for Java. This release may be more stable on the Mac than 3.3. In addition, new features include:
The Gnu Project has released version 4.2.3 of GCC, the GNU Compiler Collection. GCC contains frontends for C, C++, Objective C, Fortran, Ada, and Java as well as libraries for these languages. GCC's Java is a clean room implementation that doesn't use any Sun code, so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.4 level with some omissions. 4.2.x adds a new -static-libgcj command-line option that causes libgcj "to be linked statically. In some cases this causes the resulting executable to start faster and use less memory than if the shared version of libgcj were used. However caution should be used as it can also cause essential parts of the library to be omitted." Furthermore, fastjar is no longer bundled with GCC. Instead InfoZIP is required.
JetBrains has released TeamCity 3.0, a $399 payware continuous integration server. TeamCity manages builds and can be configured not to check in code unless tests pass. (This is actually a quite bad idea, for reasons I've outlined elsewhere. Refusing to commit failing tests is simple denial. Admitting you have a problem is the first step toward fixing it.) New features in 3.0 include:
Sun has posted the proposed final draft of JSR 293 - Location API 2.0. According to the draft:
This specification defines a Java ME Optional Package that enables mobile location-based applications for resource limited devices (referred to as 'terminals' in the following). The API is designed to be a compact and generic API that produces information about the present geographic location of the terminal to Java applications. This API covers obtaining information about the present geographic location and orientation of the terminal and accessing a database of known landmarks stored in the terminal [JSR179].
The Location API 2.0 for Java ME extends JSR 179 Location API. This means that JSR 179 specification is part of the JSR 293 specification. Therefore applications written for Location API are upwards compatible with Location API 2.0 and will work without any changes in the Location API 2.0 compliant terminals. In addition to minor clarifications to Location API [JSR179], the version 2.0 adds several new features like map and navigation services to the API. These features are described in more detail later in this overview.