Doc: Remove the mention of non-atomic convenience operators in QAtomic
[profile/ivi/qtbase.git] / dist / changes-5.0.0
index a9fe12b..a969fc8 100644 (file)
@@ -11,6 +11,12 @@ information about a particular change.
 *                       Source incompatible changes                        *
 ****************************************************************************
 
+- QAtomicInt's and QAtomicPointer's non-atomic convenience methods
+  (i.e., operator=, operator int / operator T*, operator!, operator==,
+  operator!= and operator->) have been removed as they did implicit
+  loads and stores of unspecified memory ordering. Code dealing with
+  is expected to use load(), loadAquire(), store() and storeRelease()
+  as necessary instead.
 
 - QObject
   * The signatures of the connectNotify() and disconnectNotify() functions
@@ -60,6 +66,8 @@ information about a particular change.
   in Qt4, so these methods return a bool now. If your code used the undocumented
   QBool, simply replace it with bool.
 
+- The old macros TRUE and FALSE have been removed, use true and false instead.
+
 - qIsDetached<> has been removed without replacement.
 
 - The return type of QFlags<Enum>::operator int() now matches the Enum's underlying
@@ -97,6 +105,10 @@ information about a particular change.
     or use static_cast<int>(Qt::SolidLine) to create a QVariant of type int with
     the same value as the enum.
 
+- QLocale:
+  * The historical language and country names were updated to their modern values,
+    some deprecated names were dropped or mapped to their modern alternatives.
+
 - QTestLib:
   * The plain-text, xml and lightxml test output formats have been changed to
     show a test result for every row of test data in data-driven tests.  In
@@ -325,6 +337,27 @@ information about a particular change.
 
 - QThread::terminated() has been removed, since its emission cannot be guaranteed.
 
+- QPrintEngine - Removed the PPK_SuppressSystemPrintStatus key as no longer used.
+
+- QCoreApplication::Type and QApplication::type() have been removed. These
+  Qt3 legacy application types did not match the application types
+  available in Qt5. Use for example qobject_cast instead to dynamically
+  find out the exact application type.
+
+- The following QStyle implementations have been made internal:
+  * QFusionStyle
+  * QGtkStyle
+  * QMacStyle
+  * QWindowsCEStyle
+  * QWindowsMobileStyle
+  * QWindowsStyle
+  * QWindowsVistaStyle
+  * QWindowsXPStyle
+  Instead of creating instances or inheriting these classes directly, use:
+  * QStyleFactory for creating instances of specific styles
+  * QProxyStyle for customizing existing style implementations
+  * QCommonStyle as a base for implementing full custom styles.
+
 ****************************************************************************
 *                           General                                        *
 ****************************************************************************
@@ -345,6 +378,9 @@ General Improvements
 - The Unicode Data and Algorithms has been updated to match the
   Unicode Standard of version 6.2. For more information see http://www.unicode.org/
 
+- The QLocale data has been updated to CLDR 22.1.
+  For more information see http://cldr.unicode.org/
+
 Third party components
 ----------------------
 
@@ -352,6 +388,10 @@ Third party components
 flags are now enabled by default on all platforms, for the sqlite3 copy under
 the 3rdparty directory.
 
+Legal
+-----
+
+ - Copyright of Qt has been transferred to Digia Plc.
 
 ****************************************************************************
 *                          Library                                         *
@@ -478,8 +518,25 @@ QtCore
   - SoftHyphen enum value has been added to specify a line break opportunity
     at a soft hyphen (SHY) character.
   - MandatoryBreak enum value has been added to specify a mandatory (aka "hard") line breaks.
