After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 591600 - should be a way to mark bindings unstable
should be a way to mark bindings unstable
Status: RESOLVED OBSOLETE
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2009-08-12 20:25 UTC by Dan Winship
Modified: 2018-02-08 11:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dan Winship 2009-08-12 20:25:17 UTC
There are a handful of libraries that are explicitly non-API-stable, and require you to #define something acknowledging that fact if you want to #include their headers. (eg, #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE). It would be nice if gir/typelib files could represent this idea somehow. Note that libgnome-desktop has both stable and unstable APIs.

Also, there's a bug open about introspection in libsoup, but there are still a handful of issues where I'm not happy with the way things are bound, and so if I did ship it for 2.28, it would be nice if it could come with a built-in disclaimer that the introspected API is not stable, and isn't guaranteed to be the same in 2.30, even though the underlying C API *is* stable.
Comment 1 Emmanuele Bassi (:ebassi) 2013-08-26 10:47:27 UTC
we could generate two different gir/typelibs (one with the #define set, the other with the #define unset in the scanner CFLAGS) and use two different names, e.g. Soup-$MAJOR.$MINOR and SoupUnstable-$MAJOR.$MINOR.
Comment 2 Colin Walters 2013-08-26 11:08:24 UTC
Basically what libsecret does, although I think there the libraries are also unstable at the C level.
Comment 3 Dan Winship 2013-08-26 13:55:43 UTC
(In reply to comment #1)
> we could generate two different gir/typelibs (one with the #define set, the
> other with the #define unset in the scanner CFLAGS) and use two different
> names, e.g. Soup-$MAJOR.$MINOR and SoupUnstable-$MAJOR.$MINOR.

Then you'd end up with both the stable and unstable APIs in SoupUnstable though. Is that what you meant?

The "Unstable" convention definitely works for entirely-unstable libraries though, unless we wanted the instability to be programmatically recognizable, and I don't know any use case for that.

(And this is no longer relevant to libsoup, since the .gir shipped a long time ago.)
Comment 4 André Klapper 2015-02-07 17:18:37 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
Comment 5 GNOME Infrastructure Team 2018-02-08 11:51:29 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/22.