My numbering has nothing to do with yours...
1. The versioning manifest described in [1] used to be at
http://cocoon.apache.org/versioning.html. Somewhere along the line that
page was apparently removed. Probably because it wasn't being followed.
There was a followup thread a while later where many committers didn't
even remember we had passed this.
2. Personally I think 2.2 should be 3.0, but that is just me. Because of
that I have no real problem breaking binary compatibility with it and so
I definitely don't have a problem with what you are proposing there.
3. Welcome to the club. We've all been depressed at one time or another
over how infrequently we do releases. But the list of issues shouldn't
end there. For one, your original fix shouldn't have been able to go in
without causing the build to test. The number of unit tests we have is
abysmal. We can drastically improve this in 2.2 since maven makes it so
easy to build and run them, but I don't think it is that hard in 2.1 either.
I kind of find it amusing that you checked in this change 3 months ago
and no one has noticed until now that the JXPath modules are all broken
- at least on getting the values of elements anyway. Attributes still work.
In the end I'm probably just going to let this slide unless someone else
responds and says it will be a problem for them, partly for the reasons
you cite with regards to JXPathHelper, partly because the existing
method is a bit odd and partly for other reasons.
I'll add the new method and fix the other classes as part of checking in
XPathXMLFileModule (ironically, I made a new class because this version
is not quite compatible with XMLFileModule).
Ralph
Grzegorz Kossakowski wrote:
Ralph Goers pisze:
So you have no problem breaking API contracts with end users on minor
point releases?
To be honest I was thinking about 2.2 mainly. Anyway, I agree with everything
that has been said in
the thread[1] mentioned by you but at the same time I see some subtle details:
1. JXPathHelper, even if not marked explicitly, should be considered as rather
internal class. It
has absolutely no Javadocs and does not look as a standard API.
2. Current behavior of getAttribute() method does not fulfill any API's needs
as there are no
documentation on how it is supposed to work. What's more current behavior is
completely different
from what one could expect taking
javax.servlet.http.HttpServletRequest.getAttribute() as an example
of similar functionality.
3. We are really bad on releasing and desperately bad on making minor releases.
It was clearly shown
by Antonio: http://article.gmane.org/gmane.text.xml.cocoon.devel/76241
I'm not sure if it's just me not being in good condition overall but when I
read this list compiled
by Antonio and realize how long it takes to make a patch release I become
really depressed. Don't
you think that waiting about three to four years to remove (first deprecate)
some old code is too long?
[1] http://marc.info/?l=xml-cocoon-dev&m=108266407019215&w=2