atom feed1 message in[ANNOUNCE] Apache Lucene Java 3.0.0 r...
FromSent OnAttachments
Uwe SchindlerNov 26, 2009 2:24 am 
Subject:[ANNOUNCE] Apache Lucene Java 3.0.0 released
From:Uwe Schindler (
Date:Nov 26, 2009 2:24:26 am

Hello Lucene users,

On behalf of the Lucene dev community (a growing community far larger than just the committers) I would like to announce the release of Lucene Java 3.0.0:

The new version is mostly a cleanup release without any new features. All deprecations targeted to be removed in version 3.0 were removed. If you are upgrading from version 2.9.1 of Lucene, you have to fix all deprecation warnings in your code base to be able to recompile against this version.

This is the first Lucene release with Java 5 as a minimum requirement. The API was cleaned up to make use of Java 5's generics, varargs, enums, and autoboxing. New users of Lucene are advised to use this version for new developments, because it has a clean, type safe new API. Upgrading users can now remove unnecessary casts and add generics to their code, too. If you have not upgraded your installation to Java 5, please read the file JRE_VERSION_MIGRATION.txt (please note that this is not related only to this version of Lucene, it will also happen with any previous release when you upgrade your Java environment).

Lucene 3.0.0 has some changes regarding compressed fields: 2.9.0 already deprecated compressed fields; support for them was removed now. Lucene 3.0.0 is still able to read indexes with compressed fields, but as soon as merges occur or the index is optimized, all compressed fields are decompressed and converted to Field.Store.YES. Because of this, indexes with compressed fields can suddenly get larger.

While we generally try and maintain full backwards compatibility between major versions, Lucene 3.0.0 has some minor breaks, mostly related to deprecation removal, pointed out in the 'Changes in backwards compatibility policy' section of CHANGES.txt. Notable are:

- now opens in read-only mode per default (this method was deprecated because of that in 2.9.X). The same occurs to IndexSearcher.

- Already started in 2.9, core TokenStreams are now made final to enforce the decorator pattern.

- If you interrupt an IndexWriter merge thread, IndexWriter now throws an unchecked ThreadInterruptedException that extends RuntimeException and clears the interrupt status.

See core changes at and contrib changes at

Binary and source distributions are available at

Lucene artifacts are also available in the Maven2 repository at