telepathy-glib 0.7.10 (2008-06-06)
==================================
The "properties everywhere" release.
Again, this version mainly contains infrastructure to support future APIs,
like the planned Requests API.
Enhancements:
* Update to telepathy-spec 0.17.7
- Channel gained immutable/read-only ChannelType, TargetHandleType,
TargetHandle and Interfaces properties
* TpGroupMixin now supports the Group properties introduced in the previous
version
* Added an example connection manager with channel-specific handles in
chatrooms
telepathy-glib 0.7.9 (2008-05-30)
=================================
The "scaffolding" release.
This version mostly contains infrastructure to support APIs that are coming
soon, but haven't got through the review process yet.
Enhancements:
* Update to telepathy-spec 0.17.5
- RoomList gained a read-only Server property
- Text gained TP_CHANNEL_TEXT_MESSAGE_FLAG_NON_TEXT_CONTENT,
TP_CHANNEL_TEXT_MESSAGE_TYPE_DELIVERY_REPORT to support the future
Messages and DeliveryReporting interfaces
* Update to telepathy-spec 0.17.6
- Group properties (but the group mixin does not yet implement them)
- Group HandleOwnersChanged, SelfHandleChanged
- TP_HASH_TYPE_CHANNEL_OWNER_MAP
* New functions tp_asv_get_uint32() etc. to make it easier to use a{sv}
hash tables (implemented in dbus-glib as a GHashTable of gchar * => GValue *)
* Enhance TpDBusPropertiesMixin so that mixins can provide properties more
easily
* Start porting the remaining XSLT to Python for better maintainability
Fixes:
* TpProxy: Avoid a misleading debug message every time a pending call
completes, and probably fix detection of crashing services
* tp_dbus_check_valid_interface_name: correctly detect that a name with a
dot followed by a digit is invalid
* Add a Valgrind suppression for SELinux-related ld.so initialization (not our
problem)
Release notes for projects using code-generation:
* When you update tools copied from telepathy-glib, be aware that
libglibcodegen.py now depends on libtpcodegen.py, and that some of the
formerly-XSLT tools have been replaced by Python versions
telepathy-glib 0.7.8 (2008-05-09)
=================================
The "Hold, unheld" release
Enhancements:
* Update to telepathy-spec 0.17.4
- add Hold API to code-generation
Fixes:
* Make coding-style check less fragile
Recommended updates for projects using check-coding-style.mk:
* Update check-coding-style.mk
* In every Makefile where check-coding-style.mk is used, make check-local
depend on check-coding-style (this is no longer done automatically)
telepathy-glib 0.7.7 (2008-05-02)
=================================
The "Old Trip" release.
API changes:
* It is an error to pass non-NULL user_data, weak_object or destroy arguments
when making an asynchronous method call with callback == NULL (i.e.
ignoring the reply) - doing this would make no sense
Enhancements:
* Implement tp_connection_call_when_ready, tp_channel_call_when_ready -
fully async variants of the existing run_when_ready API (fd.o #15300)
* Documentation: divide up the service-side Channel interfaces by topic,
in the same way the client-side ones were already divided up
* TpTextMixin: drop the futile attempt to limit memory consumption. We were
doing it wrong, and a typical connection manager has so many ways it can
be induced to consume memory that trying to guard against this particular
case by truncating or dropping messages seems likely to cause more problems
than it fixes.
* TpTextMixin: save a malloc/free cycle in GetMessageTypes
* TpGroupMixin: don't emit GroupFlagsChanged(0, 0)
* Log a message when disconnected from the D-Bus session bus
* Improve ABI-checking functionality so symbols only have to be whitelisted
just before a release
Fixes:
* TpBaseConnection: don't return from Disconnect() until disconnection has
fully completed (fd.o #15796)
* libglibcodegen.py: generate correct bindings for arrays of object-path (ao)
* glib-client-gen.py: cope correctly with Unicode in the spec
* doc-generator.xsl: update from telepathy-spec to cope with arrays of mappings
* When a channel's connection becomes invalidated, don't warn if the
resulting invalidation causes the channel to be freed (fd.o #15644)
* In tp_handle_lookup() on a dynamic handle repository, if the ID is valid
but there is no handle, raise the error NotAvailable, instead of returning
0 with no error set (fd.o #15387)
* When asynchronous method calls are made on an unsupported interface, call
the user-supplied destroy() callback on the user_data (fd.o #15530)
* TpTextMixin: fix a memory leak in ListPendingMessages
* Use automake 1.8 if available, to verify that we can still build on such
an old version
* When running under valgrind with the recommended suppressions, don't
complain about libc dlopen initialization caused by the handle-leak debug
code
Recommended updates for projects using code-generation:
* Update libglibcodegen.py to avoid a crash if arrays of object-path appear
in your API in future
* Update glib-client-gen.py to avoid fd.o #15530; this will cause your project
to require telepathy-glib >= 0.7.3
telepathy-glib 0.7.6 (2008-04-03)
=================================
The "hold the assertions" release.
API changes:
* API was added to fix fd.o #15325. Projects that add extension interfaces
to TpChannel or TpConnection might suffer from assertion failures if those
interfaces are later added to telepathy-glib, unless they follow the
recommendations below. Projects that do not use the telepathy-glib code
generation tools are unaffected.
* Related to the above, extending TpDBusDaemon, TpMediaStreamHandler,
TpMediaSessionHandler and TpConnectionManager is officially not supported
at this time.
Enhancements:
* Updated to specification 0.17.3
- supports the CallState interface, for receiving notifications of a
remote contact or device's state (currently supported states are: ringing,
queued, placed us on hold)
- MediaStreamHandler supports some new Hold-related API
- the Hold interface is *not* yet supported, use private code-generation
(as seen in telepathy-sofiasip) for now
Fixes:
* Doesn't assert in client code when a connection's GetInterfaces method fails
(fd.o #15306)
* The build process works on platforms without -Wl,-O1 and
-Wl,--version-script, such as Mac OS X (fd.o #15026)
* test-handle-set now runs under a temporary session bus, so the tests can work
in platforms without working D-Bus autolaunch
* Code generation uses G_GNUC_UNUSED where necessary, so you can use the
generated code in projects with stricter warning flags than telepathy-glib
itself
* A couple of unterminated argument lists when initializing the allowed
message types for the text mixin have been fixed
* glib-client-gen.py optionally inserts a guard against assertion failures
caused by a local extension overriding an interface that is also now provided
by telepathy-glib (fd.o #15325)
* glib-client-gen.py has a mechanism to allow its output to be made
backwards-compatible: specify --tp-proxy-api=x.y.z where x.y.z is the oldest
version of telepathy-glib you check for in configure.ac (it must be at
least 0.7.6)
Recommended updates for projects using telepathy-glib code generation:
* Update glib-client-gen.py from telepathy-glib, and invoke it with
the extra argument "--tp-proxy-api=0.7.6", to fix #15325 (this will make
the generated code require telepathy-glib 0.7.6)
* Before calling tp_proxy_or_subclass_hook_on_interface_add for an existing
class, call tp_proxy_init_known_interfaces,
tp_connection_init_known_interfaces or tp_channel_init_known_interfaces.
telepathy-glib 0.7.5 (2008-03-07)
=================================
Enhancements:
* Updated to specification 0.17.2
- GType-generating functions for Media_Session_Handler_Info
- Added TP_CONN_MGR_PARAM_FLAG_SECRET
Fixes:
* No longer crashes if a proxy is invalidated while still invoking signal
callbacks (fd.o #14854)
* Compilation now works on architectures with function descriptors, like ppc64
(fd.o #14852, thanks Brian Pepple)
* TpChannel no longer crashes if GetInterfaces() returns an error or an
empty list (fd.o #14855)
* Linking examples no longer fails in environments where .la files exist for
system libraries
telepathy-glib 0.7.4 (2008-03-04)
=================================
Fixes:
* Refactoring and life-cycle fixes in TpProxy, including some assertions
during method-call and signal-connection cancellation (fd.o #14750; fixes a
crash in development versions of Mission Control)
* Maps "_" back to "-" in protocol names seen in bus names (fd.o #14667;
fixes telepathy-inspector 0.5.1 not displaying Salut connections)
* Does not leak the GError when connecting to signals on an unsupported
interface (fd.o #14746)
* Builds with more warnings by default, for additional strictness
* Improvements to example client code:
- make example_cli_init() safe to call multiple times
- generate signals-marshal.list in a way that avoids more gcc warnings
Recommended updates for projects using telepathy-glib code generation:
* Update glib-client-gen.py from telepathy-glib to fix #14746 (this will make
the generated code require telepathy-glib 0.7.3)
* Consider updating *_cli_init() and extensions/Makefile.am to resemble the
examples
telepathy-glib 0.7.3 (2008-02-20)
=================================
Requirements:
* pkg-config 0.21 is now required
* gtkdoc 1.8 is recommended
Enhancements:
* Supports org.freedesktop.DBus.Properties with a mixin for services, and
extensions to auto-generated code
Fixes:
* Fixed a crash that could occur when pending calls on otherwise unreferenced
proxies are cancelled, e.g. during teardown in telepathy-stream-engine
(fd.o #14576)
* Correct client-side bindings are generated for methods that return a variant
(e.g. o.fd.DBus.Properties.Get) fixing potential crashes in clients
* tp_dbus_check_valid_object_path allows "/" and disallows "//", not the
reverse
* Partially works around some gtkdoc 1.7 bugs (if your gtkdoc is 1.7 you'll
still lose the "Telepathy protocol enumerations" section)
* Uses pkg-config's Requires.private feature to reduce shared library
interdependencies
telepathy-glib 0.7.2 (2008-02-11)
=================================
* Fixed incorrect GValue code that caused Empathy to assert on
Room -> Join New...
* Added support for the D-Bus core Properties, Introspect and Peer interfaces
telepathy-glib 0.7.1 (2008-01-04)
=================================
This is a major feature release, adding client-side code which continues the
process of making libtelepathy obsolete.
* Implements specification 0.17.1
- it is a fatal error for TpBaseConnectionManagerClass::cm_dbus_name not to
conform to the specification (briefly: it must match
/[A-Za-z_][A-Za-z0-9_]+/)
- connections cannot be opened for protocols not matching
/[A-Za-z-][A-Za-z0-9-]+/
* Initial client-side code added:
- TpProxy, a much more capable version of DBusGProxy (it more closely
resembles a dbus-python ProxyObject, with one object per connection,
channel etc. rather than one per interface)
- auto-generation machinery for client call wrappers (namespaced tp_cli_*)
- TpDBusDaemon, a TpProxy subclass to talk to the bus daemon
- TpChannel, a channel (replaces libtelepathy's TpChan)
- TpConnection, a connection (replaces libtelepathy's TpConn)
- TpConnectionManager, a connection manager (replaces libtelepathy's
TpConnMgr)
- TpMediaStreamHandler and TpMediaSessionHandler, media signalling helpers
- Correct algorithms for listing connection managers, listing connections,
and reading .manager files (as documented in the 0.17.1 spec)
* Examples extended:
- various simple client examples
- an "echo" connection manager
- an extended connection manager and client (implementing a hypothetical
Hats interface), to illustrate how to support experimental or extension
interfaces in services and clients
* Miscellaneous:
- tp_debug_divert_messages (adapted from Gabble)
- tp_debug_timestamped_log_handler (adapted from Gabble)
- tp_cm_param_setter_offset now supports byte-array params
* Versioned symbols
- versions are of the form TELEPATHY_GLIB_x.y.z
- unreleased development builds use versions containing _UNRELEASED
to force relinking against a proper version
telepathy-glib 0.7.0 (2007-11-22)
=================================
This is the first release from the 0.7.0 development branch, and
prepares the way for the client-side code I'm going to be merging soon.
* Enums etc. updated to specification 0.17.0
* Improved support for connection managers whose parameters aren't known
at compile time (*coughhazecough* :-)
* Build system refactoring to make it less weird
* GType-generating functions and macros in gtypes.h cache the results of calls
to dbus-glib type lookup functions, and give data types convenient names
* Functions and macros to generate GQuarks for interface names (which will
be used extensively by client code in future)
* The beginning of an examples/ directory, containing the simplest possible
example connection manager (it doesn't support any protocols)
* Dependencies increased to libdbus 0.93, dbus-glib 0.73, glib 2.10