telepathy-qt4 0.1.9 (2009-07-23)
================================
The "never too late" release.
New API:
* OptionalInterfaceFactory: Added methods interfaces and optionalInterface
and removed duplicated code in all OptionalInterfaceFactory subclasses.
* Added ContactManager allKnownGroups, addGroup, removeGroup, groupContacts,
addContactsToGroup and removeContactsFromGroup methods.
* Added ContactManager groupAdded, groupRemoved and groupMembersChanged signals.
* Added Contact groups, addToGroup and removeFromGroup methods.
* Added Contact addedToGroup and removedFromGroup signals.
API changes:
* Changed ProtocolParameter requiredForRegistration method to
isRequiredForRegistration to make it consistent with other bool returning
getters.
Enhancements:
* Changed all classes to follow coding-style.
* Moved documentation to source file for all classes.
* Standardize class definition in all classes:
* Moved public xxxInterface methods definition to the end of the public
methods declaration.
* Added friend struct Private declaration.
* Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
* Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
before the public keyword.
* Reorder public, protected, SIGNALS declaration as follows:
public
public Q_SLOTS
Q_SIGNALS
protected
protected Q_SLOTS
private Q_SLOTS
private
* Moved friend class xxx definitions to be placed right bellow private keyword.
* ChannelDispatchOperation: Emit invalidated with
TELEPATHY_QT4_ERROR_OBJECT_REMOVED when ChannelDispatchOperation.Finished is
received.
* Added/Improved some documentation.
Fixes:
* ClientApproverAdaptor: Use the dbus fully qualified name to get the connection
property (Patch from George Kiagiadakis <kiagiadakis.george@gmail.com>).
* Fixed bug 20268: Connection's selfContact object should initially have no
features.
* Fixed bug 20080: KeyFile: ";" as a list may be mis-parsed.
* Fixed bug 20082: KeyFile: double (and other types?) not correctly tested.
* Fixed bug 20353: No d-pointer in Channel::GroupMemberChangeDetails.
* Fixed bug 20033: Contact / ContactList Group integration.
telepathy-qt4 0.1.8 (2009-06-16)
================================
The "Every Good Boy Deserves Frontalot" release.
New API:
* Added PendingChannelRequest class to be used when requesting channels using
ChannelDispatcher through Account.
* Added Account methods to request/create channels using ChannelDispatcher
(ensureTextChat, ensureTextChatroom, ensureMediaCall, createChannel and
ensureChannel)
Enhancements:
* Updated to telepathy-spec 0.17.26
Fixes:
* ChannelDispatchOperation: Read Channels property instead of incorrectly
reading ChannelDetailsList (Patch from George Kiagiadakis
<kiagiadakis.george@gmail.com>).
telepathy-qt4 0.1.7 (2009-06-02)
================================
The "approver" release.
New API:
* Added Client Approver support.
* Added ChannelDispatchOperation high-level class.
Bugfixes:
* Fixed bug 21988: Channel does not work properly if the parent
connection object is not ready
* Fixed bug 21993: TextChannel does not become ready until first message is
received if FeatureMessageQueue is enabled.
telepathy-qt4 0.1.6 (2009-05-28)
================================
The "So hot, I have a fever" release.
New API:
* Added Channel::immutableProperties public method.
Enhancements:
* Added ChannelFactory, internal class to create channels based on
their types.
* PendingChannel: Use ChannelFactory to create channels.
Bugfixes:
* Proper define AbstractClientPtr.
* ClientRegistrar: Fixed Observer adaptor introspection data.
* ClientRegistrar: Use ChannelFactory to create Channels.
telepathy-qt4 0.1.5 (2009-05-19)
================================
The "do not look at the conductor" release.
New API:
* Added Client support (Handler, Observer).
* Added ClientRegistrar, class responsible for registering clients and proper
exporting their D-Bus interfaces.
* Added AbstractClientObserver, AbstractClientApprover (skeleton) and
AbstractClientHandler. Clients should inherit one or some combination of
these, by using multiple inheritance, and register themselves using
ClientRegistrar::registerClient() in order to become a Client.
* Added ChannelRequest high-level class.
telepathy-qt4 0.1.4 (2009-05-08)
================================
The "global military-industrial complex is subsidising your iPod" release.
Dependencies:
* Creating accounts, and possibly updating their parameters, now requires an
AccountManager implementing telepathy-spec 0.17.24, such as
telepathy-mission-control >= 5.0.beta70 (in particular, beta 69 won't work,
and the KWallet-based account manager will also need updating)
API changes:
* Renamed SharedData header file to RefCounted to follow class name.
New API:
* Update to telepathy-spec 0.17.24, breaking some D-Bus APIs:
* fd.o #21619: Account::updateParameters() returns a PendingStringList of
the parameters that won't be changed until reconnection takes place
* Account::reconnect() added (newer MC versions don't violate telepathy-spec
by reconnecting automatically when parameters are changed)
* AccountManager::supportedAccountProperties() added
* AccountManager::createAccount() takes an optional dict of properties
(the valid keys are in supportedAccountProperties())
* Enhance PendingStringList to have a constructor from a QDBusPendingCall
Bugfixes:
* Don't try to run Python tests unless we have the gobject module (the tests
use it)
telepathy-qt4 0.1.3 (2009-04-22)
================================
The "what are you scared of?" release.
Dependencies:
* Full regression tests now require telepathy-glib >= 0.7.28 (telepathy-glib
is still optional)
API changes:
* Namespace simplification: Telepathy::Client::Channel (etc.) are now
Tp::Channel, similar to telepathy-glib's TpChannel. Auto-generated client
classes like Telepathy::Client::ChannelInterface are now
Tp::Client::ChannelInterface.
* AccountManager, Account, ConnectionManager, Connection, Channel and Channel
subclasses now inherit from Tp::RefCounted and are used together with
Tp::SharedPtr/Tp::WeakPtr, shared and weak pointer classes using ideas from
Qt, glibmm, Boost and WebKit. The constructor is now protected (in order to
support custom classes) and a public create method that returns a SharedPtr
was added. This is an attempt to avoid memory leaks as much as possible, see
http://lists.freedesktop.org/archives/telepathy/2009-March/003218.html for
more details.
* Instead of forward-declaring Telepathy::Client::Channel and using
a variable of type Telepathy::Client::Channel *, you should now include
<TelepathyQt4/Types> and use either Tp::ChannelPtr, which is a
reference-counted shared pointer, or Tp::WeakPtr<Tp::Channel>, which is the
weak counterpart.
* Header simplification: the public headers now look like
<TelepathyQt4/Channel>, i.e. without the Client subdirectory.
* PendingHandles now finish successfully on non fatal errors (InvalidArgument,
InvalidHandle, NotAvailable). PendingHandles::invalidNames/invalidHandles
should be used to check if a non-fatal error occurred and some handle could
not be acquired.
Enhancements:
* Updated to telepathy-spec 0.17.23
* TelepathyQt4Farsight is a new mini-library with glue code to connect
telepathy-farsight to Telepathy-Qt4. Handlers for streamed media channels
with media signalling can #include <TelepathyQt4/Farsight/Channel> and pass
their Tp::StreamedMediaChannel to Tp::createFarsightChannel, then hook up
the resulting TfChannel to a GStreamer pipeline of their choice.
* StreamedMediaChannel has a new handlerStreamingRequired method so you can
check whether the handler needs to carry out the streaming
* fd.o #21336: Channels now indicate whether a message is expected when
doing various Group operations
* fd.o #21337: Account supports the new HasBeenOnline property
Fixes:
* fd.o #20583: Contact objects don't work without the Contacts interface.
* fd.o #20584: Contact object creation doesn't survive bad IDs or handles.
telepathy-qt4 0.1.2 (2009-03-23)
================================
The "robotic automatic hoover" release.
Dependencies:
* Full regression tests now require telepathy-glib >= 0.7.27 (telepathy-glib
is still optional)
* telepathy-farsight >= 0.0.4 is a new optional dependency
API changes:
* AccountManager, Account, ConnectionManager, Connection, Channel
now inherit QSharedData and are used together with
QExplicitlySharedDataPointer.
This is needed so we can create shared pointers based on the object itself,
instead of doing hacks to find the shared pointer related to a given object.
See http://lists.freedesktop.org/archives/telepathy/2009-March/003168.html for
more details.
* Channel Features are now Feature objects, not integers
* The Feature class is now in its own header, <TelepathyQt4/Feature>
Enhancements:
* The skeletal StreamedMediaChannel class from 0.1.0 has been expanded to
cover all the functionality of the Telepathy StreamedMedia interface
* PendingConnection, PendingAccount etc. have busName and objectPath
methods where necessary, so that objects of custom classes can be
constructed
* Features can now be considered critical, meaning that failure to set them up
leads to failure of becomeReady() - this should only be used for features
that should never fail unless the service is buggy, like Connection and
Channel core functionality
* examples/call/ is an example of how to use StreamedMediaChannel, which can
make and receive XMPP Jingle calls using telepathy-gabble
(this feature requires telepathy-farsight and GStreamer)
Fixes:
* When introspection of a Feature fails, the D-Bus error is propagated as the
failure reason of becomeReady()
* Fix a memory leak in TextChannel
telepathy-qt4 0.1.1 (2009-03-05)
================================
The "PresencePublicationAuthorizationRequestRejection" release.
API changes:
* PendingReadyAccount, PendingReadyAccountManager, PendingReadyConnection,
PendingReadyConnectionManager have all been replaced by the PendingReady
class
* Account, AccountManager, Connection and ConnectionManager features are now
QSet<uint>, not bitfields
* Plural contacts are generally represented by a QSet<QSharedPointer<Contact> >
instead of a QList<QSharedPointer<Contact> > (with a new typedef,
Telepathy::Client::Contacts, which must be used in signal/slot connections)
Enhancements:
* Added Connection::FeatureRoster, which, when enabled, adds contact list
(a.k.a. roster/buddy list) functionality to the ContactManager and
Contact objects
* Improved maintainability of Account, AccountManager, Connection and
ConnectionManager becoming ready
* A QSharedPointer<Contact> is now hashable with qHash, meaning contacts can
be QSet or QHash members
* Added a trivial contact list user interface, examples/roster/roster
Fixes:
* The client library no longer attempts to enforce group add/remove flags:
whatever change the user requests is passed on to the connection manager
(which might reject it)
* PendingReady objects returned by Connection::becomeReady() have the
Connection as parent, rather than an internal object that isn't useful
to library users
telepathy-qt4 0.1.0 (2009-02-26)
================================
The "pending operation" release.
This first release of telepathy-qt4 features high-level API for the following:
* Manipulating accounts on a Telepathy AccountManager implementation as
described by telepathy-spec 0.17.x, such as Mission Control 5 (beta versions
currently available)
* Manipulating Telepathy connection managers via the ConnectionManager and
Connection core API
* Setting your own presence on a connection manager supporting the
SimplePresence interface
* Requesting channels from a connection manager supporting the Requests
interface
* Reading contacts' aliases etc. on a connection manager supporting the
Contacts interface
* Sending and receiving messages on Text channels, with or without the
Messages interface
In addition, lower-level auto-generated accessors are provided for all the
functionality of telepathy-spec version 0.17.19.
Notable functionality that is currently missing, but will be added soon,
includes:
* Manipulating a server-stored contact list
* Controlling VoIP calls in StreamedMedia channels