Re: Version 0.19.2 should be considered as new both API and ABI
Tom Hacohen <[email protected]> Sun, 10 Oct 2010 12:41:50 +0200
| Newsgroups | gmane.comp.internationalization.fribidi |
|---|---|
| Organization | Samsung |
| Message-ID | <[email protected]> |
On Sun, 2010-10-10 at 03:33 -0700, Artyom wrote: > Hello, > > I've tried to convert by project BiDiTeX (http://biditex.sourceforge.net/) > to newer version of fribidi, I had issues with missing to_cp1255 from_cp1255 > functions, > but I moved to correct public functions. > > However I discovered much bigger ABI/API compatibility issue: > > FriBiDi 0.10.9 > -------------- > > fribidi_boolean > fribidi_log2vis_get_embedding_levels ( /* input */ > FriBidiChar *str, > FriBidiStrIndex len, > FriBidiCharType *pbase_dir, > FriBidiLevel *embedding_level_list); > > > FriBiDi 0.19.2 > --------------- > > FriBidiLevel > fribidi_log2vis_get_embedding_levels ( > const FriBidiCharType *bidi_types, /* input list of bidi types as returned > by > fribidi_get_bidi_types() */ > const FriBidiStrIndex len, /* input string length of the paragraph */ > FriBidiParType *pbase_dir, /* requested and resolved paragraph > * base direction */ > FriBidiLevel *embedding_levels /* output list of embedding levels */ > ) FRIBIDI_GNUC_DEPRECATED; > > This is weird, especially since this function is deprecated so there's no real reason to break the API of a deprecated function. This should probably be fixed, but in your reimplementation, you should really *not* use it. > Now, users complain that in upstream Ubuntu that comes with new fribidi they > can't use > the biditex, on the other hand they can't install older fribidi because it > conflicts with the new one > (as they have same so-version and can't be installed separately) My personal opinion: just forget 0.10.x ever existed and fix it to work with 0.19.x, that's what I did. Instead of checking which version the user had, which was annoying, I just fixed everything to work only with 0.19.x with the assumption that anyone who hasn't upgraded to 0.19.x won't upgrade my software either, and there's no reason why I stay behind because of a few people who'll do this strange mix. But maybe I think this way because 0.10.x -> 0.19.x "just worked" for me. -- Tom.