[Development] Feature freeze exception for QTBUG-95587
Hello, due to the magnitude of the above mentioned bug, I'm considerng to introduce a new feature in Qt 6.2.1. The new "@" operator in QML relieves you from typing "Qt.resolvedUrl" over and over. See https://codereview.qt-project.org/c/qt/qtdeclarative/+/369987 Now the question is whether we want to relax the feature freeze for this particular issue or not. Some background: In Qt5, the QML engine resolves a relative URL as soon as it is assigned to any property of type "url" or QUrl. This means that you cannot store relative URLs in such properties, and reading such a property back in QML gives you a different value than the one you have written. The base URL used for resolving is the URL of the QML document where the assignment happens. This is often not the place where the URL is meant to be resolved. There were a number of bug reports about these shortcomings in Qt5, especially when combined with URL interception and/or redirection. See for example QTBUG-81244 QTBUG-88965 QTBUG-66690 QTBUG-76879 In Qt6, URLs are simply not resolved anymore when assigning them to a property. This conveniently gets rid of all the cruft and inconsistency resulting from the Qt5 behavior. Instead the individual elements using URLs (Image, ShaderEffect, ...) are free to resolve them to their liking. There is suitable functionality exported from QtQml to do that. Now, there is one problem, QTBUG-95587: The original context where a URL was first assigned to a property is not easily available to the final consumer of the URL. At the same time, the element consuming the URL might be deeply nested in the implementation details of some module and might have a rather internal base URL. In this case, the URL as resolved by the consumer is not very useful. A user can fix this by explicitly calling Qt.resolvedUrl() in order to resolve the URL in a specific context and make it absolute. As we need URLs rather often in QML, we will see much more Qt.resolvedUrl() in Qt6 than we have seen in Qt5. As Qt.resolvedUrl() is quite a mouthful, there should be a shorthand for it: the '@' operator. So, is this bad enough for an exception, or should we rather live with Qt.resolvedUrl() in 6.2. I'm tentatively in favor of the exception because 6.2 is a rather important release and this is a rather ugly wart in the QML language. best regards, Ulf ___ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
[Development] Qt 6.2.0 Beta4 released
Hi all! We have released the Qt 6.2.0 Beta4 today. As earlier you can get it via online installer. Src packages are also available in the Qt Account and download.qt.io. Delta to the beta3 attached. Please make sure you will report all findings in Jira. Also please make sure all Qt 6.2.0 release blockers are visible in the release blocker list (https://bugreports.qt.io/issues/?filter=23260). br, Jani Heikkinen Release Manager qt5.git 33988e12acb90d53fb73e7135d2dc2a6b6e2ae8e Add a platform config file for Qt Application Manager 51155b7bf87cf0c9f5ed0e2f679d31697859e0a0 Build minimal subset of tests in qtdeclarative desktop static builds 26e43959e19da179ba59b15b2df6024a12d60af9 iOS: Build a subset of tests when targeting iOS 8ab13223a5535f9ad3cb0beb08a87dfe6664c82b Coin: bump Android build tools and platform sdk level from 29 to 30 86a34fb5d7c6377d7c7f658eeffd66d8aac2a393 Upgrade Xcode and Command line tools to the latest version for Big Sur 5f7bb79fd94512309e811d60384662115638fde6 qdp: remove system dependencies 3c2fca6bb18fe416ff104de3ed66acc241bd372f COIN: Re-add qtsdk.yaml 1f452fd47912ca6a531b3520cd42409291840ce4 Update node.js to 12 aaf0fad6b54dfc17620583f7d02ea781b5a58985 Provisioning: Install 32bit version of Ninja on Windows 384bff22f7fe4784ec55446a887eb4014884ed09 Remove qtgraphicaleffects from .gitmodules qt3d: b9a5e8c65f5d1cd6f75f74638525c92264e9dcb7 Conan: Inherit recipe class from QtLeafModule for common functionality 0c26bd74a4b231555dd7737c1f287a71ec3201bb CMake: Ensure standalone tests are built ccfc231fb0b5ff2aa86f5ff878fce9d87bf30f2d Raise cmake_minimum_required to VERSION 3.16 in examples qt5compat: 1cfff6113c4ad07a76e590220ab7d32803d43ed9 QStringRef::lastIndexOf: adapt tests after upstream fixes 7509b151bae474f9cc5fe23ee260b2032e8abf2f Support builds with Conan 9c908c97c03e1a0e232812119356c5c174e04484 Raise cmake_minimum_required to VERSION 3.16 in examples qtactiveqt: 8b53d412fadf51babe605c888fac8d72e3117013 Ensure versionless wrappers do not introduce a new variable scope 8234fb149d812b9ac99be466cd5e025029aaa38c Conan: Inherit recipe class from QtLeafModule for common functionality qtbase: 8ec406b2296abdbdc8606fa955a2f8feb5254b1f Fix QListView assert when the last row is moved in IconMode 561ba60ea436c06f7aa88ae9c8a847f851851112 qlocale_win: Fix non-standalone month names b01986df9122f59a2b87153c803232b6c9fb5113 Update bundled libjpeg-turbo to version 2.1.1 ce006d117e343fce748f48a58533459d7ca428b9 When clearing QPixmapCache, stop its flushing timer 98c0817b5335abf82a134287ad41d734dcf5bec2 QDoubleValidator: fix NaN check in validateWithLocale 1c4ee2fda4cf827a160102d69e6d468576f237e0 Fix documentation of QNetworkAccessBackend 8ae5f758a63390fb2649ca773741e0bfa6bfcfe8 Fix corner case in QTimeZonePrivate::dataForLocalTime() 3fd07467c9cfcb854d3ab220ddb7c4868bbb2f72 Refine QLocale constructor documentation 1bef4351098ba7f7784102338d2bf2577c19f58a Revert "Forward touchEvents to children inside QGraphicsProxyWidget" af73d3a5e7fa1c7fb97f525805a16e713e83fefe wasm: fail when configuring for wasm and EMSDK is not found f2cd04584ae62ccdcff3585c7b7b9f1e294eca1b QFileDialogComboBox: member variable is not initialized 565c865c8a8046d8eaf5de669749fc89ed3246bf Ensure versionless wrappers do not introduce a new variable scope 7da01fb51334df2fdc5cbab30fd9d8676711ec4a qmake: Add support for C17/C18 8572ae3eed4f22dc5eed388569bfa5031397ef7d Painting: handle large and negative dash offset values 91b2141bba76283b188498680add23b9cc3b67f2 Move QGraphicsProxyWidget test into correct test case 564749ce3311f5e350224fe1d3e640061b1448aa Reactivate QGraphics(Proxy)Widget unit tests 81f8641af9cc87c7f21bd4d4b76a5a12111288c2 Enable building and uploading tests for Android targets if tests enabled 929bd36cc38b836aec50365012aaf11175512dd2 TLS plugins: Prefix with 'q' 2177ada794b027d809260668a156de4af684db8b Conan: Rename 'extra_cmake_args' Conan option as 'cmake_args_qtbase' 590d3f8e1eb80a0580258ff2c05e1495ee602e7b Conan: recipe cleanups c5d4ebd138d63d23e445b7e2b420206d233e6f7e Android: pass -g to testrunner to grant run time permissions 946737d882516d973c7ad54432c262d3381f1cf7 macOS: Hide mouse cursor when initiating IM enabled text input 764c7b51b73ebda154812540c3166e91d5c082be macOS: Correctly implement attributedSubstringForProposedRange 5647af5a485067d20bf46fc716a3f2e9603c3d50 macOS: Assume input method handles key event e99302fedce9926255ed91b3b53bfe138ee7f512 macOS: Handle IM insertNewline by sending synthetic Qt::Key_Return 5268194b2302fa3371de785854468d1a2649ff14 Fix deprecation of QMouseEvent::source() and flags() ea6cc84ab2da971b901b87b6cce25d119f94f409 Update Android default SDK from 29 to 30 9cc3e2bf877f75ed28ebb3717b5e84f609e77802 Make clear why QTestLog::addB?XFail() don't add to counters bd0b2075a3717e4eb60b12b3dfe6965b3c2375ec macOS: Handle replacement range during marking of text 51679efcf97dfea86431912eeb9489088c0804ed macOS: Factor out key event handling into