Apache OpenOffice (AOO) Bugzilla – Issue 124385
Unpublish the Undo API
Last modified: 2017-05-20 09:32:08 UTC
The Undo API was erroneously published by Bug 117329 in the same version where it was first released. All its types should be unpublished.
"arielch" committed SVN revision 1575661 into trunk: i124385 - [API] Unpublish the Undo API
Fixed on trunk
I don't see how removing the 'published' keyword is a valid action, especially for interfaces that exist for almost three years. If I understand this keyword correctly then it is basically a guarantee that the interface will not change (at least not until the next major version release). Besides, bug 117329, explicitly states that the interfaces et al in question should have the 'published' keyword. All of them are in the list of interfaces attached to that issue. I don't see the mistake.
(In reply to Andre from comment #3) > I don't see how removing the 'published' keyword is a valid action, > especially for interfaces that exist for almost three years. Time as an argument is a non-sense, as OpenOffice.org 3.4 Beta (were this API was released) was "dead" until AOO 3.4.0 was released at the ASF, so you shouldn't count time, but releases. > Besides, bug 117329, explicitly states that the interfaces et al in question > should have the 'published' keyword. All of them are in the list of > interfaces attached to that issue. I don't see the mistake. Publishing the API in the same release were it was made available to the API users is obviously an error. I don't know how this list was generated, may be Jürgen who was in charge of the QA/verifying has an idea; I assume they grep'ed the IDL files, and as they had no @since tag, they were added to that list. Not as an argumentum ab auctoritate, but as a side note, LO reverted "publishing of lots of UNO types", including this Undo API, in http://cgit.freedesktop.org/libreoffice/core/commit/?id=78cca63070ae6cf82b45ec3bc75fafa2db31a7f2
This is the first time that I hear that publishing an API right from the start could be an error and even an obvious one. I see the not-publishing more as a sort of safety net (for the developer, not the user). Regarding LO un-publishing API: In my experience they seem not to have so many problems with making incompatible changes to their API. This becomes 'legal' when the API is not published. It is more convenient for the API developer but much less convenient for the API user.
"arielch" committed SVN revision 1576138 into trunk: i124385 - Correct date
@Ariel: I think that the time since release of that API is an argument because that is the time our API users had to rely on it. If somebody uses this API (with or without its default implementation) for three years might have gotten used to it and could be a bit unhappy to see it changed now.