The current 1.3 branch is a substantial enough change from the 1.2 code base that there have been (and continue) many inadvertent or unexpected compatibility issues with 1.2, however the minor release designation has prevented desirable code changes that may cause some breakage. For example, many classes that should not be extended (Logger and LoggingEvent) were not declared as final. It is possible that some users have been able to successfully extend those classes in limited ways, so designating them as final is not an appropriate change for minor release.
Some potential things I could see that could be tolerated in a 2.0 release that wouldn't fit in a 1.3 (please let me know any I have left out)
Designating classes not designed for extension as final.
Lowering visibility of members and methods, particularly making protected member variables private and changing package visible member methods.
Dropping JDK 1.1 collection types
Finer grain synchronization with potentially some changes in locking semantics.
Using JDK 1.5 typed collections on JDK 1.5+ while still supporting JDK 1.2 collections.
Hopefully these could be accomplished without compromising client code, but may break some amount of custom appenders, layouts and such.
We are all anxious to have something to show for the long development time of the 1.3 branch, but as much as we've changed, it would be a missed opportunity not to break things that should be broken. I would however prefer this not be an excuse for breaking things that should not have been broken and pushing back the release targets.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
