On Jan 17, 2008, at 1:38 AM, Chris Hostetter wrote:
: If I remember right, the file format changed in 2.1, such that 2.0
could not
: read a 2.1 index.
that is totally within the bounds of the compatibility statement...
http://wiki.apache.org/lucene-java/BackwardsCompatibility
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.
: Release 3.0 will be the first to require Java 5. But we can't do
it as we did
: before, where the new api was introduced in the x.9 release, with
the old
: marked as deprecated. To do so would make 2.9 not be a drop in
replacement for
: 2.4.
there's no reason why new APIs can't be introduced in 2.9, new APIs
were
introduced in 1.9 and it was still a drop in replacemend for 1.4. The
only hitch that makes 3.0/2.9 differnet then 2.0/1.9 is that since
we're
going to start allowing JDK1.5 features in 3.0, any new APIs that
want to
use 1.5 *syntax* features have to wait until 3.0.
I guess I said it poorly. That is exactly what I meant.
This admittedly is where some discussion should probably happen,
because
this might mean that because of some design decisions about what
some new
API should look like, 2.9 gets some deprecation messages warning
people
that a method won't be supported in 3.0, without the replacement
method
existing in 2.9 (because it requires generics or some new standard
library
class that isn't in 1.4) making it imposisble for some apps to compile
against 2.9 without getting deprecation warnings. but personally i
don't
think that's not the end of the world, particularly if we make it
clear
that 2.9 is a transitional release.
But as i say: some discussion should probably happen.
Well said! There needs to be a discussion on how how Java 1.5 is used
in the API. Probably on it's own thread and summarized on a wiki page.
Personally, I don't care any near as much how it is used within methods.
Incidently, here is the summary of the discussion about the
2.4,2.9,3.0/1.5 plan ...
http://wiki.apache.org/lucene-java/Java_1%2e5_Migration
(the details of how deprecations and new 1.5 APIs and deprecations
in 2.9
should be dealt with is admittedly a little fuzzy in the wiki, i can't
remember if they were fleshed out in any more depth in on the mailing
list, and i don't have the energy to re-read it all now)
As far as I remember, they weren't fleshed out. I remember thinking at
the time that this would be a problem that could wait until we got
close to 2.9. Well, we are closer. :)
: I'd like to recommend that 3.0 contain the new Java 5 API changes
and what it
: replaces be marked deprecated. 3.0 would also remove what was
deprecated in
: 2.9. Then in 3.1 we remove the deprecations.
FWIW: This would violate the compatibility requirements, since code
that
compiles against 3.0 (with deprecation warnings) wouldn't compile
against
3.1 -- but then again: there has been some mention of revisting the
entire
back compatibility commitments of Lucene, and now certainly seems
like the time
to discuss that before too much work is done in any particular
direction
in an attempt to "head towards" 2.9/3.0.
Any way that it goes, my point is that it needs to be a two step
process. The additional step needs to address the language differences.
Maybe after 2.9, we add 2.9.5 (or whatever) that introduces the Java 5
APIs, with appropriate deprecations. 2.9.5 would require Java 1.5.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]