[Telepathy] ANNOUNCE: libtelepathy 0.3.2, the "must die" release

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Feb 4 10:57:17 PST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As a follow-up to the telepathy-glib 0.7.1 release, here's libtelepathy
0.3.2. This release adds API to TpChan and TpConn to convert to and from
telepathy-glib's TpChannel and TpConnection objects, to help with migration
to the new library.

Tarball:
http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.3.2.tar.gz
Signature:
http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.3.2.tar.gz.asc
Development branch in Darcs:
http://darcs.collabora.co.uk/darcs/telepathy/libtelepathy
Darcs tag: "libtelepathy 0.3.2"

Here's a quick guide to:

Porting from libtelepathy to telepathy-glib
===========================================

The good news is that everything in telepathy-glib is documented, and
there are examples in the source tarball for a lot of it too.

1. Migrate constants etc.
- -------------------------

For these you need to depend on telepathy-glib 0.7.0 and libtelepathy 0.3.1.
You can make a good start by using libtelepathy 0.3.1 and getting your
project to compile with -DLIBTELEPATHY_DISABLE_DEPRECATED.

tp_get_bus() is now in <telepathy-glib/dbus.h>. For most uses, you can
remove <libtelepathy/tp-helpers.h>.

Constants are now in <telepathy-glib/enums.h> and string interface names
are in <telepathy-glib/interfaces.h>.

Instead of the deprecated TELEPATHY_*_QUARK use TP_IFACE_QUARK_*.

Enumerations are now Tp*, not Telepathy*.

2. Migrate objects
- ------------------

For these you need to depend on telepathy-glib 0.7.1 and libtelepathy 0.3.2.

TpConnection replaces TpConn, and TpChannel replaces TpChan. However, in
general your app will need to work with both for a while, while you
migrate it (or because libmissioncontrol still uses the libtelepathy API
exclusively).

Every libtelepathy TpConn created with the existing constructors now creates
a telepathy-glib TpConnection automatically. You can retrieve the TpConnection
with tp_conn_dup_connection(), and you can go from a TpConnection to a TpConn
with tp_conn_new_from_connection().

Similarly, tp_chan_dup_channel() creates a telepathy-glib TpChannel from a
telepathy-glib TpConnection and a libtelepathy TpChan (the TpConnection
is needed for the TpChannel constructor, to get the invalidation logic
right), and tp_chan_new_from_channel() creates a TpChan from a
TpChannel.

TpConnMgr is replaced by TpConnectionManager - there's no migration API
for those though, since things like libmissioncontrol seem unlikely to
have TpConnMgr in their API.

The auto-generated dbus-glib API from <libtelepathy/*-gen.h> has been
replaced by different auto-generated API. For each D-Bus method, there
are now two C functions: tp_cli_something_call_something() makes an
asynchronous call and calls a callback.
tp_cli_something_run_something() does basically the same, but re-enters
the main loop (just like gtk_dialog_run), so it has all the advantages
and disadvantages that implies.

For signals, the signal-connecting function has a different signature,
but is basically similar.

As well as the familiar user_data argument, the asynchronous call API and the
signal-connecting API take a GObject * argument called weak_object. The
proxy machinery will take a weak reference to this object, and will
automatically cancel the call or remove the signal connection when the
object goes away. This innovation was borrowed from telepathy-gabble -
in practice, it means that you rarely need to disconnect from a D-Bus signal
or cancel a pending call explicitly.

- -----

Detailed Darcs changes follow.

Regards,
    Simon

Mon Feb  4 17:53:20 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  tagged libtelepathy 0.3.2

Mon Feb  4 17:28:23 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Bump version to 0.3.2 (libtool c:r:a = 9:0:7) and telepathy-glib dep to 0.7.1

Mon Feb  4 17:28:11 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Remove xml/modified directory from version control

Fri Feb  1 15:01:58 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Require telepathy-glib >= 0.7.0.1

Fri Feb  1 14:58:24 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * _tp_conn_new: call GetStatus() synchronously if necessary, preserving old semantics

Fri Feb  1 13:49:07 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpConn: implement in terms of TpConnection

Fri Feb  1 13:45:03 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Document tp_connmgr_list_cms as being replaced by tp_list_connection_managers

Fri Feb  1 11:28:31 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpChan: refactor interface-adding to avoid unnecessary D-Bus calls

Fri Feb  1 11:05:05 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * tp_chan_local_set_interfaces: minor style fix

Fri Feb  1 11:03:46 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpChan: add tp_chan_dup_channel, tp_chan_new_from_channel

Thu Jan 31 16:39:05 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpChan: add tp_chan_new_from_channel()

Thu Jan 31 16:38:43 GMT 2008  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * src/Makefile.am: avoid confusing vim quickfix (:make)

Wed Nov 28 01:50:04 GMT 2007  Robert McQueen <robert.mcqueen at collabora.co.uk>
  * correct the LGPL 2.1 boilerplate (s/Library/Lesser/ and update FSF address)

Fri Dec 14 14:35:34 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Add optional compiler and linker optimization control, and code coverage

Fri Dec 14 14:32:46 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Add compiler.m4, linker.m4 (from libgfshare via telepathy-glib)

Thu Dec 13 14:33:27 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpChan, TpConn: use G_DEFINE_TYPE

Thu Dec 13 12:00:30 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpConn: rename parent_class to tp_conn_parent_class for compatibility with G_DEFINE_TYPE

Thu Dec 13 11:59:50 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * TpChan: rename parent_class to tp_chan_parent_class for compatibility with G_DEFINE_TYPE

Tue Dec  4 14:27:47 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Link dummy executables in check-compat against telepathy-glib etc. (actually dbus-glib is all that's needed) - fixes compilation without optimizations, fd.o #13484

Thu Nov 22 20:04:20 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  * Development version 0.3.1.1

Thu Nov 22 19:59:26 GMT 2007  Simon McVittie <simon.mcvittie at collabora.co.uk>
  tagged libtelepathy 0.3.1
-----BEGIN PGP SIGNATURE-----

iD8DBQFHp2ANWSc8zVUw7HYRAiH6AKCnb1JLCj7d5IWZPAWua9+9rSpJ3QCghktB
xhNFN1Io8ab57uCpLZ5iWPU=
=Qu43
-----END PGP SIGNATURE-----


More information about the Telepathy mailing list