March, 2007 Java News

Friday, March 30, 2007 (Permalink)

Adobe Systems has posted the first alpha of Apollo, a software development kit and runtime environment for building multiplatform applications. (Sound familiar?) Apollo is based on HTML, JavaScript, Flash, and Flex. Windows and Mac (but not Linux) are supported.


JetBrains has released IntelliJ IDEA 6.0.5. This release adds support for Tomcat 6, JUnit 4.2, and Ant 1.7. Also, "You no longer have to apply for the free 30-day evaluation key. Just download the installation package, setup and get started. Your free evaluation period starts when you first run IntelliJ IDEA." That's sensible. I wish more people proffering demos would simplify the process like that. It would certainly make me more inclined to try out a product (though in IDEs case I already have a full license they gave me for speaking at a user group last year). IDEA is $499 payware. Upgrades from previous version are $299.


Julien Ponge has released IzPack 3.10.1, an open source tool for building cross-platform installers in Java. 3.10.1 fixes bugs. IzPack is published under the Apache License 2.0.

Thursday, March 29, 2007 (Permalink)

The Free Software Foundation has released the third draft of the GNU General Public License version 3.

Changes in this draft include:

  • First-time violators can have their license automatically restored if they remedy the problem within thirty days.
  • License compatibility terms have been simplified, with the goal of making them easier to understand and administer.
  • Manufacturers who include the software in consumer products must also provide installation information for the software along with the source. This change provides more narrow focus for requirements that were proposed in previous drafts.
  • New patent requirements have been added to prevent distributors from colluding with patent holders to provide discriminatory protection from patents.

Unbelievably all explanatory documents are PDFs. I thought the FSF had a clue, but there really doesn't seem to be any HTML. Usually when this happens, I want to go over to the publisher's office and delete every copy of Microsoft Word from their systems. In this case, though, I expect what we'd really need to do is hack in and delete LaTeX instead. Probably wouldn't work, though. They probably have it all backed up in Subversion.

When are publishers going to get a clue? Authoring tool preference is not an excuse for annoying users with PDF. If you're going to publish on the Web, use a format designed for the Web. that's HTML, not PDF. If your authoring tool doesn't support HTML, buy a better tool. (The FSF can build one instead if they like.)

And to everyone who writes in every time I say this to explain that they really want to download the file and waste a lot of paper and toner printing it out so they can read it at the beach, please remember. We're talking about reading documents on the Web, not at the beach or on airplanes. Thank you.


Robert G. McCue has released HtmlRipper 2.1.5, "a Java package that contains routines that enable dynamic data to be extracted from Web pages, HTML documents, using pre-defined rule sets. These routines allow you to dynamically create web pages for viewing that contain only the data you are interested in from your favorite web sites without all the annoying 'noise' that surrounds them. Multiple data sets can be combined into a single dynamic web page. The HtmlRipper software is ideal for the creation of data mining, page analysis, web page filtering and article clipping / ripping software especially for the creation of data pages for WAP display." HTML Ripper is published under the LGPL.


