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 first release candidate
for Lucene Java 3.0.
Please download and check it out - take it for a spin and kick the tires. If
all goes well, we hope to release the final version of Lucene 3.0 in a
little over a week.
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 to Lucene
3.0, it will also happen with any previous release when you upgrade your
Lucene 3.0 has some changes regarding compressed fields: 2.9 already
deprecated compressed fields; support for them was removed now. Lucene 3.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 has some minor breaks, mostly related to
deprecation removal, pointed out in the 'Changes in backwards compatibility
policy' section of CHANGES.txt. Notable are:
- IndexReader.open(Directory) now opens in read-only mode per default (this
method was deprecated because of that in 2.9). The same occurs to
- 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.
Also, remember that this is a release candidate, and not the final Lucene
You can find the full list of changes here:
Changes have also occurred in Lucene's contrib area:
Download release candidate 1 here:
Be sure to report back with any issues you find! Look especially for faults
in generification of public APIs (like missing wildcards,...).
H.-H.-Meier-Allee 63, D-28213 Bremen