Proposals for 3.0.0 API changes

John Bailey rekkanoryo at
Sun Dec 30 22:02:23 EST 2007

In the msn-pecan thread, Gary and I agreed that an API freeze after 2.4.0 in
order to implement struct member hiding would be a good way to help us on the
road to having libpurple's objects implemented purely as GObjects.  Ka-Hing
voiced support for the proposal.

To that end, I propose a few changes, some of which have already been proposed
previously by Sadrul, Richard, Will, Gary, and probably others.  3.0.0 is
obviously the perfect time for massive changes such as these, because they will
break API and ABI compatibility with 2.x:

  * Kill the Gaim compatibility headers.  Plugin authors have now had almost 8
months to update their code--this is ample time.

  * We have some deprecated functions in libpurple, mainly some logging stuff
and the stuff deprecated by Will's disconnect reason stuff.  Kill all deprecated

These next two are far less important and could be overlooked if desired:

  * The plugin prefs API and the request fields API overlap.  Merge them into a
simpler, more coherent API.

  * I'd like to rename the purple_notify_user_info stuff.  Maybe
purple_user_info or similar.  I realize that right now this is only used within
the notify API, but I expect its use will have wider applications in the future.

Ideally, I'd also like to get some of the theme and pixmaps stuff I proposed[1]
earlier in for 3.0.0 too, even if it's in a different form than I originally

Any feedback appreciated!

[1] "Additions to the .purple directory structure," 2007-08-08.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Devel mailing list