-  - StartWord/EndWord enum values has been logically replaced with StartOfItem/EndOfItem ones
-    to mention they are not about the word boundaries only.
+  - Source-incompatible change: Since the behavior of boundaryReasons() method
+    has been changed a lot, StartWord/EndWord enum values were intentionally replaced
+    with StartOfItem/EndOfItem ones to force the affected code be revised.
+
+* Softkeys API was removed. The following functions and enums were removed:
+  - QAction::setSoftKeyRole()
+  - QAction::softKeyRole()
+  - QAction::SoftKeyRole
+  - Qt::WA_MergeSoftkeys
+  - Qt::WA_MergeSoftkeysRecursively
+  - Qt::WindowSoftkeysVisibleHint
+  - Qt::WindowSoftkeysRespondHint
+
+* QLocale
+  - [QTBUG-27987] Constructing a QLocale object with the short locale id has been improved.
+
+* QObject
+  - Added overloads of connect() to connect using pointers to member function
+  - Added QObject::isSignalConnected()
 
 QtGui
 -----
@@ -550,7 +607,7 @@ QtWidgets
   the proper Qt API: due to the version bump, QStyle will try to use the additional
   QStyleOption members, which are left default-initialized.
 
-* QHeaderView - The following functions have been obsoleted.
+* QHeaderView has been refactored and the following functions have been obsoleted:
 
   * void setMovable(bool movable) - use void setSectionsMovable(bool movable) instead.
 
@@ -566,6 +623,8 @@ QtWidgets
   * ResizeMode resizeMode(int logicalindex) const -
     use sectionResizeMode(int logicalindex) instead.
 
+  * setSortIndicator will no longer emit sortIndicatorChanged when the sort indicator is unchanged.
+
 * QDateEdit and QTimeEdit have re-gained a USER property. These were originally removed
     before Qt 4.7.0, and are re-added for 5.0. This means that the userProperty for
     those classes are now QDate and QTime respectively, not QDateTime as they have been
@@ -582,10 +641,21 @@ QtWidgets
   by QAbstractProxyModel and related classes. A copy of QProxyModel is available
   in the UiHelpers library.
 
+* The virtual methods QApplication::commitData and QApplication::saveState, used for session
+  management, no longer exist.
+  Connect to the commitDataRequest and saveStateRequest signals instead.
+  The new isSessionSaving() method can be used in the cases where the closeEvent of your
+  window needs to know whether it is being called during shutdown.
+
 * [QTBUG-20503] QFileSystemModel no longer masks out write permissions from the permissions
   returned from permissions() or data(FilePermissions), even if in read-only mode
   (QFileSystemModel::isReadOnly()).
 
+* [QTBUG-158 QTBUG-428 QTBUG-26501] QComboBox::currentText improvements
+  Restored currentText as USER property.
+  New setter setCurrentText(), marked as WRITE method, usable by QItemDelegate and QDataWidgetMapper.
+  New signal currentTextChanged() marked as NOTIFY method.
+
 QtNetwork
 ---------
 * QHostAddress::isLoopback() API added. Returns true if the address is
@@ -631,6 +701,20 @@ QtOpenGL
 * The default major version of QGLFormat has been changed to 2 to be aligned
   with QSurfaceFormat. Applications that want to use a different version should
   explicitly request it using QGLFormat::setVersion().
+* void QGLContext::generateFontDisplayLists(const QFont& font, int listBase)
+  and int QGLWidget::fontDisplayListBase(const QFont & fnt, int listBase)
+  which were deprecated in Qt 4 have been removed.
+* Previously deprecated default value listBase parameter has been removed from
+  both QGLWidget::renderText() functions.
+* In order to ensure support on more platforms, stricter requirements have been
+  introduced for doing threaded OpenGL. First, you must call makeCurrent() at
+  least once per swapBuffers() call, so that the platform has a chance to
+  synchronize resizes to the OpenGL surface. Second, before doing makeCurrent()
+  or swapBuffers() in a separate thread, you must call
+  QGLContext::moveToThread(QThread *) to explicitly let Qt know in which thread
+  a QGLContext is currently being used. You also need to make sure that the
+  context is not current in the current thread before moving it to a different
+  thread.
 
 QtScript
 --------
@@ -814,7 +898,7 @@ Qt for Windows CE
 
 * [QTBUG-20785] The moc now has a -b<file> option to #include an additional
   file at the beginning of the generated file.
-
+* moc is now able to fully understand and expands preprocessor macros.
 
 - uic