summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-11-18 21:30:45 -0800
committerJani Heikkinen <jani.heikkinen@theqtcompany.com>2014-11-21 16:47:25 +0100
commit0792943d59eaa41f5e04b6ccaf39322eb8657f2a (patch)
treeb3169435977c9799a337e7a02baf4ef241d4e526
parent087aa1f3cb5975ef55e42db54487f737c93a4f0f (diff)
Update the ChangeLog for 5.4.0 for the rest of qtbase
Change-Id: I255892a9c84a8d873195f9440f9c1808cbe2b5a8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r--dist/changes-5.4.0443
1 files changed, 437 insertions, 6 deletions
diff --git a/dist/changes-5.4.0 b/dist/changes-5.4.0
index 614f57afe2..f989904484 100644
--- a/dist/changes-5.4.0
+++ b/dist/changes-5.4.0
@@ -16,26 +16,398 @@ Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
-* Library *
+* Deprecation Notice *
****************************************************************************
+ - The Q_COMPILER_xxx macros for C++14 compiler features introduced in Qt
+ 5.3 are deprecated and will not be updated for new compilers either.
+ User code should be changed to use the macros from Standing Document 6
+ instead:
+ http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations.
+ This does not affect C++11 feature macros.
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - QExplicitelySharedDataPointer's copy constructor which performs a
+ static_cast from "X *" to "T *" (when constructing a
+ QExplicitlySharedDataPointer<T> from a QExplicitlySharedDataPointer<X>)
+ doesn't perform a static_cast from "X *" to "T *" any more. Instead, an
+ implicit cast is now performed. This change will break compilation of code
+ that relied on the downcast (i.e. cast towards a more derived type) of the
+ templated type when copy constructing a QExplicitelySharedDataPointer
+ object. Please refer to the class documentation for more information about
+ this issue and a workaround to keep old code compiling.
+ - QImageReader now automatically rotates JPEG images according to Exif
+ orientation
+ - [QTBUG-18980] HarfBuzz-NG is now the default shaper on all platforms.
+ This results in a better shaping results for various languages, better
+ performance, and lower memory consumption.
+ - [QTBUG-41858] Changed QStringRef::right() to be consistent with
+ QString::right(). The function now returns the N right-most characters,
+ like the documentation already claimed.
+ - The mutable Java-style iterators like QListMutableIterator and
+ QHashMutableIterator no longer set the parent container to unsharable
+ mode. If you create a copy of the container being iterated on after the
+ iterator, any changes done with the iterator might affect the copy too.
+
+ - Logging (including qDebug and qWarning):
+ * Support for the deprecated environment variables QT_NO_JOURNALD_LOG
+ and QT_ANDROID_PLAIN_LOG has been removed. Instead, set
+ QT_LOGGING_TO_CONSOLE to 1 to force logging to the console (stderr).
+ Set that variable to 0 to force logging to the system-specific event
+ log (if any).
+ * [QTCREATORBUG-12564] Log output will now go to the system log (if
+ support for it was compiled into Qt) if the application has no
+ controlling terminal or console window. Set QT_LOGGING_TO_CONSOLE to 1
+ to force logging to go to stderr.
+
+ - QSettings:
+ * [QTBUG-41812] QSettings::value() now returns an invalid QVariant when
+ passing an empty key. The code path ran into an assert, which was only
+ noticeable in debug builds.
+ * [QTBUG-21739] The locking mechanism inside QSettings has changed
+ and is no longer compatible with the one of previous versions of
+ Qt. There might be corruption if two applications running different
+ versions of Qt are writing to the same config file at the same
+ time. You must also now have write permissions in the directory
+ containing the settings file in order to write settings.
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtConcurrent
+------------
+
+ - [QTBUG-17220] run() now optionally takes as its first argument the
+ QThreadPool to run the task on.
+
QtCore
------
- Added QEnableSharedFromThis, a class that allows obtaining a
QSharedPointer for an object already managed by a shared pointer.
+ - Added qHashBits() to aid implementing qHash() overloads for custom
+ types.
+ - Added new QByteArrayList class.
+ - Added QStorageInfo class to retrive information about mounted volumes
+ and drives
+
+ - Logging:
+ * QT_MESSAGE_PATTERN can include a backtrace using %{backtrace}
+ * Added QtMsgType argument to QLoggingCategory constructor and
+ Q_LOGGING_CATEGORY macro that controls the default category
+ configuration.
+ * File, line, function information are not recorded anymore for logging
+ statements in release builds. Set QT_MESSAGELOGCONTEXT explicitly to
+ enable recording in all configurations.
+
+ - QAbstractProxyModel:
+ * [QTBUG-39549] QAbstractProxyModel now forwards the drop-related API.
+
+ - QByteArray:
+ * Added convenience methods to convert directly to and from std::string.
+ * Fixed a bug that would cause QByteArray to stop converting toUpper or
+ toLower at the first embedded null character.
+
+ - QCommandLineParser:
+ * Added addOptions() method.
+
+ - QElapsedTimer:
+ * Is no longer a POD; its default constructor now initializes the object to
+ an invalid QElapsedTimer
+
+ - QFlags:
+ * [QTBUG-39786] Added initializer_list constructor
+
+ - QFuture:
+ * [QTBUG-17220] Can now be used with any QThreadPool, not just
+ globalInstance().
+
+ - QPair:
+ * Can now be used in C++11 constexpr contexts.
+
+ - QSaveFile:
+ * Now follows symbolic links when writing to a link instead of
+ replacing the link with the contents.
+
+ - QSettings:
+ * [QTBUG-21739] Fixed data loss while writing the config to the disk
+ fails.
+
+ - QStandardPaths:
+ * [QTBUG-38483] QStandardPaths now has new enumeration values
+ AppDataLocation, AppLocalDataLocation to be able to differentiate
+ between roaming and local paths on the Windows operating system.
+ DataLocation is deprecated in favor of AppDataLocation.
+
+ - QString:
+ * QString can now split a string to a list of QStringRef.
+ * Added the QStringRef::split() function
+
+ - QTextStream:
+ * QTextStream now uses group separators when writing floating-point
+ numbers when the locale is not the C locale. The old behavior can be
+ restored by setting QLocale::OmitGroupSeparator on the locale.
+
+ - QTimer:
+ * [QTBUG-26406] Implemented new style connect syntax, including
+ functors, in QTimer::singleShot
+
+ - QUrl:
+ * QUrl::fromLocalFile now returns an empty URL if the input string is
+ empty.
+
+ - QVariant:
+ * [QTBUG-40363] Fixed ordered comparison between QVariants that do not
+ match but produce identical toString output.
+
+ - QVector:
+ * Added removeOne() and removeAll() for QList compatibility.
+
+ - QWeakPointer:
+ * Added lock() method for std::weak_ptr compatibility.
+ * Added member-swap function.
+
+ - QtJson:
+ * [QTBUG-26606] QJsonArray and QJsonObject now supports C++11
+ initializer lists.
+
+ - QtMath:
+ * Introduced qNextPowerOfTwo methods.
+
+QtDBus
+------
+
+ - Blocking calls that take a long time will now generate a warning. The
+ time taken may be tuned using the environment variables
+ Q_DBUS_BLOCKING_CALL_MAIN_THREAD_WARNING_MS and
+ Q_DBUS_BLOCKING_CALL_OTHER_THREAD_WARNING_MS. The value represents (in
+ milliseconds) how long before a blocking call is warned about. A value
+ below zero disables the warning, a value of zero will warn about all
+ blocking calls.
+
+QtGui
+-----
+
+ - Added QPixelFormat class.
+ - [QTBUG-38168] QtGui's OpenGL headers are now automatically including the
+ highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds.
+ - [QTBUG-36483] Dynamic OpenGL implementation loading is now supported on
+ Windows. This requires Qt to be configured with -opengl dynamic.
+ - [QTBUG-39583] Keymaps are now changeable at runtime when using eglfs.
+ - [QTBUG-40841] environment variable QT_DBL_CLICK_DIST customizes the
+ amount of movement allowed when detecting a double click.
+
+ - Clipboard:
+ * [QTBUG-41852] Fixed a memory leak in setMimeData() when the platform
+ plugin did not support the requested mode.
+
+ - Painting:
+ *[QTBUG-41413] Fixed some very rare cases of mismatched raster modes
+ in QPainter.
+
+ - QEvent:
+ * [QTBUG-38858] The debug output for events has been significantly
+ improved.
+
+ - QFont:
+ * [QTBUG-22814][QTBUG-22946] QFont now serializes its data properly,
+ without any data loss.
+
+ - QGuiApplication:
+ * Add support for -icon command line argument on X11, add -qwindowicon
+ on all platforms.
+ * Added QGuiApplication::screenRemoved signal to inform that a screen
+ has been removed, before Qt reacts to it.
+
+ - QImage:
+ * [QTBUG-25998] Added support for 10-bit per color channel image
+ formats.
+
+ - QOpenGLBuffer:
+ * [QTBUG-38168] Added QOpenGLBuffer::mapBufferRange().
+
+ - QOpenGLFramebufferObject:
+ * Introduced an argument to QOpenGLFramebufferObject::toImage() to save
+ mirroring the result.
+ * Added support 10-bit per color channels formats as the internal
+ framebuffer format, making it possible to render in that precision.
+
+ - QOpenGLTextureCache:
+ * Added support for uploading common QImage formats directly to OpenGL,
+ if supported by the OpenGL implementation.
+
+ - QPicture:
+ * [QTBUG-20578] QPicture now serializes its data properly by also
+ accounting for QDataStream versions greater than Qt 4.5.
+
+ - Tablet support:
+ * [QTBUG-39458] Added buttons to QTabletEvent
+ - Text:
+ * [QTBUG-41372] Fixed regression when rendering Uchen text in WebKit
+ on Windows.
+ * Fixed use of uninitialized memory in the FreeType font engine
+
+QtNetwork
+---------
+
+ - QNetworkAccessManager:
+ * Fixed behavior of upload QIODevice that generate data on readyRead()
+ for HTTP PUT/POST
+
+ - QSsl:
+ * QSsl::SecureProtocols now also excludes SSLv3
+
+ - QSslCertificate:
+ * Can now be used as a key in QSet/QHash.
+
+ - QSslError:
+ * Can now be used in QSet/QHash.
+
+ - QSslSocket:
+ * [QTBUG-28471] Added support for finding the version of SSL/TLS in
+ use by a connection.
+ * Added accessors for the version of OpenSSL used at build-time. This
+ will help when debugging problems caused by a mismatch with the
+ run-time version.
+ * [QTBUG-1565] Support for loading PKCS#12 bundles was added. These are
+ often used to conveniently transport keys and certificates,
+ particularly when making use of client certificates.
+
+QtPrintSupport
+--------------
+
+ - QPrinter:
+ * [QTBUG-11332] Added duplex support for Windows and OS X.
QtSql
-----
- - qsql ibase: fix memory corruption due to LONG being 4 bytes in firebird.
- - QSqlDriver::dbmsType(): New method reports DBMS type. Especially useful when using ODBC.
+ - ibase: Fixed memory corruption due to LONG being 4 bytes in firebird.
+
+ - QSqlDriver:
+ * Add support for determining DBMS type from SQL driver using
+ QSqlDriver::dbmsType()
+
+QtTest
+------
+
+ - Tests now output build information.
+
+QtWidgets
+---------
+
+ - All widgets with a setReadOnly method now send a ReadOnlyChange event
+ (e.g., for app-specific palette changes)
+ - [QTBUG-32888] Accessibility for widgets is now included in the widget
+ library instead of being a separate plugin. For static builds this means
+ that libqtaccessiblewidgets is no longer required.
+
+ - QComboBox:
+ * [QTBUG-33537] Fixed positions of items when QComboBox is set as
+ editable in Fusion style.
+ * [QTBUG-33537] Fixed updating appearance of popup menu when changing
+ the editable state of the combo box.
+
+ - QDialog / Windows:
+ * [QTBUG-2027] Dialogs can now be menuless.
+
+ - QGraphicsScene:
+ * Added the minimumRenderSize property which can be used to speed up
+ rendering by not painting items smaller than a give size.
+ * The removal of items when using the linear index is now more
+ efficient.
+
+ - QLayout:
+ * [QTBUG-37673] Widgets and dialogs containing layouts with
+ heightForWidth (such as a label with word wrap) will no longer get a
+ minimum size of 0x0.
+
+ - QLineEdit:
+ * [QTBUG-40287] The signal textEdited() is now emitted when the user
+ clicks the clear button created by setClearButtonEnabled() as well.
+
+ - QMainWindow:
+ * [QTBUG-40410] Dock widgets will now be resized properly when the
+ central widget has a fixed size.
+
+ - QPlainTextEdit:
+ * [QTBUG-36415] Fixed a crash when using full width selections and
+ issuing a complex undo command chain which removes and inserts an
+ empty block in one go.
+ * [QTBUG-40347] Fixed a possible divide by zero crash when font metrics
+ were missing for the font.
+
+ - QTabBar:
+ * Added changeCurrentOnDrag property.
+
+ - QTableView / QTableWidget:
+ * [QTBUG-29239] currentIndex() now reflects the top left cell when in a
+ span.
+
+ - QTreeView:
+ * Indentation is now style-dependent by default.
+ * Added resetIndentation().
+
+ - Styles:
+ * Allow overriding standardIcon() in a proxy style
****************************************************************************
* Platform Specific Changes *
****************************************************************************
+Android
+-------
+
+ - [QTBUG-36019] Enable using native style also when Ministro deployment
+ mechanism is not in use.
+ - [QTBUG-29069] Release all windows when the application is suspended.
+ - Added Gradle support to build the APK.
+ - [QTBUG-39688] Back key no longer kills the application when no window is
+ visible.
+ - [QTBUG-41365] Default open-source license for Qt for Android is now
+ LGPLv3. For compatibility with the LGPLv2.1 license, add
+ "-no-android-style-assets" to your configuration.
+ - [QTBUG-32399] Input panels are now hidden when focus changes to an object
+ that does not accept input.
+ - [QTBUG-41854] Added support for QClipboard::clear()
+ - [QTBUG-41852] Fixed memory leak in QClipboard::setMimeData()
+ - [QTBUG-41817] QClipboard::mimeData() now returns an empty object instead
+ of null pointer from QClipboard when clipboard is empty for consistency
+ with other platforms.
+
+ - Important Behavior Changes:
+ * [QTBUG-36274] The main event loop is now stopped when the app is
+ suspended
+
+iOS
+---
+
+ - [QTBUG-39097] Accessibility was added to the iOS platform port. This
+ enables Qt applications to be read by VoiceOver on iOS devices.
+ - [QTBUG-42276] Fixed path to QStandardPaths::DataLocation. Until now,
+ DataLocation was pointing to the Document directory. With this patch,
+ it will return the more accurate Library/Application Support.
+ Applications making use of DataLocation should move these data to the
+ new location. This can be done using the path provided by
+ DocumentLocation as the source path.
+
+Linux/XCB
+---------
+
+ - [QTBUG-35832] Fixed transparency of tray icons in cases where there
+ is no alpha channel or system tray visual.
+ - environment variables QT_XCB_DEBUG_XINPUT and
+ QT_XCB_DEBUG_XINPUT_DEVICES are deprecated and replaced with logging
+ categories qt.qpa.events.input and qt.qpa.devices respectively
+ - [QTBUG-39572] Wacom touch devices are not mistaken for additional
+ graphics tablets any more.
+
+
OS X
----
@@ -43,17 +415,51 @@ OS X
- OS X 10.10 is now supported.
- QMacStyle has been updated with better OS 10.10 support.
- The Qt binary packages are now configured with C++11 enabled.
+ - [QTBUG-41208] Fixed detection of writing system support in fonts for
+ some scripts such as Mkhedruli.
+ - [QTBUG-41192] Fixed menu item shortcuts without keyboard modifiers.
+ - [QTBUG-31301] Drag-and-drop QMimeData requests are now delayed until
+ drop time.
+ - [QTBUG-10899] Added support for ApplicationState
+ capability. Application can now detect when an application states
+ have changed as well when the dock icon has been clicked.
+
+ - Fonts:
+ * [QTBUG-40986][QTBUG-40549] Fixed missing glyph box shown in place of
+ some uncommon Unicode code points.
Windows
-------
- - [QTBUG-38259] Changed configure defaults so that Qt5Core does not
- link against ICU libraries anymore. Pass '-icu' to enable it.
+ - [QTBUG-38259] Changed configure defaults so that Qt5Core does not link
+ against ICU libraries anymore. Pass '-icu' to enable it.
+ - [QTBUG-35432][QTBUG-23687] Command line parsing on Windows now uses
+ the WinAPI function CommandLineToArgvW() to exactly match the quoting
+ behavior used by the majority of applications.
+
+ - Fonts:
+ * [QTBUG-41783] Fix off-by-one in font descent when using the
+ DirectWrite font engine.
+ * [QTBUG-39961] Set default fallback font to MS Shell Dlg 2 instead of
+ Arial.
+
+****************************************************************************
+* Compiler Specific Changes *
+****************************************************************************
+
+ - Release builds with Microsoft Visual Studio 2013 now enable the
+ standard-conforming C and C++ strict string behavior. This option will
+ be enabled in all builds with future Visual Studio versions.
+ Non-conforming code should be fixed for maximum portability and
+ correctness. See http://msdn.microsoft.com/en-us/library/dn449508.aspx
+ for more information.
****************************************************************************
-* Tools *
+* Tools *
****************************************************************************
+ - [QTBUG-30900] The obsolete findtr script was removed.
+
configure & build system
------------------------
@@ -66,6 +472,12 @@ configure & build system
from a pre-existing Qt installation.
- [QTBUG-41267] Fixed parallelized (jom) -debug-and-release builds.
+moc
+---
+
+ - Fixed "zero as null pointer constant" warnings in moc's generated
+ code.
+
qmake
-----
@@ -86,3 +498,22 @@ qmake
- QMAKE_EXTRA_COMPILERS' commands and depend_command are no longer mangled.
Use $$shell_path() and $$shell_quote() to prepare the commands correctly.
- Added link-time optimization support for Clang, GCC and ICC. CONFIG+=ltgc.
+
+rcc
+---
+
+ - rcc now supports an optional, two-pass compilation that improves build
+ times for large resource bundles. This feature can be enabled by adding
+ "CONFIG += resources_big" to your .pro file. Note that this feature may
+ interfere with builds that enable link-time code generation or other
+ optimization techniques.
+
+****************************************************************************
+* Third-party libraries *
+****************************************************************************
+
+ - ANGLE has been upgraded to version 2.1, bringing partial support for
+ OpenGL ES3 over Direct3D 11, numerous bug fixes, and several new vendor
+ extensions.
+ - [QTBUG-40649][QTBUG-40658][QTBUG-41031][QTBUG-41081][QTBUG-41308][QTBUG-
+ 41563] ANGLE updated to 2.1~f8602ad91e4f