March, 2009 Java News

Wednesday, March 25, 2009 (Permalink)

Amin Ahmad has released Ropes for Java 1.2.5, an open source (GPL) implementation of the rope data structure in Java. "A rope is a high performance replacement for Strings. The datastructure, described in detail in "Ropes: an Alternative to Strings", provides asymptotically better performance than both String and StringBuffer for common string modifications like prepend, append, delete, and insert. Like Strings, ropes are immutable and therefore well-suited for use in multi-threaded programming." This is a bug fix release. All users should upgrade.

Friday, March 20, 2009 (Permalink)

Sun has released NetBeans 6.5.1, its open source IDE for Java, Ruby, JavaScript, C++, and now PHP and Groovy. This release upgrades Glassfish to 2.1, and fixes numerous bugs.

I'm curious what will happen to NetBeans in the evevnt of an IBM takeover. I suspect it will be quietly abandoned in favor of Eclipse, which would be a shame. NetBeans is a nice product even if it's never gotten the uptake Eclipse and IntelliJ have. On the other hand maybe IBM can put some of the NetBeans team obvious talent to good use deuglifying Eclipse. The appearance and usability of NetBeans is just leaps and bounds beyond Eclipse. It's pretty obvious there's at least one person on the NetBeans team, probably several, who have some understanding of usability. It's equally obvious there aren't any such developers in Eclipse land.

Thursday, March 19, 2009 (Permalink)

The Legion of the Bouncy Castle has released version 1.42 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 Grain v1, and Grain128, as well as basic support for AuthenticatedData to the CMS API. Further work has been done to improve the BC APIs working with Provider objects rather than provider names and JDK 1.5 and 1.6 jars are now pack200 friendly.

Download it while it's still legal.

Monday, March 16, 2009 (Permalink)

Bill Pugh of the University of Maryland has released FindBugs 1.3.8, an automated open source tool for finding potential bugs in Java code. New bug detectors in this release include:

  • SF_SWITCH_NO_DEFAULT: missing default case in switch statement.
  • SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW: value ignored when switch fallthrough leads to thrown exception.
  • INT_VACUOUS_BIT_OPERATION: bit operations that don't do any meaningful work.
  • FB_UNEXPECTED_WARNING: warning generated that conflicts with @NoWarning FindBugs annotation.
  • FB_MISSING_EXPECTED_WARNING: warning not generated despite presence of @ExpectedWarning FindBugs annotation.
Friday, March 13, 2009 (Permalink)

Ivan Szkiba has released ini4j 0.4.1, an open source (Apache 2.0) Java library for parsing Windows .ini files. It includes a Java Preferences API implementation based on the .ini file.

Wednesday, March 11, 2009 (Permalink)

Sun has posted the proposed final draft of JSR-318 Enterprise JavaBeans 3.1. New features in 3.1 include:

  • A simplified Local view that provides Session Bean access without a separate Local Business interface.
  • Packaging and deployment of EJB components directly in a .war without an ejb-jar.
  • An embeddable API for executing EJB components within a Java SE environment.
  • A Singleton session bean component that provides easy access to shared state, as well as application startup/shutdown callbacks.
  • Automatically created EJB Timers.
  • Calendar based EJB Timer expressions.
  • Asynchronous session bean invocations.

Comments are due by November 3.

Tuesday, March 10, 2009 (Permalink)

I am pleased to announce the release of XOM 1.2.1, my free-as-in-speech (LGPL) dual streaming/tree-based API for processing XML with Java. Version 1.2.x adds several minor new features including:

  • Latest Unicode normalization tables.
  • A lookup method in XPathContext that finds the namespace URI for a prefix
  • xml:id attributes no longer checked for NCNames
  • Upgraded to Xerces 2.8.0, DTD-only version
  • DOMConverter can accept a NodeFactory to be used in creating the XOM document
  • Various bugs were fixed, especially in canonicalization and XPath, and one that could cause toXML to generate malformed output when a namespace URI contained an ampersand.

1.2.1 fixes one very minor glitch in 1.2.0. (The version number was still printing 1.0 on System.out.) XOM 1.2.1 should be fully backwards compatible with code written to 1.0 and 1.1 APIs. 1.2.1 should also be somewhat easier to compile and edit due to various changes with UnicodeUtil and Jaxen.

My apologies that this one took so long. There should have been a release in 2007, but late 2007-2008 was a very challenging time. (Moved across the country; new jobs, etc.) On the plus side, several additional bugs did get fixed over the last year.

At this point XOM is essentially feature-complete. I have no plans for major additions to the API though I will continue to fix any bugs that are discovered and improve performance as opportunities suggest themselves.

Friday, March 6, 2009 (Permalink)

Mort Bay Consulting has released Jetty 6.1.15, an open source servlet engine that supports version 2.5 of the Java Servlet API and version 2.1 of Java Server Pages, and my personal favorite embeddable web server. This is a bug fix release.

Tuesday, March 3, 2009 (Permalink)

Sun has released JavaMail 1.4.2. JavaMail is a basic library for performing POP, SMTP, and IMAP. I wrote about this in the final chapter of Java Network Programming. Accoording to Bill Shannon:

The 1.4.2 release contains several bug fixes, performance improvements, and enhancements, including the following significant changes:

  • Improvements to InternetAddress parsing. By setting the System property "mail.mime.address.strict" to "false", no addresses in mail messages will cause parsing errors.
  • "Be liberal in what you accept." In addition to the above, several other System properties can be set to allow JavaMail to accept bogus messages of various types.
  • Significant rewrite of IMAP locking to avoid deadlocks.
  • Significant rewrite of IMAP message cache to delay creating IMAPMessage objects until needed. This significantly reduces memory consumption with very large IMAP mailboxes.
  • The JavaMail DSN support now also supports parsing Message Delivery Notifications.
  • Simplified SSL support. It's now even easier to enable SSL support in JavaMail. Instead of using the SSL protocol names, you can simply set the mail.<protocol>.ssl.enable property. This means you don't have to remember to (for example) change the property "mail.smtp.host" to "mail.smtps.host", instead you can continue to set "mail.smtp.host" and also set "mail.smtp.ssl.enable" to "true" to enable use of SMTP over SSL.
  • RFC 2595 server identity check. Enable the server identity checks specified in RFC 2595 to prevent man in the middle attacks by setting the property "mail.<protocol>.ssl.checkserveridentity" to "true".

Java 1.4 or later is required.


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

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

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