Lucene version numbers are about compatibility.

Minor versions should always have complete API back-compatiblity. That's to say, any code developed against X.0 should continue to run without alteration against all X.N releases. A major release may introduce incompatible API changes. The transition strategy is to introduce new APIs in release X.N, deprecating old APIs, then remove all deprecated APIs in release X+1.0.

File formats are back-compatible between major versions. Version X.N should be able to read indexes generated by any version after and including version X-1.0, but may-or-may-not be able to read indexes generated by version X-2.N.

Note that older releases are never guaranteed to be able to read indexes generated by newer releases. When this is attempted, a predictable error should be generated.

Taken from an e-mail from Doug Cutting

http://mail-archives.apache.org/mod_mbox/lucene-java-dev/200605.mbox/%3C44622D4D.3080508@apache.org%3E