Are there other changes to HEAD that should have been deprecation warnings in 1.2.8 other than Category? The only thing I can recall off the top of my head is LocationInfo.
Generally speaking, your point is really an excellent one. As Brian W. Kernighan and Rob Pike put in in their remarkable book entitled "The Practice of Programming":
Don't make the same mistake twice. After you fix a bug, ask whether you might have made the same mistake somewhere else.
With regards to the specifics, when you mention LocationInfo, I presume you are concerned about the fact that the LocationInfo class has been moved to another package, from o.a.l.spi to o.a.l.spi.location. However, the Location class is *internal* to log4j. It is not part of the public user interface of log4j.
Our policy has always been to be very careful to preserve compatibility between various log4j versions with respect to the user API of log4j. There is no such guarantee with respect to the internals of log4j. The SPI package was created to signal to both users and developers that its contents are internal to log4j.
See also http://logging.apache.org/log4j/docs/faq.html#4.1
As far as I know, there is no way graceful way to refactor *internal* components from version to version and at the same time keep serialization compatibility between versions. In particular, there is no deprecation mechanism for serialization.
Our guarantee to users consists of maintaining compile-time and run-time compatibility between their code and various log4j versions. This means that if users decide to upgrade to 1.3 from 1.2.x, their code should run without problems. On the other hand, we *try* to maintain (but do not guarantee) Java serialization compatibility between log4j versions. This means that the user may not be able to mix various log4j versions on different machines. In particular, 1.3 and 1.2 are likely to be incompatible in their serialization.
It is important to realize that backward compatibility cannot be guaranteed for log4j internals. If we fix the internals in stone, then I think it will be very difficult for us to have the log4j project evolve in the future. The Category->Logger and Priority->Level move has taught me that preserving backward compatibility is usually 10 times more complicated than what one would estimate initially.
-- Ceki Gülcü
For log4j documentation consider "The complete log4j manual"
http://www.qos.ch/shop/products/eclm/
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]