/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\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.

10. Added 'static int reservePushConnections(int connections)' and
    'static void releasePushConnections(int connections)'.

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

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
*/

