 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.
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.
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.
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.
 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.
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.
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). 
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.
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.
Kent Beck and David Saff have released JUnit 4.3. Besides bug fixes, the major changes are:
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.@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.
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.
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:
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:
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."
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.
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.
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:
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.fluidpackage. 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, thejavax.fluid.textinputpackage 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.
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.
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.
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.
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.
javaBin, the Norwegian Java User Group, has posted the Call for Papers for JavaZone 2007. Tracks include:
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.
 
 Stephan Heiss has released
 tIDE,
an open source (GPL)
integrated development environment for Java.
Java 6 is required.
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."
 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."
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."
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). 
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:
- PresenceAgent
- PresenceUserAgent
- Watcher
The instant messaging related user agent is:
PageModeClient.
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."
 
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.