telepathy-glib 0.7.29 (UNRELEASED) ================================== ... telepathy-glib 0.7.28 (2009-03-24) ================================== The "a surprisingly meaty courgette" release. API changes: * Use the prefix for D-Bus errors specified by telepathy-spec, not something telepathy-glib made up (changing .Errors to the correct .Error). This was a regression in telepathy-glib 0.7.1. Expected impact of this change: * Connection managers will emit the correct errors as soon as the telepathy-glib shared library is upgraded * Clients that use TpConnection, TpChannel etc. will expect the correct errors as soon as the shared library is upgraded * Clients that match errors by string value using TP_ERROR_PREFIX will have to be recompiled against the new telepathy-glib, but should have sane fallback behaviour to treat the correct error strings as an unknown error Enhancements: * Update to telepathy-spec 0.17.22, adding TP_ARRAY_TYPE_SOCKET_ADDRESS_IP_LIST, TP_ARRAY_TYPE_STRING_STRING_MAP_LIST, TP_STRUCT_TYPE_SOCKET_ADDRESS_IP * Extend the 'callable' example connection manager to support simulated incoming calls, support simulated contacts who never answer, are busy or terminate the call, and comply with telepathy-spec 0.17.22 Fixes: * fd.o #20729: csh (chatroom) example connection manager: comply with telepathy-spec 0.17.21 by always allowing the user to leave the Group * Cancel GetParameters call if the CM crashes, fixing an assertion failure in tp_connection_manager_continue_introspection telepathy-glib 0.7.27 (2009-03-17) ================================== The "sliced woot" release. Enhancements: * fd.o #18220: make it much less verbose to construct string/variant maps (a{sv}) by adding functions like tp_g_value_slice_new_uint(), which are a shortcut for a sequence like tp_g_value_slice_new (G_TYPE_UINT) followed by g_value_set_uint * Make example connection managers installable (they might be useful for testing UIs - use ./configure --enable-installed-examples if you want them) * Add an example connection manager that has dummy StreamedMedia channels * Add an example connection manager that has dummy ContactList channels vaguely resembling the XMPP roster * Update to telepathy-spec 0.17.21 (adding TP_CHANNEL_GROUP_FLAG_MESSAGE_DEPART and TP_CHANNEL_MEDIA_CAPABILITY_NAT_TRAVERSAL_ICE_UDP) Fixes: * fd.o #20646: in TpChannel, when adding contacts to one of the Group sets, remove them from both of the others * Use AM_PATH_PYTHON to detect the Python version * In TpGroupMixin, let implementations allow the self-handle to be removed regardless of whether the CAN_REMOVE flag is set. This is meant to be how you remove yourself gracefully from a chatroom or streamed media call. * fd.o #20165: fix a use-after-free in tp_base_connection_register() that causes connection managers to assert if they have not already called tp_dbus_daemon_dup() or tp_run_connection_manager() (regression in 0.7.26 which broke the telepathy-qt4 regression tests) * Fix some memory leaks when making TpContact objects, when holding handles in TpContactsMixin, when filling contact attributes in TpPresenceMixin, when setting simple presence, and in the regression tests * Update the valgrind suppressions file to cope with new telepathy-glib code, GTest, and glibc 2.9 * Fix compilation with gtkdoc 1.11, which is stricter about the contents of Since: annotations, and parses more comments telepathy-glib 0.7.26 (2009-02-16) ================================== The "Leffe Radieuse" release. Enhancements: * Add tp_connection_manager_call_when_ready() * When constructing TpConnectionManager, if the .manager file is missing or can't be read, always try to activate the connection manager (in practice, this is what's wanted) * fd.o #18291: when listing connection managers, wait for them to all be ready * fd.o #18056: add method-based accessors for TpConnectionManager members * fd.o #17519: track the Connection's SelfHandle property in TpConnection * Add tp_dbus_daemon_dup(), convenient API to share a starter-bus connection * Generate GTypes for arrays of mappings, and improve use of the type-generation functions * fd.o #19907: Add tp_intset_new_containing(), a convenient factory for sets with exactly one member Deprecations: * Deprecate tp_get_bus_proxy() Fixes: * Reduce our reliance on making a DBusGProxy for the dbus-daemon (working towards avoiding overly-broad NameOwnerChanged matches) * fd.o #18832 (partially addressed): document that tp_get_bus() can call exit() and why, and discourage it in processes that aren't totally reliant on D-Bus * fd.o #18207: reliably emit TpConnectionManager::got-info signal (although tp_connection_manager_call_when_ready() should be used instead) * Fix some assertion failures in TpConnectionManager when .manager files contain surprising types * fd.o #19054: Parse all currently supported types in .manager files * fd.o #20096: don't consider InvalidHandle to be fatal for tp_connection_get_contacts_by_id (spec 0.17.18 compliance) Miscellaneous: * Add regression test coverage for TpConnectionManager telepathy-glib 0.7.25 (2009-01-30) ================================== The "Paradise Lost" release. Fixes: * fd.o #17588: don't break ABI if errors are re-ordered in a future spec version * fd.o #19688: don't assert when getting contacts by ID if none of the identifiers supplied are valid * TpPresenceMixin: don't allow setting statuses that are flagged as not settable on the user themselves * TpPresenceMixin: never allow statuses of type OFFLINE, UNKNOWN or ERROR to be set on the user themselves, and warn if the connection manager got this wrong * Fix a memory leak in tp_presence_mixin_get_statuses() (sorry Jonathon, your patch got lost during the release process...) telepathy-glib 0.7.24 (2009-01-28) ================================== The "Divide By Cucumber Error" release. API changes: * When a TpConnection is invalidated due to disconnection, the error will now be chosen from the TP_ERRORS domain in most cases. Previously, the TP_ERROR_DISCONNECTED domain was used. This change is necessary to support the extensible error reporting introduced in spec 0.17.19. Enhancements: * Update to telepathy-spec 0.17.19 - Many new errors in the TP_ERRORS domain - Connection.ConnectionError signal for extensible error reporting * Add a client binding for the extensible error reporting provided by the ConnectionError signal * Use a simple Python implementation of XInclude, rather than xsltproc, for easier Windows porting Fixes: * Add File Transfer to the documentation telepathy-glib 0.7.23 (2009-01-20) ================================== The "new in version 0.7.1, and allegedly also in 0.7.21" release. Enhancements: * Updated to spec version 0.17.18 - Added the File Transfer channel type - Added TpRichPresenceAccessControlType and TP_STRUCT_TYPE_RICH_PRESENCE_ACCESS_CONTROL - RequestHandles raises NotImplemented for bad handle types or InvalidHandle for bad identifiers (fd.o #19609) - MediaStreamHandler has a CodecsUpdated method - Methods automatically generated by telepathy-glib now have names for all "out" arguments, which should make the documentation easier to use * Use tp:name-for-bindings to construct the C name for D-Bus methods etc., which will result in better C function naming for future D-Bus interfaces like DBusTube Fixes: * Remove symbols from 0.7.21.abi that were already in 0.7.1.abi (GNU ld seems to respond by giving them the older version, so no harm was done to the ABI, but it broke the Debian packages) * Make make-version-script.py fail if that ever happens again * Annotate things added in 0.7.21 with the correct "Since:" indicator * Correct the documentation for tp_list_connection_names() telepathy-glib 0.7.22 (2009-01-13) ================================== The "TP_STRUCT_TYPE_BROWN_PAPER_BAG" release. Fixes: * Accept message=NULL in tp_group_mixin_change_members, as documented and true in the past, rather than crashing. telepathy-glib 0.7.21 (2009-01-12) ================================== The "TP_HASH_TYPE_PINT_HOBGOBLIN_MOUTH_MAP" release. Enhancements: * Updated to spec version 0.17.17 - Added TP_HASH_TYPE_HANDLE_IDENTIFIER_MAP and TP_HASH_TYPE_MESSAGE_PART_CONTENT_MAP * (Finally) merged TpMessageMixin, which can be used in place of TpTextMixin to implement the Messages interface on Text channels. * The examples have been made more exemplary, using TpChannelManager in place of TpChannelFactoryIface, implementing Destroyable and respawning 1-1 text channels which are closed with pending messages. (fd.o #17632) * Added a TP_COMPILER_WARNINGS macro to simplify choosing compiler warnings in configure.ac, and forked a version of AS_COMPILER_FLAG that supports C++ so that TP_COMPILER_WARNINGS can be used for C++ projects (such as telepathy-qt4). Other projects using telepathy-glib's warnings might want to copy m4/tp-compiler-*.m4 and use TP_COMPILER_WARNINGS. * Added support to TpGroupMixin for emitting the MembersChangedDetailed signal (fd.o #19050 and #19052), and to TpChannel for listening to it when possible (fd.o #19051). * Added tp_channel_get_identifier * Added support for parsing the dbus-property CM parameter flag (introduced in spec 0.17.16) from .manager files (fd.o #19053). Fixes: * Various Win32 portability fixes (from Sunil Mohan Adapa on fd.o #19461). * fd.o #19101: tp_connection_get_contacts_by_id() crashes telepathy-glib 0.7.20 (2008-12-14) ================================== The "xfs_freeze stole the night" release. Enhancements: * Updated to spec version 0.17.16 - Generate code for the Messages interface, which is now undrafted. Fixes: * fd.o #18845: don't throw a critical error from TpConnection if the corresponding CM falls off the bus. * fd.o #18926: avoid using a non-top-level GLib header telepathy-glib 0.7.19 (2008-12-01) ================================== The "fast path" release. Enhancements: * TpContact now has a fast path using the Contacts interface to reduce D-Bus round-trips, if supported * tp_connection_get_contact_attributes integrates the Contacts interface with TpConnection's handle reference tracking at a lower level * TpChannel now tracks its immutable properties (as provided by Requests.NewChannels, Requests.CreateChannel and Requests.EnsureChannel), can be constructed from a dictionary of immutable properties (tp_channel_new_from_properties), and has a fast path using GetAll to reduce round trips (if supported); when constructed from a dictionary of immutable properties, non-Group channels should become 'ready' in a single round-trip (fd.o #17427) * Only use the Properties mixin in there are properties defined Fixes: * fd.o #15092: mixins in a superclass should now work correctly in subclasses * fd.o #18151: tp_base_connection_dispose asserts if there are two connections to the same account telepathy-glib 0.7.18 (2008-11-03) ================================== The "320 GB" release. Enhancements: * Update to spec 0.17.14 * test, and generate code for, the Destroyable interface * add support for the SCROLLBACK and RESCUED message flags in Text * add tp_text_mixin_set_rescued(), for CMs to call when respawning a channel, and tp_text_mixin_receive_with_flags(), for CMs to call when receiving scrollback messages * update echo example CM's Text support to spec 0.17.14 * CreateChannel etc. return before NewChannels, which is emitted before NewChannel * Add TpContact, an object representing a contact, with inspection of various attributes (e.g. alias, avatar token and SimplePresence) Fixes: * In TpContactsMixin, always return info from interface TP_IFACE_CONNECTION even if the client didn't ask for it, since the spec says we should * Add a simple regression test for TpContactsMixin * Use unsigned int (rather than gboolean, which is signed!) for bitfields * Fix a memory leak when a TpChannel with the Group interface is freed * Fix a memory leak in tp_connection_unref_handles when no handles are released * Fix some memory leaks in the regression tests * Re-enable the coding style check and fix various things it complained about telepathy-glib 0.7.17 (2008-10-14) ================================== The "inexplicable bonus pizza" release. Enhancements: * Updated to spec 0.17.13, which adds Requested, InitiatorHandle and InitiatorID properties to Channel * Updated two example CMs (echo and channelspecific) to spec 0.17.13 too * Added handle reference-counting helpers, which should be used instead of using the HoldHandles, RequestHandles and ReleaseHandles D-Bus API directly * Added C accessors for TpProxy's read-only properties, and for TpConnection's connection-ready property * Added some infrastructure for test coverage analysis using lcov * Moved some of the release/checking machinery to tools/telepathy.am for easy pasting into other Telepathy projects * The first time TP_ERRORS is used, the error domain is now automatically registered with dbus-glib * Added sanity checks (g_return_if_fail/g_critical) to TpConnection, TpProxy, TpDBusDaemon and tp_dbus_check_* public API Fixes: * tp_handle_is_valid and tp_handles_are_valid raise InvalidHandle on failure, not InvalidArgument (numerous methods in telepathy-spec require InvalidHandle to be raised, so this should make most CMs more spec-compliant) * The test and example CMs raise NotAvailable on syntactically incorrect strings, rather than InvalidArgument (which is not spec-compliant) * The example valgrind suppressions file now works if libdbus was not installed in /usr, or if glibc is version 2.7 * fd.o #17502: fixed documentation of the #include for TpDBusPropertiesMixin * Fixed a memory leak in TpContactsMixin telepathy-glib 0.7.16 (2008-09-26) ================================== The "could you say that again? I was looking at that bee" release. Dependencies: * To use --enable-gtk-doc you must now have at least gtkdoc 1.10 Enhancements: * Updated to spec 0.17.12, mainly featuring EnsureChannel * We now support EnsureChannel on the Requests interface - to implement this, put a suitable function pointer in TpChannelManagerIface::ensure_channel * Channel factories' RequestChannel implementations no longer need to validate handles - TpBaseConnection now does this automatically * Added a function to compare presence types in order of "availability" Fixes: * The gtkdoc now documents GInterfaces' signals and properties (fd.o #16995, fd.o #17308) * TpBaseConnection::self_handle is unreffed and cleared slightly later, for the benefit of channel managers that want to use it in their status-changed(Disconnected) callback * Fixed a compiler warning on platforms with daemon(3) in their libc * TpChannelManager can no longer be crashed by asking for unsupported handle types telepathy-glib 0.7.15 (2008-09-18) ================================== The "plumbing" release. Dependencies: * GLib and GObject must be at least version 2.16 (this was accidentally the case in 0.7.14 too, but the dependency is now official). (fd.o #17213) Deprecations: * TpBaseConnection implementations should use the new method tp_base_connection_set_self_handle instead of setting the self_handle member directly. To comply with spec 0.17.10, if the self-handle changes after the status becomes CONNECTED, tp_base_connection_set_self_handle *must* be used. Enhancements: * Updated to specification 0.17.10, which includes the SelfHandleChanged signal and SelfHandle property... * ... and then to specification 0.17.11, which includes the stable Requests interface with the CreateChannel method (but not EnsureChannel, which is planned for a future spec.). * Added support for the Requests interface to TpBaseConnection, using the new interfaces TpChannelManager and TpExportableChannel (which are intended to replace TpChannelFactoryIface and TpChannelIface). * Added some utility functions: tp_dbus_properties_mixin_make_properties_hash, tp_strv_contains * with-session-bus.sh (used for the tests) optionally records dbus-monitor output * telepathy-glib-uninstalled.pc is generated in source builds. It's now easier to compile dependent projects against an uninstalled copy of telepathy-glib >= 0.7.15, like this: PKG_CONFIG_PATH=$HOME/src/telepathy-glib/telepathy-glib ./autogen.sh (if $HOME/src/telepathy-glib is the directory containing this file) Fixes: * TP_BASE_CONNECTION_ERROR_IF_NOT_CONNECTED no longer causes compiler warnings when used from a C++ source file * glib-client-gen.py generates correct code for 64-bit unsigned integers Release notes for projects using code generation: * If you generate client-side code, update glib-client-gen.py to avoid wrong code generation for unsigned 64-bit integer arguments. This will cause your project to require telepathy-glib >= 0.7.3 * If you use a copy of with-session-bus.sh for regression tests, consider updating it to add support for logging dbus-monitor telepathy-glib 0.7.14 (2008-08-19) ================================== The "M'era Luna" release. Enhancements: * Updated to specification 0.17.9 - Connection.Interface.Contacts interface ("the inspectotron"), which allows mass contact-handle holding and inspection in a single round-trip - Channel.TargetID property, for further round-trip reduction * Added TpContactsMixin, a generic implementation of the Contacts interface * Moved source code control from darcs to git (see README for details) * Added tp_connection_get_status() convenience accessor for status and status-reason properties * Altered tp_debug_divert_messages() to support a "+" prefix to filenames, which changes the mode from truncate to append: you can now set something like GABBLE_LOGFILE="+gabble.log" to append to an existing log * Updated AUTHORS telepathy-glib 0.7.13 (2008-07-29) ================================== The "presence made easy" release. Enhancements: * TpPresenceMixin implements the new SimplePresence interface * The spec text and doc-generator.xsl have been updated * The coding-style checks have been removed * A couple of supporting functions for Requests API development have been added (tp_text_mixin_has_pending_messages and tp_dbus_properties_mixin_get) Release notes for projects using code generation: * We now ship the more pedantic doc-generator.xsl from telepathy-spec 0.17.8: - you'll probably need to clean up your spec markup! - set the allow-undefined-interfaces XSLT parameter to a true value (e.g. run xsltproc with --param allow-undefined-interfaces "true()") if you are compiling documentation for interfaces that are not self-contained (e.g. Telepathy extensions that reference the main Telepathy spec) * If you're trying to use Telepathy coding style, upgrading the coding-style checks is recommended, but might require you to make code changes telepathy-glib 0.7.12 (2008-07-21) ================================== The "Channel.Interface.Useful" release. Enhancements: * TpChannel and TpConnection can be subclassed (fd.o #14828, #14829) * TpChannel has various convenience methods like tp_channel_get_channel_type(), which can be used as an alternative to its GObject properties * Internally, TpChannel tries to use D-Bus core Properties (the GetAll method) to reduce round-trips; if that fails, it will automatically fall back to a series of normal method calls * TpChannel tracks the Group interface automatically (fd.o #14180) * tp_asv_size() has been added to the a{sv} convenience API, which now has its own file in the documentation Fixes: * For the moment, TpDBusPropertiesMixin raises Telepathy errors rather than D-Bus core errors on failure, due to fd.o #16776 in dbus-glib causing an assertion when DBUS_GERROR errors are raised * TpConnectionManager no longer causes a crash if destroyed before it has read the .manager file (fd.o #16774, thanks to Sunil Mohan Adapa for the patch) Dependencies: * We no longer support automake 1.8.x, since even Maemo has had 1.9 for a while. We don't yet use any automake 1.9 features, but we will no longer test with 1.8 unless someone explains to me why a 4 year old version is still relevant :-) telepathy-glib 0.7.11 (2008-07-02) ================================== The "design is hard" release. This is mainly a bugfix release. Fixes: * fd.o #16307: in TpConnection, don't assert when a connection goes CONNECTED while a GetStatus call is pending * In TpDBusPropertiesMixin: return properly if Get, Set or GetAll are called on nonexistent interfaces or properties; if the wrong type is passed to Set, coerce it to the right type (if possible) and actually use the right type; and if the coercion fails, don't leak memory * In libglibcodegen (code generation), use the right GType for arrays of object-path Enhancements: * Use Python rather than XSLT for code generation, for improved maintainability Release notes for projects using code generation: * All the XSLT (except doc-generator.xsl and identity.xsl) has been rewritten in Python. It should produce identical results, but be careful when updating! * You must update libglibcodegen to this version if there are arrays of object-path in your API, otherwise it just won't work 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