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