You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Nick Kew <ni...@webthing.com> on 2005/10/12 20:58:18 UTC

ABI and MMN in 2.1

Given 2.1's current beta status, what rules govern breaking the ABI
right now?  Is it "yes, but then MMN must change too"?

I'm thinking specifically of replacing functions that have become mere
stubs for another func since 2.0 with macros.  For a specific case-in-point,
see Line 352 of util_filter.h.

-- 
Nick Kew

Re: ABI and MMN in 2.1

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Nick Kew wrote:
> Given 2.1's current beta status, what rules govern breaking the ABI
> right now?

Break it.  2.odd has no ABI/API rules.  2.even is constrained, so since
we will be stuck with the ABI for a year or two, while 2.2 is supported,
better to be stuck with the best API we could come up with before we
announce GA.

Module authors will be playing catch-up anyways once 2.2.0 is final.
Hopefully, if they were tracking 2.1 development, they caught all of
our fixes and even suggested their own, based on real world problems.

>  Is it "yes, but then MMN must change too"?

Always - the MMN bumps help -us- to catch that we only performed a
partial recompile when we should have rebuilt clean, after svn up'ing.

> I'm thinking specifically of replacing functions that have become mere
> stubs for another func since 2.0 with macros.  For a specific case-in-point,
> see Line 352 of util_filter.h.

<shrug> - I'd like those /** @deprecated @see ap_new_function */, and
maybe wait to rip them until we roll 3.0.  We are strongly against ANY
lowercase macros; they are bad programming style and may expose the
developer to double-increment and other macro-side-effect bugs.

Macros should always be capitalized.  Leave these stubs as functions,
warn people with doxygen to quit using them, and let them die in all
due course.

Bill