Kent Beck and David Saff have released JUnit 4.3.1. This is a bug fix release for a couple of regressions that snuck into 4.3. (I guess there test suite wasn't comprehensive enough. How ironic.) Java 5 is required.


Jose Solorzano has released pBeans 2.0.1, yet another library for storing Java objects in SQL databases. The tables and databse schemas are automatically created from the beans. Supported databases include MySQL, PostgreSQL, and MS SQL Server. pBeans is published under the Apache 2.0 license.


DeNova, Inc. has released JExpress Professional 7.0.6, a $499 payware cross-platform installer builder for Mac OS X, Windows, Linux, and Solaris.


Websina has released BugZero 4.5.3, a $1299 payware (+$300 for maintenance) Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 4.5.3 makes some small UI improvements.


Diomidis Spinellis has released UMLGraph 4.7, an open source (BSD license) tool for declaratively specifying UML diagrams. UMLGraph uses text files that look vaguely like source code to specify how UML class and sequence diagrams are drawn. A doclet converts this into a Graphviz diagram that can be easily converted to Postscript, GIF, SVG, JPEG, etc. Version 4.7 is a bug fix release. Java 5 is required.


Enterprise Distributed Technologies has released edtFTPj/Pro 1.4.0, a $299 payware FTP library for Java that supports FTP over SSL. Version 1.4.0 adds FTPInputStream and FTPOutputStream classes and fixes bugs.

Wednesday, March 28, 2007 (Permalink)

The Big Faceless Organization has released the Big Faceless PDF Library 2.7.8. This release focuses on "improvements to clients using the PDF Viewer extension to build interactive viewers." The library costs $700 (more if you want support)s. The $1300 Extended Edition adds the AcroForms support, digital signatures, and the ability to import and edit and existing PDF documents.

Monday, March 26, 2007 (Permalink)

Object Refinery Limited has released JFreeChart 1.0.5. This release adds "a new renderer for creating time series forecast charts, support for item labels on stacked XY bar charts, and tooltips in step charts" and it fixes bugs. JFreeChart is free software under the terms of the GNU Lesser General Public Licence (LGPL), and requires Java version 1.3.1 or later.


Lorenzo Bettini has released GNU Source-highlight 2.6, a GPL'd tool for reading Java, C/C++, Prolog, Perl, PHP3, Flex, ChangeLog, JavaScript, LUA, CAML, SML, Log, C#, XML, LaTeX, Tcl, SQL, BibTeX, and Python code and translating them into syntax highlighted HTML and XHTML. This release adds support for makefiles, CSS, and m4. Binaries are available for Unix, and it should compile on Windows with the appropriate libraries.


Sebastiano Vigna has released version 5.0.9 of fastUtil, a collection of type-specific Java maps and sets with a small memory footprint and faster access and insertion. The classes implement their standard counterpart interfaces such as java.util.Map and can be plugged into existing code. However, they also contain type-specific methods. For instance, the CharList class has not only the usual add(Object o) method but also an add(char c) method. This release adds new bulk read methods. fastUtil is published under the GNU Lesser General Public License (LGPL).

Sunday, March 25, 2007 (Permalink)

The Jakarta Apache Project has released Commons Transaction 1.2. "Commons Transaction aims at providing lightweight, standardized, well tested and efficient implementations of utility classes commonly used in transactional Java programming. Initially there are implementations for multi level locks, transactional collections and transactional file access. There may be additional implementations when the common need for them becomes obvious. However, the complete component shall remain compatible to JDK1.2 and should have minimal dependencies." Version 1.2 mostly fixes bugs.

Friday, March 23, 2007 (Permalink)

The Apache Jakarta Project has released Apache Jakarta Regexp 1.5. It includes source code, JavaDoc API documentation, a test suite, and as well as a simple applet for visual debugging. This can be useful for anyone who needs their software to run on Java 1.3 or earlier, which don't include java.util.regex. 1.5 is a bug fix and optimization release.

Wednesday, March 21, 2007 (Permalink)

Kent Beck and David Saff have released JUnit 4.3. Besides bug fixes, the major changes are:

  • Using assertEquals to compare array contents is now deprecated. In the future, assertEquals will revert to its pre-4.0 meaning of comparing objects based on Java's Object.equals semantics.
  • The @Ignore annotation can now be applied to classes, to ignore the entire class, instead of individual methods.

JUnit 4 takes advantage of Java 5 features like annotations, varargs, and generics to simplify unit testing still further. If you're committed to Java 5, then JUnit 4 is big leap forward. Unfortunately while JUnit 4 is backward and forwards compatible with JUnit 3 test suites and test runners, it's completely incompatible with Java 1.4 and earlier so I'm afraid most of us will be sticking with JUnit 3 for some years to come.

Sunday, March 18, 2007 (Permalink)

Sun has posted the first maintenance review change log for JSR 256: Mobile Sensor API . Changes appear quite minor. Comments are due by April 2.

Saturday, March 17, 2007 (Permalink)

According to Mark Reinhold, Sun will not be able to fully release the JDK under the GPL in the near future. they're a couple of critical graphics components they don't own and can't open source. These will only be released as binaries. They hope to be able to reimplement and replace these in the future.


The Legion of the Bouncy Castle has released version 1.36 of the Bouncy Castle Java Cryptography API, an open source, clean-room implementation of the Java Cryptography Extension (JCE). It supports X.509 certificates, PKCS12, S/MIME, CMS, PKCS7, TEA, XTEA, SHA224, and lots of other juicy acronyms. It also includes its own light-weight crypto API that works in Java 1.0 and later, and does not depend on the JCE. According to the announcement:

This release adds the SEED and Salsa20 algorithms, support for the SHA family with RSA-PSS for certificate, CRL, and certification request generation, and fixes a regression that occured in 1.35 for generating S/MIME signatures for signed multi-part documents with nested preamble and an error in the UTF8 decoder which affected some surrogate pairs. In addition S/MIME and CMS now support SEED, Camellia, and EC based key agreement as specified in X9.63.

Download it while it's still legal.


The Jakarta Apache Project has posted the first release candidate of HTTPClient 3.1, an open source (Apache 2.0 license) HTTP 1.0/1.1 pure Java library for performing assorted HTTP operations. "Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. The Jakarta Commons HttpClient component seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations." Features include:

  • GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE
  • HTTPS (HTTP over SSL)
  • HTTP proxies
  • Tunneled HTTPS connections through HTTP proxies, via the CONNECT method.
  • Transparent connections through SOCKS proxies (version 4 & 5) using native Java socket support.
  • Basic, Digest, encrypting NTLM (NT Lan Manager), and pluggable custom authentication
  • Multi-Part form POST
  • "Connection management support for use in multi-threaded applications. Supports setting the maximum total connections as well as the maximum connections per host. Detects and closes stale connections."
  • Cookies
  • KeepAlive in HTTP/1.0 and persistence in HTTP/1.1
  • Connection timeouts

According to Michael Becke, "This version finalizes the RFC 2965 cookie management API and adds a number of improvements to the HTTP connection management classes."

Friday, March 16, 2007 (Permalink)

Oracle has released Berkeley DB Java Edition 3.2.21. This is an open source, 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 is a bug fix release.


Tuesday, March 20, is the fifth iteration of Extreme Tuesday New York. This will be held at Vol de Nuit, 148 W 4th St., starting at 6:30. Weather and JetBlue permitting I'll be in Santa Clara by then so I'll miss this one.

Thursday, March 15, 2007 (Permalink)

Larry Ogrodnek has released Sparklines for Java 1.2. "Sparklines are 'intense, simple, wordlike graphics.' They are detailed in Edward Tufte's latest book, Beautiful Evidence and also in his message board." Sparklines for Java contains Java and JSTL libraries for drawing sparklines.

Wednesday, March 14, 2007 (Permalink)

Vodafone and Nokia have released JSR 248: Mobile Service Architecture

The MSA Specification is a Java architecture definition that describes the essential Java client components of an end-to-end wireless environment. The MSA Specification defines a set of Java ME technologies and shows how these technologies have to be correctly integrated in a mobile device to create an optimal mobile Java platform. As a normative specification, the MSA Specification produces compatibility requirements that are reflected in the MSA TCK. Service and content providers can use the MSA Specification as a guideline for application development and can benefit from better application portability between different MSA compliant implementations.

This spec pulls together:

  • JSR 75 – PDA Optional Packages for the J2ME Platform Version 1.0
  • JSR 82 – Java APIs for Bluetooth Version 1.1
  • JSR 118 - Mobile Information Device Profile
  • JSR 135 - Mobile Media API Version 1.1
  • JSR 139 - Connected Limited Device Configuration* Version 1.1
  • JSR 184 - Mobile 3D Graphics API for J2ME Version 1.1
  • JSR 205 - Wireless Messaging API 2.0 Version 2.0
  • JSR 226 - Scalable 2D Vector Graphics API for J2ME Version 1.0
  • JSR 172 - J2ME Web Services Specification Version 1.0 Web Services (JAX RPC)
  • JSR 177 – Security and Trust Services API for J2ME Version 1.0
  • JSR 179 – Location API for J2ME Version 1.0.1
  • JSR 180 – SIP API for J2ME Version 1.0.1
  • JSR 229 - Payment API Version 1.1.0
  • JSR 234 - Advanced Multimedia Supplements Version 1.0
  • JSR 238 - Mobile Internationalization API Version 1.0
Tuesday, March 13, 2007 (Permalink)

Sun has posted the early draft review of JSR-290, Java Language & XML User Interface Markup Integration to the Java Community Process (JCP). According to the draft,

The JSR 290 API provides the following:

  • An API to load, render and play XML User Interface content in the javax.fluid package. This includes APIs to control the execution of scripts, an API to provide custom backgrounds and overlays when rendering XML User Interfaces and a way to share user interface components between XML User Interface players. XML User Interface content can be loaded from the application's resources, over the network, or from any other source the application has access to (e.g., over a Bluetooth connection).
    In addition, the javax.fluid.textinput package provides an API to process text input. This allows integration with the platform specific input methods.
  • Integration with the browser environment by offering an API to start and interact with an external application to display various content types.
  • A description of how the Document Object Model (DOM) structure and event support can be leveraged to enable Java language to ECMAScript communication.
  • A set of markup conventions which tools can leverage to ease the binding of markup content with Java code.

Comments are due by April 11.

Monday, March 12, 2007 (Permalink)

JPOX 1.1.7, an open source implementation of Java Data Objects (JDO) 2.0, has been released. that provides transparent persistence to Java objects. It supports most major SQL databases and can be queried using either JDOQL or SQL. 1.1.7 is a bug fix release. It's published under the Apache 2.0 License.

Sunday, March 11, 2007 (Permalink)

Version 1.2.9 of Spring has been released. Spring is a layered Java/JEE application framework based on inversion of control. As near as I've ever been able to figure out, Spring is designed to enable applications to use plain old Java objects (POJOs) in JEE.

According to Juergen Hoeller, "This is a bugfix and refinement release for people still using the 1.2 series, and is intended as a drop-in update for Spring 1.2.8. It contains fixes for all problems reported since 1.2.8, and includes various backports from the Spring 2.0 branch. Note that this is the last planned release in the Spring 1.2 branch. Patch releases for 1.2.9 will only be provided in case of critical issues. We recommend to upgrade to Spring 2.0 for long-term usage." Spring is published under the Apache License 2.0.

Friday, March 9, 2007 (Permalink)

Software and Computer Systems Company, LLC has released FastPak for Java 1.2.10.55, a $30 payware Java application loader for Mac OS X operating system. FastPak for Java runs several applications in the same virtual machine. They claim this reduces memory footprint, startup time, and thread consumption.

Thursday, March 8, 2007 (Permalink)

Sun has posted the eleventh update release for Java 5.0 Tiger with fixes for a few dozen assorted bugs. As usual, it's available for Solaris, Windows, and Linux. This is free-as-in-beer, not yet as-in-speech.

Tuesday, March 6, 2007 (Permalink)

javaBin, the Norwegian Java User Group, has posted the Call for Papers for JavaZone 2007. Tracks include:

  • Core Java, AOP and utilities
  • Enterprise application development and integration
  • Java Web Technologies
  • Embedded, Mobile and Gaming
  • Experience reports
  • Methodology and Business

The conference takes place September 12-13 in Oslo.


In related news, I've updated the conferences page. If you know of any upcoming java shows that aren't mentioned here, please let me know.

Monday, March 5, 2007 (Permalink)

Stephan Heiss has released tIDE, an open source (GPL) integrated development environment for Java. Java 6 is required.


Syncro Soft has released Syncro SVN Client 2.2, a $59 GUI Subversion client written in Java. Version 2.2 "adds as main features support for SVN Annotations, integration with bug tracking tools and operations on a revision from the Affected Paths area of History view."

Sunday, March 4, 2007 (Permalink)

Jon S. Stevens has released SubEtha SMTP 1.2, a Java library that "provides a receptive SMTP server component. By plugging this component into your Java application, you can easily receive SMTP mail using a simple abstract Java interface."


Andrey Kusnetsov has released Imagero Reader 1.9.5_04 , a $3,399.96 payware image I/O library. "Supported file types include BMP, GIF, TIFF, PNG, JNG, MNG, JPEG (including CMYK and 12-bit grey), PSD, PBM, PGM, PPM, TGA, EPS, EPSI, and EPSF, MRW, CRW, NEF, DCR, and DNG. It can read thumbnails and can read and edit metadata (IPTC, EXIF, XMP, Wang Annotations, Image Resource Blocks, Image File Directrories, JPEG Markers). An image can be read into an array, Image, BufferedImage, or tiled RenderedImage. Accurate color conversion is done with ICC profiles. TIFF tools allow you to split and merge TIFF images."


Steve Souza has released the Java Application Monitor 2.3 (JAMon), an open source (BSD license) thread safe API for monitoring production applications. JAMon can be used to determine application performance bottlenecks, user/application interactions, and application scalability. JAMon gathers summary statistics such as hits, execution times (total, average, minimum, maximum, standard deviation), and simultaneous application requests. JAMon statistics are displayed in the sortable JAMon report. This is a bug fix release.


Eric Lafortune has released ProGuard 3.8, an open source Java "class file shrinker, optimizer, and obfuscator. It can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions. Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer." Version 3.8 fixes bugs. Proguard is published under the GPL.


Larry Ogrodnek has released Sparklines for Java 1.1. "Sparklines are 'intense, simple, wordlike graphics.' They are detailed in Edward Tufte's latest book, Beautiful Evidence and also in his message board." Sparklines for Java contains Java and JSTL libraries for drawing sparklines. This release no longer requires data URI support.


Sebastiano Vigna has released version 5.0.8 of fastUtil, a collection of type-specific Java maps and sets with a small memory footprint and faster access and insertion. The classes implement their standard counterpart interfaces such as java.util.Map and can be plugged into existing code. However, they also contain type-specific methods. For instance, the CharList class has not only the usual add(Object o) method but also an add(char c) method. This release streamlines the fast buffered stream classes. fastUtil is published under the GNU Lesser General Public License (LGPL).

Saturday, March 3, 2007 (Permalink)

Sun has posted a public review draft of JSR 233 - J2EE Mobile Device Management and Monitoring Specification. According to the draft:

The JSR 233 - J2EE Mobile Device Management and Monitoring specification defines the standardize interactions and management aspects for the heterogeneous remote device management and configuration of software on mobile devices. The specification defines extensions to the J2EE platform to support management functionality for mobile devices; and does not depend on specific configurations or profiles of J2ME.

The extension allows the applications to:

  • Initiate reprovisioning of the platform software and libraries on devices on the wireless network, including provisioning new software and libraries, upgrading existing software and libraries to fix bug to get the new version, remove software and libraries.
  • Initiate dynamic reconfiguration of the software and libraries, modifying default settings and configuration parameters and supporting security policies,
  • initiate reprovisioning of new application level software onto the device, and remove, upgrade, version manage it.
  • Provide a view of the software and application stack configuration of the remote device, including a dependency resolution mechanism.
  • Monitor application usage on mobile devices, for mobile devices supporting standard protocols for such purposes.

Panasonic has released the finished specs for JSR-164, JAIN SIMPLE Presence and JSR-165, SIMPLE Instant Messaging. JAIN stands for Java Advanced Intelligent Networking. It's two JSRs, but one spec. According to this spec,

The SIMPLE Presence and Instant Messaging API provides application control of standard instant messaging and presence using the SIP/SIMPLE protocol....The API is intended to make frequently used operations convenient, while minimizing SIP header and SIP message manipulation by the application. Thus the API does not permit the application to specify directly the SIP method in a message, and while it does permit the application control over SIP headers, certain headers are handled only by the implementation (see UserAgent for more information), and there are a number of default mechanisms in place so that the application does not typically need to process SIP headers. It is expected that the API can co-exist with SIP APIs such as JSR 32 JAIN™ SIP and JSR 180 SIP for J2ME™, as well as provide full SIMPLE application control without such APIs.

SIMPLE supports two types of messaging: page-mode and session-mode. During the development of this specification, session-mode was under consideration in the IETF. Consequently, this version of the API only provides page-mode instant messaging.

The API is structured along the SIP concept of a User Agent which provides a set of related functions on behave of the user. The presence-related user agents are:

  1. PresenceAgent
  2. PresenceUserAgent
  3. Watcher

The instant messaging related user agent is: PageModeClient.

Friday, March 2, 2007 (Permalink)

Syncro Soft has released Syncro SVN Client 2.1, a $59 GUI Subversion client written in Java. In version 2.1 "The repository path of the working copy can be easily changed with the Relocate action when the base URL of the repository is changed, for example when the repository is moved to some other server."

Thursday, March 1, 2007 (Permalink)

The Jakarta Apache Project has released Tomcat 6.0.10, an open source servlet container and official reference implementation of the Java Servlet API and Java Server Pages (JSP) from JEE 5. This is the first stable release in the 6.0 branch.


Older news:

20072006200520042003
January, 2007 January, 2006 January, 2005 January, 2004 January, 2003
February, 2007 February, 2006 February, 2005 February, 2004 February, 2003
March, 2006 March, 2005 March, 2004 March, 2003
April, 2006 April, 2005 April, 2004 April, 2003
May, 2006 May, 2005 May, 2004 May, 2003
June 2006 June, 2005 June, 2004 June, 2003
July, 2006 July, 2005 July, 2004 July, 2003
August, 2006 August, 2005 August, 2004 August, 2003
September, 2006 September, 2005 September, 2004 September, 2003
October, 2006 October, 2005 October, 2004 October, 2003
November, 2006 November, 2005 November, 2004 November, 2003
December, 2006 December, 2005 December, 2004 December, 2003

[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2007 Elliotte Rusty Harold
elharo@metalab.unc.edu