/*!
\page changes-messageserver.html
\code

*****************************************************************************
**
** API Change History
**
*****************************************************************************

Changes since the QMF-1.0 release on 15/05/09:

1. Changed 'QMailMessageSource::prepareMessages(const QMailMessageIdList&)' to
           'QMailMessageSource::prepareMessages(const QList<QPair<QMailMessagePart::Location, QMailMessagePart::Location> >&).

2. Added 'QMailMessageSink::messagesFailedTransmission(const QMailMessageIdList &ids, QMailServiceAction::Status::ErrorCode)' signal.

3. Changed 'virtual bool QMailMessageSink::cancelOperation()' to 
   'virtual bool QMailMessageSink::cancelOperation(QMailServiceAction::Status::ErrorCode code, const QString &text)'

4. Added 'bool QMailMessageSink::cancelOperation()'

5. Added concurrent version to QMailMessageSource and QMailMessageSink

6. Added QMailMessageBuffer

7. Added QMailMessageService::useConcurrentActions()

8. Changed semantics of QMailMessageBuffer::setCallback(), this function no longer creates a copy of the QMailMessage
   argument, the caller must now handle lifetime management.

9. Added QMailHeartbeatTimer.

*****************************************************************************

Changes since the development preview release on 03/04/09:

1. Added 'QMailTransport::socket()'.


*****************************************************************************

Changes since the development preview release on 06/03/09:

1. Added 'QMailAuthenticator::useEncryption(const QMailAccountConfiguration::ServiceConfiguration&, const QStringList &)'.


*****************************************************************************

Changes since the development preview release on 16/01/09:

1. Added 'QMailAuthenticator' class.

2. Added 'QMailServiceConfiguration::QMailServiceConfiguration(const QMailAccountConfiguration::ServiceConfiguration&)'.

3. Added 'QMailServiceConfiguration::id() const'.

4. Added 'QMailTransport::isEncrypted() const'.

5. Changed 'QMailMessageSource::notImplemented()' from slot to function.

6. Added 'QMailMessageSink::notImplemented()'.

7. Added 'QMailMessageService::accountId() const'.

8. Changed 'QMailMessageSource::retrieveMessagePart(const QMailMessageId &, const QMailMessagePart::Location &)' to
           'QMailMessageSource::retrieveMessagePart(QMailMessagePart::Location &)' and 
           'QMailMessageSource::retrieveMessagePartRange(const QMailMessageId &, const QMailMessagePart::Location &, uint)' to
           'QMailMessageSource::retrieveMessagePartRange(QMailMessagePart::Location &, uint)'.

9. Changed 'QMailMessageSource::retrieveAll(const QMailAccountId &, QMailRetrievalAction::RetrievalSpecification)' to
           'QMailMessageSource::retrieveAll(const QMailAccountId &)' and 
           'QMailMessageSource::synchronize(const QMailAccountId &, QMailRetrievalAction::RetrievalSpecification)' to
           'QMailMessageSource::synchronize(const QMailAccountId &)'.


*****************************************************************************

\endcode
*/

