On 6/24/10 6:26 AM, Patrick McManus wrote:
Hi All,

On Thu, 2010-06-17 at 20:26 -0600, Leif Hedstrom wrote:

Anyone else have any thoughts / comments on this topic ? Unless it gets
"voted" down, I'll file a bug and list the APIs that we'd remove from
the 2.2 release. Yes, it's semi painful, but I think in the long term,
it helps developers not use APIs that we no longer support (and which
have better versions anyways).

In my opinion, there are several other better ways of improving plugin
design decisions. First, clean up the example code to remove deprecated
code. Second, clean up the documentation so the deprecated functions are
not mixed in with the stuff you want people to use  - exile them to a
deprecated appendix. Third, use compiler attributes to nag people who do
use them anyhow.. Finally, in a major release (i.e. 3.0) perhaps remove
the SDK prototypes for the deprecated functions but preserve the code in
order to maintain a stable ABI for old plugins.


Excellent points. I think I agree with all of what you are saying, but I do think we need to have a "path" to deprecate APIs, particularly now in the beginning when there's few users, and lots of changes (I've had to carry luggage for a long time with other projects, and it can become a real problem).

How about we do this for 2.2 (this is basically a summary of your ideas):

1) Fix all example plugins to not use deprecated APIs (that would have been a given anyways, since at least some of them wouldn't compile without the deprecated APIs).

2) Update all documentation, make sure a) No deprecated APIs are used in any examples and b) Move all deprecated APIs out to a separate section (an appendix is fine with me, if Diane agrees).

3) Do the proposed compile time warnings for the deprecated APIs.

4) For v3.0 we move the deprecated APIs to a different include file (ts/deprecated.h). I will mark a "3.0" bug with all deprecated APIs (to help with item 1-3 as well).

5) For v4.0, any APIs deprecated in 3.0 are officially removed.

Cheers,

-- leif

Reply via email to