Qt 5.15.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.15.0.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

https://doc.qt.io/qt-5/index.html

The Qt version 5.15 series is binary compatible with the 5.14.x series.
Applications compiled for 5.14 will continue to run with 5.15.

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

https://bugreports.qt.io/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.

****************************************************************************
*                              Qt 5.15.1 Changes                           *
****************************************************************************

General
-------
  - [QTBUG-54720] FIDO U2F and WebAuth are now enabled
  - [QTBUG-62957] Fix unwanted creation of databases-incognito files in the
                  home directory when using an incognito profile
  - [QTBUG-70437] Fix scrollbar when releasing mouse button outside of window
                  on Windows
  - [QTBUG-72497] The use of QUIC can now be enforced via a command line flag
  - [QTBUG-75262, QTBUG-81693] Fixed HW acceleration and WebGL on macOS
  - [QTBUG-75391] Fix copy and paste of non-ascii characters from HTML on
                  macOS
  - [QTBUG-78559] Add basic parser for QTWEBENGINE_CHROMIUM_FLAGS to correctly
                  parse multiple arguments passed in the same flag,
                  e.g. js-flags
  - [QTBUG-83294] The pointer lock feature is now working again
  - [QTBUG-83476] Feature Permissions can now be set and cleared before the
                  first navigation
  - [QTBUG-83710] Fix AltGr on Windows
  - [QTBUG-83729] Fix regession of completion in the developer tools
                  "Console" tab not working properly
  - [QTBUG-83732] Fix setting WebEngineView.audioMuted before first page load
  - [QTBUG-83785] Fix upside down render passes with the software scenegraph
  - [QTBUG-84340] Re-enable PDF viewer after regression in 5.15.0
  - [QTBUG-84355] Fix crash when closing the WebContents
  - [QTBUG-84660] Fix double click on Flash content
  - [QTBUG-85116] Automatically reject feature permission requests in incognito
                  mode
  - [QTBUG-85117] Fix regression causing client certificates to not work
  - [QTBUG-85118] Fix regression of QWebEnginePage::recentlyAudibleChanged
                  signal
  - [QTBUG-85309] Enable screen sharing on wayland by supporting PipeWire
  - [QTBUG-85363] Fix wrong application name in utility process to list it
                  correctly in e.g. PulseAudio
  - [QTBUG-85526] Fix regression with cookie filters not working
  - [QTBUG-85626] Fix regression with crashes on media playback / D-BUS
  - [QTBUG-85890] Support combining audio and video permission requests in the
                  getDisplayMedia API
  - [QTBUG-85817] Fix regression causing crashes on resize
  - [QTBUG-86018] Fix building with bison 3.7 on newer Linux
  - [QTBUG-86092] Fix H264 support in WebRTC on Windows when using MSVC
  - Enable hardware accelerated video decoding with ANGLE

Chromium
--------

 - Security fixes from Chrome up to version 85.0.4183.83, including:

    * CVE-2020-6467
    * CVE-2020-6468
    * CVE-2020-6470
    * CVE-2020-6471
    * CVE-2020-6472
    * CVE-2020-6473
    * CVE-2020-6474
    * CVE-2020-6475
    * CVE-2020-6476
    * CVE-2020-6480
    * CVE-2020-6481
    * CVE-2020-6482
    * CVE-2020-6483
    * CVE-2020-6486
    * CVE-2020-6487
    * CVE-2020-6489
    * CVE-2020-6490
    * CVE-2020-6493: Use after free in WebAuthentication
    * CVE-2020-6506: Insufficient policy enforcement in WebView
    * CVE-2020-6510: Heap buffer overflow in background fetch
    * CVE-2020-6511: Side-channel information leakage in CSP
    * CVE-2020-6512: Type Confusion in V8
    * CVE-2020-6513: Heap buffer overflow in PDFium
    * CVE-2020-6514: Inappropriate implementation in WebRTC
    * CVE-2020-6518: Use after free in developer tools
    * CVE-2020-6523: Out of bounds write in Skia
    * CVE-2020-6524: Heap buffer overflow in WebAudio
    * CVE-2020-6526: Inappropriate implementation in iframe sandbox
    * CVE-2020-6529: Inappropriate implementation in WebRTC
    * CVE-2020-6530: Out of bounds memory access in  developer tools
    * CVE-2020-6531: Side-channel information leakage in scroll to text
    * CVE-2020-6532: Use after free in SCTP
    * CVE-2020-6533: Type Confusion in V8.
    * CVE-2020-6534: Heap buffer overflow in WebRTC
    * CVE-2020-6535: Insufficient data validation in WebUI
    * CVE-2020-6540: Heap buffer overflow in Skia
    * CVE-2020-6541: Use after free in WebUSB
    * CVE-2020-6542: Use after free in ANGLE
    * CVE-2020-6543: Use after free in task scheduling
    * CVE-2020-6544: Use after free in media
    * CVE-2020-6545: Use after free in audio
    * CVE-2020-6548: Heap buffer overflow in Skia
    * CVE-2020-6549: Use after free in media
    * CVE-2020-6550: Use after free in IndexedDB
    * CVE-2020-6551: Use after free in WebXR
    * CVE-2020-6555: Out of bounds read in WebGL
    * CVE-2020-6559: Use after free in presentation API
    * Security bug 1025302
    * Security bug 1029569
    * Security Bug 1048619
    * Security Bug 1051439
    * Security bug 1052492
    * Security bug 1054229
    * Security Bug 1056161
    * Security Bug 1057369
    * Security Bug 1058515
    * Security Bug 1061933
    * Security bug 1065122
    * Security bug 1065731
    * Security Bug 1070012
    * Security bug 1075907
    * Security bug 1087158
    * Security bug 1087629
    * Security bug 1090543
    * Security bug 1098860
    * Security bug 1102137
    * Security bug 1102408
    * Security bug 1108639
