Issue 124385 - Unpublish the Undo API
Summary: Unpublish the Undo API
Status: CLOSED FIXED
Alias: None
Product: App Dev
Classification: Unclassified
Component: api (show other issues)
Version: 3.4.0
Hardware: All All
: P3 Normal
Target Milestone: ---
Assignee: Ariel Constenla-Haile
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-09 05:30 UTC by Ariel Constenla-Haile
Modified: 2017-05-20 09:32 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ariel Constenla-Haile 2014-03-09 05:30:42 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.
Comment 1 SVN Robot 2014-03-09 05:46:52 UTC
"arielch" committed SVN revision 1575661 into trunk:
i124385 - [API] Unpublish the Undo API
Comment 2 Ariel Constenla-Haile 2014-03-09 05:48:58 UTC
Fixed on trunk
Comment 3 Andre 2014-03-10 08:25:12 UTC
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.
Comment 4 Ariel Constenla-Haile 2014-03-10 12:20:20 UTC
(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
Comment 5 Andre 2014-03-10 12:49:58 UTC
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.
Comment 6 SVN Robot 2014-03-10 23:53:00 UTC
"arielch" committed SVN revision 1576138 into trunk:
i124385 - Correct date
Comment 7 Andre 2014-03-11 08:19:48 UTC
@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.