Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-opcua for openSUSE:Factory 
checked in at 2026-03-28 20:13:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-opcua (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-opcua.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-opcua"

Sat Mar 28 20:13:54 2026 rev:41 rq:1342802 version:6.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-opcua/qt6-opcua.changes      2026-02-03 
21:31:40.797110979 +0100
+++ /work/SRC/openSUSE:Factory/.qt6-opcua.new.8177/qt6-opcua.changes    
2026-03-28 20:15:27.722650316 +0100
@@ -1,0 +2,6 @@
+Mon Mar 23 10:37:50 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.11.0
+  https://www.qt.io/blog/qt-6.11-released
+
+-------------------------------------------------------------------

Old:
----
  qtopcua-everywhere-src-6.10.2.tar.xz

New:
----
  qtopcua-everywhere-src-6.11.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-opcua.spec ++++++
--- /var/tmp/diff_new_pack.zowXHG/_old  2026-03-28 20:15:28.306674419 +0100
+++ /var/tmp/diff_new_pack.zowXHG/_new  2026-03-28 20:15:28.306674419 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package qt6-opcua
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,8 @@
 #
 
 
-%define real_version 6.10.2
-%define short_version 6.10
+%define real_version 6.11.0
+%define short_version 6.11
 %define tar_name qtopcua-everywhere-src
 %define tar_suffix %{nil}
 #
@@ -30,7 +30,7 @@
 %global __requires_exclude qt6qmlimport\\(OpcUaMachineBackend\\)
 #
 Name:           qt6-opcua%{?pkg_suffix}
-Version:        6.10.2
+Version:        6.11.0
 Release:        0
 Summary:        Qt wrapper for existing OPC UA stacks
 # src/plugins/opcua is GPL-3.0-or-later, rest is dual licensed

++++++ _service ++++++
--- /var/tmp/diff_new_pack.zowXHG/_old  2026-03-28 20:15:28.362676731 +0100
+++ /var/tmp/diff_new_pack.zowXHG/_new  2026-03-28 20:15:28.366676895 +0100
@@ -1,9 +1,9 @@
 <services>
   <service name="tar_scm" mode="disabled">
    <param name="changesgenerate">disable</param>
-   <param name="version">6.10.2</param>
+   <param name="version">6.11.0</param>
    <param name="url">git://code.qt.io/qt/qtopcua.git</param>
-   <param name="revision">v6.10.2</param>
+   <param name="revision">v6.11.0</param>
    <param name="scm">git</param>
    <param name="filename">qtopcua-everywhere-src</param>
   </service>

++++++ qtopcua-everywhere-src-6.10.2.tar.xz -> 
qtopcua-everywhere-src-6.11.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/.cmake.conf 
new/qtopcua-everywhere-src-6.11.0/.cmake.conf
--- old/qtopcua-everywhere-src-6.10.2/.cmake.conf       2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/.cmake.conf       2026-03-10 
06:08:03.000000000 +0100
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.10.2")
+set(QT_REPO_MODULE_VERSION "6.11.0")
 set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
 
 set(QT_EXTRA_INTERNAL_TARGET_DEFINES
@@ -9,4 +9,5 @@
     "QT_NO_CONTEXTLESS_CONNECT=1"
     "QT_NO_FOREACH=1"
     "QT_NO_QASCONST=1"
+    "QT_NO_URL_CAST_FROM_STRING=1"
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/CMakeLists.txt 
new/qtopcua-everywhere-src-6.11.0/CMakeLists.txt
--- old/qtopcua-everywhere-src-6.10.2/CMakeLists.txt    2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/CMakeLists.txt    2026-03-10 
06:08:03.000000000 +0100
@@ -11,12 +11,14 @@
     LANGUAGES CXX C
 )
 
-find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals 
Core Network)
-find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Quick 
QuickTest Widgets)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals)
+
+# This should be called as early as possible, just after 
find_package(BuildInternals) where it is
+# defined.
 qt_internal_project_setup()
 
-# Needed for qt_opcua_disable_optimizations_in_current_dir.
-include(src/opcua/Qt6OpcUaMacros.cmake)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS Core Network)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Quick 
QuickTest Widgets)
 
 if(QNX)
     message(NOTICE "Skipping the build as the condition \"NOT QNX\" is not 
met.")
@@ -26,4 +28,8 @@
     message(NOTICE "Skipping the build as the condition \"NOT WASM\" is not 
met.")
     return()
 endif()
+
+# Ensure macros are available when configuring tests in-tree with the Qt build
+include(src/opcua/Qt6OpcUaMacros.cmake)
+
 qt_build_repo()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/REUSE.toml 
new/qtopcua-everywhere-src-6.11.0/REUSE.toml
--- old/qtopcua-everywhere-src-6.10.2/REUSE.toml        2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/REUSE.toml        2026-03-10 
06:08:03.000000000 +0100
@@ -18,14 +18,14 @@
         "tests/open62541-testserver/TestModel/qtopcuatestmodel.tt2pro"]
 precedence = "closest"
 comment = "test"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only"
 
 [[annotations]]
 path = "src/plugins/opcua/open62541/open62541-metadata.json"
 precedence = "closest"
 comment = "src and plugins"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR LGPL-3.0-only OR 
GPL-2.0-only OR GPL-3.0-only"
 
 [[annotations]]
@@ -33,42 +33,42 @@
         "**.pri", "**BLACKLIST", "**ci_config_linux.json"]
 precedence = "closest"
 comment = "build system"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "BSD-3-Clause"
 
 [[annotations]]
 path = ["**/.gitattributes", "**.gitignore", "**.gitreview"]
 precedence = "closest"
 comment = "version control system. Infrastructure"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
 
 [[annotations]]
 path = ["examples/**", "**/doc/snippets/**"]
 comment = "this must be after the build system table because example and 
snippets take precedence over build system"
 precedence = "closest"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
 
 [[annotations]]
 path = ["**.qdocconf", "**/doc/images/**"]
 comment = "documentation"
 precedence = "closest"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"
 
 [[annotations]]
 path = ["**.toml", "licenseRule.json"]
 comment = "infrastructure"
 precedence = "override"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR BSD-3-Clause"
 
 [[annotations]]
 path = ["**/qt_attribution.json"]
 comment = "documentation"
 precedence = "override"
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"
 
 [[annotations]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/dependencies.yaml 
new/qtopcua-everywhere-src-6.11.0/dependencies.yaml
--- old/qtopcua-everywhere-src-6.10.2/dependencies.yaml 2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/dependencies.yaml 2026-03-10 
06:08:03.000000000 +0100
@@ -1,7 +1,7 @@
 dependencies:
   ../qtbase:
-    ref: 000d6c62f7880bb8d3054724e8da0b8ae244130e
+    ref: 8ba7ea4b77a4b8f1948760221e264917ddc9e1c8
     required: true
   ../qtdeclarative:
-    ref: 09c70541c76659bcd8c49f05841b0e778c9ffd4c
+    ref: e602a097ca314e9610b1fd3b7dbfa467a868731a
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/dist/REUSE.toml 
new/qtopcua-everywhere-src-6.11.0/dist/REUSE.toml
--- old/qtopcua-everywhere-src-6.10.2/dist/REUSE.toml   2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/dist/REUSE.toml   2026-03-10 
06:08:03.000000000 +0100
@@ -4,5 +4,5 @@
 path = ["*"]
 precedence = "override"
 comment = "Licensed as documentation."
-SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+SPDX-FileCopyrightText = "Copyright (C) The Qt Company Ltd."
 SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR 
GFDL-1.3-no-invariants-only"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/examples/opcua/waterpump/simulationserver/CMakeLists.txt
 
new/qtopcua-everywhere-src-6.11.0/examples/opcua/waterpump/simulationserver/CMakeLists.txt
--- 
old/qtopcua-everywhere-src-6.10.2/examples/opcua/waterpump/simulationserver/CMakeLists.txt
  2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/examples/opcua/waterpump/simulationserver/CMakeLists.txt
  2026-03-10 06:08:03.000000000 +0100
@@ -67,12 +67,6 @@
     )
 endif()
 
-# We need to disable optimizations on MSVC, to circumvent buggy code in the 
open62541.c file.
-# Otherwise the test server fails to launch on Windows MSVC with 
UA_STATUSCODE_BADOUTOFMEMORY.
-# We also disable them on Unixy platforms, to mimic the qmake fix done in 
QTBUG-75020.
-# See QTBUG-85939 for details.
-qt_opcua_disable_optimizations_in_current_dir()
-
 if (QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541)
     if(WIN32 AND (GCC OR CLANG))
         target_link_libraries(simulationserver PRIVATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtopcua-everywhere-src-6.10.2/qt_cmdline.cmake 
new/qtopcua-everywhere-src-6.11.0/qt_cmdline.cmake
--- old/qtopcua-everywhere-src-6.10.2/qt_cmdline.cmake  1970-01-01 
01:00:00.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/qt_cmdline.cmake  2026-03-10 
06:08:03.000000000 +0100
@@ -0,0 +1,3 @@
+# Copyright (C) 2025 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+qt_commandline_subconfig(src/opcua)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/open62541.c 
new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/open62541.c
--- old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/open62541.c        
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/open62541.c        
2026-03-10 06:08:03.000000000 +0100
@@ -1,6 +1,6 @@
 /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
  * visit http://open62541.org/ for information about this software
- * Git-Revision: v1.4.13
+ * Git-Revision: v1.4.14
  */
 
 /*
@@ -9427,16 +9427,14 @@
 /************************/
 
 /* Can we reuse the integer encoding mechanism by casting floating point
- * values? */
-#if (UA_FLOAT_IEEE754 == 1) && (UA_LITTLE_ENDIAN == UA_FLOAT_LITTLE_ENDIAN)
-# define Float_encodeBinary UInt32_encodeBinary
-# define Float_decodeBinary UInt32_decodeBinary
-# define Double_encodeBinary UInt64_encodeBinary
-# define Double_decodeBinary UInt64_decodeBinary
-#else
+ * values? For single float values we ensure that only quiet NAN are used.
+ * For float arrays we want to have the speed advantage of just memcpy (if
+ * the processor architecture uses IEE754). We get array-memcpy by the
+ * "overlayable" bit in the datatype description. */
 
+#if (UA_FLOAT_IEEE754 < 1) || (UA_LITTLE_ENDIAN != UA_FLOAT_LITTLE_ENDIAN)
 #include <math.h>
-
+#define UA_SLOW_IEEE754 1
 #pragma message "No native IEEE 754 format detected. Use slow generic 
encoding."
 
 /* Handling of IEEE754 floating point values was taken from Beej's Guide to
@@ -9472,6 +9470,8 @@
     return result;
 }
 
+#endif
+
 /* Float */
 #define FLOAT_NAN 0xffc00000
 #define FLOAT_INF 0x7f800000
@@ -9481,19 +9481,26 @@
 ENCODE_BINARY(Float) {
     UA_Float f = *src;
     u32 encoded;
-    /* cppcheck-suppress duplicateExpression */
-    if(f != f) encoded = FLOAT_NAN;
+    if(UA_UNLIKELY(f != f)) encoded = FLOAT_NAN; /* quit NAN */
+#ifndef UA_SLOW_IEEE754
+    else memcpy(&encoded, &f, sizeof(UA_Float));
+#else
     else if(f == 0.0f) encoded = signbit(f) ? FLOAT_NEG_ZERO : 0;
     else if(f/f != f/f) encoded = f > 0 ? FLOAT_INF : FLOAT_NEG_INF;
     else encoded = (u32)pack754(f, 32, 8);
+#endif
     return ENCODE_DIRECT(&encoded, UInt32);
 }
 
 DECODE_BINARY(Float) {
     u32 decoded;
     status ret = DECODE_DIRECT(&decoded, UInt32);
-    if(ret != UA_STATUSCODE_GOOD)
-        return ret;
+    UA_CHECK_STATUS(ret, return ret);
+#ifndef UA_SLOW_IEEE754
+    if(UA_UNLIKELY((decoded >= 0x7f800001 && decoded <= 0x7fffffff) ||
+                   (decoded >= 0xff800001))) decoded = FLOAT_NAN;
+    memcpy(dst, &decoded, sizeof(UA_Float));
+#else
     if(decoded == 0) *dst = 0.0f;
     else if(decoded == FLOAT_NEG_ZERO) *dst = -0.0f;
     else if(decoded == FLOAT_INF) *dst = INFINITY;
@@ -9501,6 +9508,7 @@
     else if((decoded >= 0x7f800001 && decoded <= 0x7fffffff) ||
        (decoded >= 0xff800001)) *dst = NAN;
     else *dst = (UA_Float)unpack754(decoded, 32, 8);
+#endif
     return UA_STATUSCODE_GOOD;
 }
 
@@ -9514,10 +9522,14 @@
     UA_Double d = *src;
     u64 encoded;
     /* cppcheck-suppress duplicateExpression */
-    if(d != d) encoded = DOUBLE_NAN;
+    if(UA_UNLIKELY(d != d)) encoded = DOUBLE_NAN; /* quiet NAN*/
+#ifndef UA_SLOW_IEEE754
+    else memcpy(&encoded, &d, sizeof(UA_Double));
+#else
     else if(d == 0.0) encoded = signbit(d) ? DOUBLE_NEG_ZERO : 0;
     else if(d/d != d/d) encoded = d > 0 ? DOUBLE_INF : DOUBLE_NEG_INF;
     else encoded = pack754(d, 64, 11);
+ #endif
     return ENCODE_DIRECT(&encoded, UInt64);
 }
 
@@ -9525,6 +9537,11 @@
     u64 decoded;
     status ret = DECODE_DIRECT(&decoded, UInt64);
     UA_CHECK_STATUS(ret, return ret);
+#ifndef UA_SLOW_IEEE754
+    if(UA_UNLIKELY((decoded >= 0x7ff0000000000001L && decoded <= 
0x7fffffffffffffffL) ||
+                   (decoded >= 0xfff0000000000001L))) decoded = DOUBLE_NAN;
+    memcpy(dst, &decoded, sizeof(UA_Double));
+#else
     if(decoded == 0) *dst = 0.0;
     else if(decoded == DOUBLE_NEG_ZERO) *dst = -0.0;
     else if(decoded == DOUBLE_INF) *dst = INFINITY;
@@ -9532,11 +9549,10 @@
     else if((decoded >= 0x7ff0000000000001L && decoded <= 0x7fffffffffffffffL) 
||
        (decoded >= 0xfff0000000000001L)) *dst = NAN;
     else *dst = (UA_Double)unpack754(decoded, 64, 11);
+#endif
     return UA_STATUSCODE_GOOD;
 }
 
-#endif
-
 /******************/
 /* Array Handling */
 /******************/
@@ -37182,6 +37198,28 @@
         goto cleanup;
     }
 
+    /* Check the NodeClass */
+    if(method->head.nodeClass != UA_NODECLASS_METHOD ||
+       object->head.nodeClass != UA_NODECLASS_OBJECT) {
+        opResult->statusCode = UA_STATUSCODE_BADNODECLASSINVALID;
+        goto cleanup;
+    }
+
+    /* Check the access rights */
+    UA_Boolean executable = method->methodNode.executable;
+    if(session != &server->adminSession) {
+        executable = executable && server->config.accessControl.
+            getUserExecutableOnObject(server, &server->config.accessControl,
+                                      &session->sessionId, 
session->sessionHandle,
+                                      &opRequest->methodId, 
method->head.context,
+                                      &opRequest->objectId, 
object->head.context);
+    }
+
+    if(!executable) {
+        opResult->statusCode = UA_STATUSCODE_BADNOTEXECUTABLE;
+        goto cleanup;
+    }
+
     /* <-- Async method call --> */
 
     /* No AsyncResponse allocated so far */
@@ -64794,9 +64832,15 @@
     cc->clientData = sub;
 
     /* Send the request as asynchronous service call */
-    return __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST],
-                                    ua_Subscriptions_create_handler, 
&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE],
-                                    cc, requestId);
+    UA_StatusCode res =
+        __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONREQUEST],
+                                 ua_Subscriptions_create_handler, 
&UA_TYPES[UA_TYPES_CREATESUBSCRIPTIONRESPONSE],
+                                 cc, requestId);
+    if (res != UA_STATUSCODE_GOOD) {
+        UA_free(cc);
+        UA_free(sub);
+    }
+    return res;
 }
 
 static UA_Client_Subscription *
@@ -65018,9 +65062,14 @@
     }
 
     /* Make the async call */
-    return __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST],
-                                    ua_Subscriptions_delete_handler, 
&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE],
-                                    dsc, requestId);
+    res = __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSREQUEST],
+                                   ua_Subscriptions_delete_handler, 
&UA_TYPES[UA_TYPES_DELETESUBSCRIPTIONSRESPONSE],
+                                   dsc, requestId);
+    if (res != UA_STATUSCODE_GOOD) {
+        UA_DeleteSubscriptionsRequest_clear(&dsc->request);
+        UA_free(dsc);
+    }
+    return res;
 }
 
 UA_DeleteSubscriptionsResponse
@@ -65306,11 +65355,16 @@
         return res;
     }
 
-    return __Client_AsyncService(client, &data->request,
-                                 
&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST],
-                                 ua_MonitoredItems_create_async_handler,
-                                 
&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE],
-                                 data, requestId);
+    res = __Client_AsyncService(client, &data->request,
+                                
&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSREQUEST],
+                                ua_MonitoredItems_create_async_handler,
+                                
&UA_TYPES[UA_TYPES_CREATEMONITOREDITEMSRESPONSE],
+                                data, requestId);
+    if (res != UA_STATUSCODE_GOOD) {
+        MonitoredItems_CreateData_clear(client, data);
+        UA_free(data);
+    }
+    return res;
 }
 
 UA_CreateMonitoredItemsResponse
@@ -65545,9 +65599,15 @@
     cc->userCallback = callback;
     cc->userData = userdata;
 
-    return __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST],
-                                    ua_MonitoredItems_delete_handler,
-                                    
&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE], cc, requestId);
+    UA_StatusCode res =
+        __UA_Client_AsyncService(client, &request, 
&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSREQUEST],
+                                 ua_MonitoredItems_delete_handler,
+                                 
&UA_TYPES[UA_TYPES_DELETEMONITOREDITEMSRESPONSE], cc, requestId);
+    if (res != UA_STATUSCODE_GOOD) {
+        UA_DeleteMonitoredItemsRequest_delete(req_copy);
+        UA_free(cc);
+    }
+    return res;
 }
 
 UA_StatusCode
@@ -115436,7 +115496,7 @@
     const unsigned char *ss2 = s2;
     /* handle special case */
     if(l1 == 0)
-        return (NULL);
+        return NULL;
     if(l2 == 0)
         return s1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/open62541.h 
new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/open62541.h
--- old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/open62541.h        
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/open62541.h        
2026-03-10 06:08:03.000000000 +0100
@@ -1,6 +1,6 @@
 /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES
  * visit http://open62541.org/ for information about this software
- * Git-Revision: v1.4.13
+ * Git-Revision: v1.4.14
  */
 
 /*
@@ -30,10 +30,10 @@
  * ----------------- */
 #define UA_OPEN62541_VER_MAJOR 1
 #define UA_OPEN62541_VER_MINOR 4
-#define UA_OPEN62541_VER_PATCH 13
+#define UA_OPEN62541_VER_PATCH 14
 #define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */
-#define UA_OPEN62541_VER_COMMIT "v1.4.13"
-#define UA_OPEN62541_VERSION "v1.4.13"
+#define UA_OPEN62541_VER_COMMIT "v1.4.14"
+#define UA_OPEN62541_VERSION "v1.4.14"
 
 /**
  * Architecture
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/qt_attribution.json 
new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/qt_attribution.json
--- 
old/qtopcua-everywhere-src-6.10.2/src/3rdparty/open62541/qt_attribution.json    
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/src/3rdparty/open62541/qt_attribution.json    
    2026-03-10 06:08:03.000000000 +0100
@@ -11,7 +11,7 @@
     "CPE": [
         "cpe:2.3:a:open62541:open62541:$<VERSION>:*:*:*:*:*:*:*"
     ],
-    "Version": "1.4.13",
+    "Version": "1.4.14",
     "License": "Mozilla Public License 2.0 and Creative Commons Zero v1.0 
Universal and Creative Commons Attribution Share Alike 4.0 International and 
BSD 3-Clause \"New\" or \"Revised\" License and Apache License 2.0 and MIT 
License",
     "LicenseId": "MPL-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND BSD-3-Clause AND 
Apache-2.0 AND MIT",
     "LicenseFiles": [ "mpl-2.0.815ca599c9df.txt", "LICENSE-CC0", 
"CC-BY-SA-4.0", "BSD-3-CLAUSE", "LICENSE-2.0.txt", "MIT" ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaconnection.cpp 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaconnection.cpp
--- old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaconnection.cpp 
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaconnection.cpp 
2026-03-10 06:08:03.000000000 +0100
@@ -297,7 +297,7 @@
 }
 
 /*!
-    \qmlmethod Connection::connectToEndpoint(endpointDescription)
+    \qmlmethod void Connection::connectToEndpoint(endpointDescription)
 
     Connects to the endpoint specified with \a endpointDescription.
 
@@ -313,7 +313,7 @@
 }
 
 /*!
-    \qmlmethod Connection::disconnectFromEndpoint()
+    \qmlmethod void Connection::disconnectFromEndpoint()
 
     Disconnects an established connection.
 */
@@ -389,7 +389,7 @@
 }
 
 /*!
-    \qmlmethod Connection::readNodeAttributes(valuesToBeRead)
+    \qmlmethod bool Connection::readNodeAttributes(valuesToBeRead)
 
     This function is used to read multiple values from a server in one go.
     Returns \c true if the read request was dispatched successfully.
@@ -472,7 +472,7 @@
 }
 
 /*!
-    \qmlmethod Connection::writeNodeAttributes(valuesToBeWritten)
+    \qmlmethod bool Connection::writeNodeAttributes(valuesToBeWritten)
 
     This function is used to write multiple values to a server in one go.
     Returns \c true if the write request was dispatched successfully.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaendpointdiscovery.cpp
 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaendpointdiscovery.cpp
--- 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaendpointdiscovery.cpp
  2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaendpointdiscovery.cpp
  2026-03-10 06:08:03.000000000 +0100
@@ -173,7 +173,7 @@
 
 void OpcUaEndpointDiscovery::handleEndpoints(const 
QList<QOpcUaEndpointDescription> &endpoints, QOpcUa::UaStatusCode statusCode, 
const QUrl &requestUrl)
 {
-    if (requestUrl != m_serverUrl)
+    if (requestUrl != QUrl{m_serverUrl})
         return; // response is not for last request
 
     m_status = OpcUaStatus(statusCode);
@@ -214,7 +214,7 @@
         m_status = OpcUaStatus(QOpcUa::BadInvalidArgument);
     } else {
         m_status = OpcUaStatus(QOpcUa::GoodCompletesAsynchronously);
-        conn->m_client->requestEndpoints(m_serverUrl);
+        conn->m_client->requestEndpoints(QUrl{m_serverUrl});
     }
 
     emit endpointsChanged();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuamethodnode.cpp 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuamethodnode.cpp
--- old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuamethodnode.cpp 
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuamethodnode.cpp 
2026-03-10 06:08:03.000000000 +0100
@@ -53,7 +53,7 @@
 */
 
 /*!
-    \qmlmethod MethodNode::callMethod
+    \qmlmethod void MethodNode::callMethod()
 
     Calls the method on the connected server.
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaserverdiscovery.cpp
 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaserverdiscovery.cpp
--- 
old/qtopcua-everywhere-src-6.10.2/src/declarative_opcua/opcuaserverdiscovery.cpp
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/src/declarative_opcua/opcuaserverdiscovery.cpp
    2026-03-10 06:08:03.000000000 +0100
@@ -184,7 +184,7 @@
 
 void OpcUaServerDiscovery::handleServers(const 
QList<QOpcUaApplicationDescription> &servers, QOpcUa::UaStatusCode statusCode, 
const QUrl &requestUrl)
 {
-    if (requestUrl != m_discoveryUrl)
+    if (requestUrl != QUrl{m_discoveryUrl})
         return; // response is not for last request
 
     m_status = OpcUaStatus(statusCode);
@@ -227,7 +227,7 @@
         m_status = OpcUaStatus(QOpcUa::BadInvalidArgument);
     } else {
         m_status = OpcUaStatus(QOpcUa::GoodCompletesAsynchronously);
-        conn->m_client->findServers(m_discoveryUrl);
+        conn->m_client->findServers(QUrl{m_discoveryUrl});
     }
 
     emit serversChanged();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/opcua/Qt6OpcUaMacros.cmake 
new/qtopcua-everywhere-src-6.11.0/src/opcua/Qt6OpcUaMacros.cmake
--- old/qtopcua-everywhere-src-6.10.2/src/opcua/Qt6OpcUaMacros.cmake    
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/opcua/Qt6OpcUaMacros.cmake    
2026-03-10 06:08:03.000000000 +0100
@@ -3,32 +3,7 @@
 
 # Removes optimizations flags in the called directory scope.
 function(qt_opcua_disable_optimizations_in_current_dir)
-    if(CMAKE_CONFIGURATION_TYPES)
-        set(configs ${CMAKE_CONFIGURATION_TYPES})
-    elseif(CMAKE_BUILD_TYPE)
-        set(configs ${CMAKE_BUILD_TYPE})
-    else()
-        message(WARNING "No value set for CMAKE_BUILD_TYPE. Can't disable 
optimizations.")
-        return()
-    endif()
-    foreach(config ${configs})
-        string(TOUPPER "${config}" config_upper_case)
-        set(flags_var_name "CMAKE_C_FLAGS_${config_upper_case}")
-
-        if(MSVC)
-            set(optimize_flags_to_replace "/O1" "/O2" "/O3")
-            set(flag_replacement "/O0")
-        else()
-            set(optimize_flags_to_replace "-O1" "-O2" "-O3")
-            set(flag_replacement "-O0")
-        endif()
-        foreach(flag_to_replace ${optimize_flags_to_replace})
-            string(REPLACE
-                   "${flag_to_replace}" "${flag_replacement}"
-                   "${flags_var_name}" "${${flags_var_name}}")
-        endforeach()
-    endforeach()
-    set("${flags_var_name}" "${${flags_var_name}}" PARENT_SCOPE)
+    message(AUTHOR_WARNING "From Qt 6.11 onwards, 
qt_opcua_disable_optimizations_in_current_dir() is deprecated, and will be 
removed in a future Qt version.")
 endfunction()
 
 # Generates code for OPC UA data types and/or node ids using the 
qopcuaxmldatatypes2cpp tool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/opcua/client/qopcuaauthenticationinformation.cpp
 
new/qtopcua-everywhere-src-6.11.0/src/opcua/client/qopcuaauthenticationinformation.cpp
--- 
old/qtopcua-everywhere-src-6.10.2/src/opcua/client/qopcuaauthenticationinformation.cpp
      2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/src/opcua/client/qopcuaauthenticationinformation.cpp
      2026-03-10 06:08:03.000000000 +0100
@@ -109,7 +109,7 @@
 }
 
 /*!
-    \qmlmethod AuthenticationInformation::setAnonymousAuthentication()
+    \qmlmethod void AuthenticationInformation::setAnonymousAuthentication()
 
     Sets the authentication method to anonymous.
 */
@@ -124,7 +124,7 @@
 }
 
 /*!
-    \qmlmethod AuthenticationInformation::setUsernameAuthentication(string 
username, string password)
+    \qmlmethod void 
AuthenticationInformation::setUsernameAuthentication(string username, string 
password)
 
     Sets the authentication method to username, using the given \a username 
and \a password.
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/opcua/configure.cmake 
new/qtopcua-everywhere-src-6.11.0/src/opcua/configure.cmake
--- old/qtopcua-everywhere-src-6.10.2/src/opcua/configure.cmake 2026-01-22 
20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/opcua/configure.cmake 2026-03-10 
06:08:03.000000000 +0100
@@ -12,11 +12,12 @@
 
 
 #### Libraries
-# special case begin
-if (INPUT_open62541 STREQUAL "system")
-    qt_find_package(open62541 PROVIDED_TARGETS open62541)
+if(INPUT_open62541 STREQUAL "system" OR QT_FIND_ALL_PACKAGES_ALWAYS)
+    qt_find_package(open62541 PROVIDED_TARGETS open62541
+        VCPKG_PORT open62541
+        VCPKG_ADD_TO_FEATURE open62541
+    )
 endif()
-# special case end
 
 # Find out if the system open62541 is built with encryption support
 include(CheckSymbolExists)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/src/opcua/doc/src/qtopcua.qdoc 
new/qtopcua-everywhere-src-6.11.0/src/opcua/doc/src/qtopcua.qdoc
--- old/qtopcua-everywhere-src-6.10.2/src/opcua/doc/src/qtopcua.qdoc    
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/src/opcua/doc/src/qtopcua.qdoc    
2026-03-10 06:08:03.000000000 +0100
@@ -389,7 +389,7 @@
     The Open62541 plugin is built by default from the included 3rd party 
sources and has no external dependencies.
     The open62541 library uses OpenSSL for security. If the OpenSSL library is 
detected during configuration,
     security is enabled for the tests and the open62541 backend.
-    The Open62541 source and header files bundled with Qt OPC UA have been 
generated from the open62541 v1.4.13
+    The Open62541 source and header files bundled with Qt OPC UA have been 
generated from the open62541 v1.4.14
     tag using the following commands:
 
     \code
@@ -397,7 +397,7 @@
         make
     \endcode
 
-    In case you want to build a custom version of the open62541 plugin, an 
installed open62541 v1.4.13 built with the default options is required.
+    In case you want to build a custom version of the open62541 plugin, an 
installed open62541 v1.4.14 built with the default options is required.
     To enable encryption support, the open62541 build must be configured using 
the following parameters:
 
     \code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
 
new/qtopcua-everywhere-src-6.11.0/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
      2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.cpp
      2026-03-10 06:08:03.000000000 +0100
@@ -3,6 +3,7 @@
 
 #include <QtQuickTest/quicktest.h>
 #include <QObject>
+#include <QOperatingSystemVersion>
 #include <QProcess>
 #include <QQmlContext>
 #include <QQmlEngine>
@@ -23,13 +24,25 @@
     return qEnvironmentVariableIsSet(env) ? 
QString::fromUtf8(qgetenv(env).constData()) : def;
 }
 
+static bool isRunningOnMacOs26Ci()
+{
+#if defined(Q_OS_MACOS)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            return true;
+#endif
+    return false;
+}
+
 class MyClass : public QObject
 {
     Q_OBJECT
     Q_PROPERTY(QOpcUaClient* connection READ connection NOTIFY 
connectionChanged)
+    Q_PROPERTY(bool skipTest READ skipTest FINAL)
 
 public:
-    MyClass (QObject* parent = nullptr) : QObject(parent) {
+    MyClass (QObject* parent = nullptr) : QObject(parent), 
m_skipTest(isRunningOnMacOs26Ci()) {
     }
 
     ~MyClass() {
@@ -41,11 +54,17 @@
         return m_client;
     }
 
+    bool skipTest() const {
+        return m_skipTest;
+    }
+
 signals:
     void connectionChanged(QOpcUaClient *);
 
 public slots:
     void startConnection() {
+        if (m_skipTest)
+            return;
         QOpcUaProvider p;
         QOpcUaClient *client = p.createClient(u"open62541"_s);
 
@@ -56,7 +75,7 @@
 
         QString host = envOrDefault("OPCUA_HOST", defaultHost.toString());
         QString port = envOrDefault("OPCUA_PORT", 
QString::number(defaultPort));
-        const auto discoveryEndpoint = u"opc.tcp://%1:%2"_s.arg(host, port);
+        const auto discoveryEndpoint = QUrl{u"opc.tcp://%1:%2"_s.arg(host, 
port)};
 
         QSignalSpy endpointSpy(client, 
&QOpcUaClient::endpointsRequestFinished);
         client->requestEndpoints(discoveryEndpoint);
@@ -75,6 +94,7 @@
 
 private:
     QPointer<QOpcUaClient> m_client;
+    bool m_skipTest;
 };
 
 class SetupClass : public QObject
@@ -89,6 +109,8 @@
 
 public slots:
     void applicationAvailable() {
+        if (isRunningOnMacOs26Ci())
+            return;
 
         if (qEnvironmentVariableIsEmpty("OPCUA_HOST") && 
qEnvironmentVariableIsEmpty("OPCUA_PORT")) {
             m_testServerPath = qApp->applicationDirPath()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.qml
 
new/qtopcua-everywhere-src-6.11.0/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.qml
      2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/clientSetupInCpp/tst_clientSetupInCpp.qml
      2026-03-10 06:08:03.000000000 +0100
@@ -20,7 +20,12 @@
 
     TestCase {
         name: "Create String Node Id"
-        when: node1.readyToUse
+        when: node1.readyToUse || myclass.skipTest
+
+        function initTestCase() {
+            if (myclass.skipTest)
+                skip("The tests fails on macOS 26 in CI: QTBUG-139354");
+        }
 
         function test_nodeTest() {
             compare(node1.value, "Value", "");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/codegenerator/tst_codegen.cpp 
new/qtopcua-everywhere-src-6.11.0/tests/auto/codegenerator/tst_codegen.cpp
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/codegenerator/tst_codegen.cpp  
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/codegenerator/tst_codegen.cpp  
2026-03-10 06:08:03.000000000 +0100
@@ -11,6 +11,7 @@
 #include <QtOpcUa/QOpcUaProvider>
 
 #include <QtCore/QCoreApplication>
+#include <QtCore/QOperatingSystemVersion>
 #include <QtCore/QProcess>
 #include <QtCore/QScopedPointer>
 #include <QtNetwork/QTcpServer>
@@ -136,7 +137,7 @@
         return QOpcUa::nodeIdFromInteger(4, static_cast<int>(id));
     }
 
-    QString m_discoveryEndpoint;
+    QUrl m_discoveryEndpoint;
     QOpcUaProvider m_opcUa;
     QStringList m_backends;
     QList<QOpcUaClient *> m_clients;
@@ -172,6 +173,13 @@
 
 void Tst_GeneratedDataTypes::initTestCase()
 {
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            QSKIP("The tests fails on macOS 26 in CI: QTBUG-139354");
+#endif
+
     const quint16 defaultPort = 43344;
     const QHostAddress defaultHost(QHostAddress::LocalHost);
 
@@ -251,7 +259,7 @@
     }
     QString host = envOrDefault("OPCUA_HOST", defaultHost.toString());
     QString port = envOrDefault("OPCUA_PORT", QString::number(defaultPort));
-    m_discoveryEndpoint = u"opc.tcp://%1:%2"_s.arg(host, port);
+    m_discoveryEndpoint.setUrl("opc.tcp://%1:%2"_L1.arg(host, port));
     qDebug() << "Using endpoint:" << m_discoveryEndpoint;
 
     QOpcUaClient *client = m_clients.first();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/connection/tst_connection.cpp 
new/qtopcua-everywhere-src-6.11.0/tests/auto/connection/tst_connection.cpp
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/connection/tst_connection.cpp  
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/connection/tst_connection.cpp  
2026-03-10 06:08:03.000000000 +0100
@@ -6,6 +6,7 @@
 #include <QtOpcUa/QOpcUaProvider>
 
 #include <QtCore/QCoreApplication>
+#include <QtCore/QOperatingSystemVersion>
 #include <QtCore/QProcess>
 #include <QtCore/QScopedPointer>
 
@@ -47,7 +48,7 @@
         return qEnvironmentVariableIsSet(env) ? 
QString::fromUtf8(qgetenv(env).constData()) : def;
     }
 
-    QString m_discoveryEndpoint;
+    QUrl m_discoveryEndpoint;
     QOpcUaProvider m_opcUa;
     QStringList m_backends;
     QList<QOpcUaClient *> m_clients;
@@ -68,6 +69,13 @@
 
 void Tst_Connection::initTestCase()
 {
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            QSKIP("The tests fails on macOS 26 in CI: QTBUG-139354");
+#endif
+
     const quint16 defaultPort = 43344;
     const QHostAddress defaultHost(QHostAddress::LocalHost);
 
@@ -144,7 +152,7 @@
     }
     QString host = envOrDefault("OPCUA_HOST", defaultHost.toString());
     QString port = envOrDefault("OPCUA_PORT", QString::number(defaultPort));
-    m_discoveryEndpoint = u"opc.tcp://%1:%2"_s.arg(host, port);
+    m_discoveryEndpoint.setUrl("opc.tcp://%1:%2"_L1.arg(host, port));
     qDebug() << "Using endpoint:" << m_discoveryEndpoint;
 
     QOpcUaClient *client = m_clients.first();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/AbsoluteNodeTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/AbsoluteNodeTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/AbsoluteNodeTest.qml   
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/AbsoluteNodeTest.qml   
    2026-03-10 06:08:03.000000000 +0100
@@ -51,7 +51,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Create String 
Node Id"
-        when: node1.readyToUse && shouldRun
+        when: (node1.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node1.value, "Value", "");
@@ -80,7 +80,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Create GUID 
Node Id"
-        when: node2.readyToUse && shouldRun
+        when: (node2.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node2.value, "Value", "");
@@ -99,7 +99,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Create Opaque 
Node Id"
-        when: node3.readyToUse && shouldRun
+        when: (node3.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node3.value, "Value", "");
@@ -118,7 +118,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Create Integer 
Node Id"
-        when: node4.readyToUse && shouldRun
+        when: (node4.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node4.value, 255, "");
@@ -137,7 +137,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Write Value 
Node with Multiple Listeners"
-        when: node5.readyToUse && node6.readyToUse && node7.readyToUse && 
shouldRun
+        when: (node5.readyToUse && node6.readyToUse && node7.readyToUse && 
shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node5.valueType, QtOpcUa.Constants.Double);
@@ -197,7 +197,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Emitting 
signals on node changes"
-        when: node8.readyToUse && shouldRun
+        when: (node8.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_changeIdentifier() {
             compare(node8.valueType, QtOpcUa.Constants.Double);
@@ -275,7 +275,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Node with 
namespace in Id"
-        when: node9.readyToUse && shouldRun
+        when: (node9.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             compare(node9.valueType, QtOpcUa.Constants.String);
@@ -293,7 +293,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Standard 
attributes on variable node"
-        when: node10.readyToUse && shouldRun
+        when: (node10.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node10NodeClassSpy
@@ -352,7 +352,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Node timestamps"
-        when: node11.readyToUse && shouldRun
+        when: (node11.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node11ValueSpy
@@ -380,7 +380,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Assign int 
value to double node"
-        when: node12.readyToUse && shouldRun
+        when: (node12.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node12ValueSpy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/BatchReadWriteTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/BatchReadWriteTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/BatchReadWriteTest.qml 
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/BatchReadWriteTest.qml 
    2026-03-10 06:08:03.000000000 +0100
@@ -51,7 +51,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Reading 
multiple items"
-        when: connection.connected && shouldRun
+        when: (connection.connected && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: readNodeAttributesFinishedSpy
@@ -112,7 +112,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Writing 
multiple items"
-        when: connection.connected && shouldRun
+        when: (connection.connected && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: writeNodeAttributesFinishedSpy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/CompletionLoggingTestCase.qml
 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/CompletionLoggingTestCase.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/CompletionLoggingTestCase.qml
      2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/CompletionLoggingTestCase.qml
      2026-03-10 06:08:03.000000000 +0100
@@ -6,4 +6,9 @@
 TestCase {
     onCompletedChanged: parent.completedTestCases += (completed ? 1 : -1)
     objectName: "TestCase"
+
+    function initTestCase() {
+        if (SKIP_TESTS)
+            skip("The tests fails on macOS 26 in CI: QTBUG-139354");
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/DataChangeFilterTest.qml
 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/DataChangeFilterTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/DataChangeFilterTest.qml
   2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/DataChangeFilterTest.qml
   2026-03-10 06:08:03.000000000 +0100
@@ -60,7 +60,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Data Change 
Filter"
-        when: node1.readyToUse && shouldRun
+        when: (node1.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             tryCompare(node1, "monitored", true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/DiscoveryTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/DiscoveryTest.qml
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/DiscoveryTest.qml  
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/DiscoveryTest.qml  
2026-03-10 06:08:03.000000000 +0100
@@ -26,7 +26,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Fetch data from 
discovery server using default connection"
-        when: shouldRun
+        when: shouldRun || SKIP_TESTS
 
         QtOpcUa.Connection {
             id: connection1
@@ -139,7 +139,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Fetch data from 
discovery server using specified connection"
-        when: shouldRun
+        when: shouldRun || SKIP_TESTS
 
         QtOpcUa.Connection {
             id: connection2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/MethodnodeTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/MethodnodeTest.qml
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/MethodnodeTest.qml 
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/MethodnodeTest.qml 
2026-03-10 06:08:03.000000000 +0100
@@ -51,7 +51,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Standard 
attributes on method node"
-        when: node1.readyToUse && shouldRun
+        when: (node1.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node1BrowseNameSpy
@@ -118,7 +118,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Use method 
arguments"
-        when: node2.readyToUse && shouldRun
+        when: (node2.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node2resultStatusSpy
@@ -168,7 +168,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Multiple Output 
Arguments"
-        when: node3.readyToUse && shouldRun
+        when: (node3.readyToUse && shouldRun) || SKIP_TESTS
 
         SignalSpy {
             id: node3resultStatusSpy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/MonitoringFilterTest.qml
 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/MonitoringFilterTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/MonitoringFilterTest.qml
   2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/MonitoringFilterTest.qml
   2026-03-10 06:08:03.000000000 +0100
@@ -61,7 +61,7 @@
 /*  // In order to run this test you need to compile the example 
tutorial_server_event from open62541 master branch.
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Event filter"
-        when: node3.readyToUse && shouldRun
+        when: (node3.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             eventSpy.clear();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/RelativenodeTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/RelativenodeTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/RelativenodeTest.qml   
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/RelativenodeTest.qml   
    2026-03-10 06:08:03.000000000 +0100
@@ -51,7 +51,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": 
RelativeNodePath"
-        when: node1.readyToUse && shouldRun
+        when: (node1.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeRead() {
               tryVerify(function() { return node1.value > 0 });
@@ -76,7 +76,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": 
CascadedRelativeNodePath"
-        when: node2.readyToUse && shouldRun
+        when: (node2.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeRead() {
               tryVerify(function() { return node2.value > 0 });
@@ -111,7 +111,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Emitting 
signals on node changes"
-        when: node3.readyToUse && shouldRun
+        when: (node3.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_changeStartNode() {
             node3NamespaceSpy.clear();
@@ -194,7 +194,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Emitting 
signals on cascaded node changes"
-        when: node4.readyToUse && shouldRun
+        when: (node4.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeRead() {
             node4NamespaceSpy.clear();
@@ -296,7 +296,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Relative Node 
Path with References"
-        when: node5.readyToUse && shouldRun
+        when: (node5.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeRead() {
               tryVerify(function() { return node5.value > 0 });
@@ -322,7 +322,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Relative Node 
Path with NodeId reference"
-        when: node6.readyToUse && shouldRun
+        when: (node6.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeRead() {
               tryVerify(function() { return node6.value > 0 });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/SecurityTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/SecurityTest.qml
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/SecurityTest.qml   
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/SecurityTest.qml   
2026-03-10 06:08:03.000000000 +0100
@@ -19,7 +19,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Check supported 
security features"
-        when: shouldRun
+        when: shouldRun || SKIP_TESTS
 
         QtOpcUa.Connection {
             id: connection2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/SubscriptionsTest.qml 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/SubscriptionsTest.qml
--- 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/SubscriptionsTest.qml  
    2026-01-22 20:42:30.000000000 +0100
+++ 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/SubscriptionsTest.qml  
    2026-03-10 06:08:03.000000000 +0100
@@ -55,7 +55,7 @@
 
     CompletionLoggingTestCase {
         name: parent.parent.testName + ": " + backendName + ": Create String 
Node Id"
-        when: node1.readyToUse && shouldRun
+        when: (node1.readyToUse && shouldRun) || SKIP_TESTS
 
         function test_nodeTest() {
             tryCompare(node1, "monitored", true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/tst_opcua.cpp 
new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/tst_opcua.cpp
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/declarative/tst_opcua.cpp      
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/declarative/tst_opcua.cpp      
2026-03-10 06:08:03.000000000 +0100
@@ -3,6 +3,7 @@
 
 #include <QtQuickTest/quicktest.h>
 #include <QObject>
+#include <QOperatingSystemVersion>
 #include <QProcess>
 #include <QQmlContext>
 #include <QQmlEngine>
@@ -16,6 +17,17 @@
     return qEnvironmentVariableIsSet(env) ? 
QString::fromUtf8(qgetenv(env).constData()) : def;
 }
 
+static bool isRunningOnMacOs26Ci()
+{
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            return true;
+#endif
+    return false;
+}
+
 class SetupClass : public QObject
 {
     Q_OBJECT
@@ -28,6 +40,9 @@
 
 public slots:
     void applicationAvailable() {
+        if (isRunningOnMacOs26Ci())
+            return;
+
         const quint16 defaultPort = 43344;
         const QHostAddress defaultHost(QHostAddress::LocalHost);
 
@@ -105,6 +120,7 @@
 #endif
         
engine->rootContext()->setContextProperty(u"SERVER_SUPPORTS_SECURITY"_s, value);
         engine->rootContext()->setContextProperty(u"OPCUA_DISCOVERY_URL"_s, 
m_opcuaDiscoveryUrl);
+        engine->rootContext()->setContextProperty(u"SKIP_TESTS"_s, 
isRunningOnMacOs26Ci());
     }
     void cleanupTestCase() {
         if (m_serverProcess.state() == QProcess::Running) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/qopcuaclient/tst_client.cpp 
new/qtopcua-everywhere-src-6.11.0/tests/auto/qopcuaclient/tst_client.cpp
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/qopcuaclient/tst_client.cpp    
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/qopcuaclient/tst_client.cpp    
2026-03-10 06:08:03.000000000 +0100
@@ -32,6 +32,7 @@
 #include <private/qopcuasecuritypolicyuris_p.h>
 
 #include <QtCore/QCoreApplication>
+#include <QtCore/QOperatingSystemVersion>
 #include <QtCore/QProcess>
 #include <QtCore/QScopedPointer>
 #include <QtCore/QThread>
@@ -748,7 +749,7 @@
         return qEnvironmentVariableIsSet(env) ? 
QString::fromUtf8(qgetenv(env).constData()) : def;
     }
 
-    QString m_discoveryEndpoint;
+    QUrl m_discoveryEndpoint;
     QOpcUaProvider m_opcUa;
     QStringList m_backends;
     QList<QOpcUaClient *> m_clients;
@@ -801,6 +802,13 @@
 
 void Tst_QOpcUaClient::initTestCase()
 {
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            QSKIP("The tests fails on macOS 26 in CI: QTBUG-139354");
+#endif
+
     const quint16 defaultPort = 43344;
     const QHostAddress defaultHost(QHostAddress::LocalHost);
 
@@ -880,7 +888,7 @@
     }
     QString host = envOrDefault("OPCUA_HOST", defaultHost.toString());
     QString port = envOrDefault("OPCUA_PORT", QString::number(defaultPort));
-    m_discoveryEndpoint = u"opc.tcp://%1:%2"_s.arg(host, port);
+    m_discoveryEndpoint.setUrl("opc.tcp://%1:%2"_L1.arg(host, port));
     qDebug() << "Using endpoint:" << m_discoveryEndpoint;
 
     QOpcUaClient *client = m_clients.first();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/auto/security/tst_security.cpp 
new/qtopcua-everywhere-src-6.11.0/tests/auto/security/tst_security.cpp
--- old/qtopcua-everywhere-src-6.10.2/tests/auto/security/tst_security.cpp      
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/auto/security/tst_security.cpp      
2026-03-10 06:08:03.000000000 +0100
@@ -8,6 +8,7 @@
 #include <QtOpcUa/QOpcUaErrorState>
 
 #include <QtCore/QCoreApplication>
+#include <QtCore/QOperatingSystemVersion>
 #include <QtCore/QProcess>
 #include <QtCore/QScopedPointer>
 
@@ -116,7 +117,7 @@
     QProcess m_serverProcess;
     QList<QOpcUaEndpointDescription> m_endpoints;
     QOpcUaEndpointDescription m_noneEndpoint;
-    QString m_discoveryEndpoint;
+    QUrl m_discoveryEndpoint;
     QOpcUaProvider m_opcUa;
     QSharedPointer<QTemporaryDir> m_pkiData;
 };
@@ -128,6 +129,13 @@
 
 void Tst_QOpcUaSecurity::initTestCase()
 {
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+        const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' 
').contains("ci");
+        const auto osVer = QOperatingSystemVersion::current();
+        if (runsOnCI && osVer >= QOperatingSystemVersion::MacOSTahoe)
+            QSKIP("The tests fails on macOS 26 in CI: QTBUG-139354");
+#endif
+
     const quint16 defaultPort = 43344;
     const QHostAddress defaultHost(QHostAddress::LocalHost);
 
@@ -197,7 +205,7 @@
     }
     QString host = envOrDefault("OPCUA_HOST", defaultHost.toString());
     QString port = envOrDefault("OPCUA_PORT", QString::number(defaultPort));
-    m_discoveryEndpoint = u"opc.tcp://%1:%2"_s.arg(host, port);
+    m_discoveryEndpoint.setUrl("opc.tcp://%1:%2"_L1.arg(host, port));
     qDebug() << "Using endpoint:" << m_discoveryEndpoint;
 
     QScopedPointer<QOpcUaClient> 
client(m_opcUa.createClient(m_backends.first()));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtopcua-everywhere-src-6.10.2/tests/open62541-testserver/CMakeLists.txt 
new/qtopcua-everywhere-src-6.11.0/tests/open62541-testserver/CMakeLists.txt
--- old/qtopcua-everywhere-src-6.10.2/tests/open62541-testserver/CMakeLists.txt 
2026-01-22 20:42:30.000000000 +0100
+++ new/qtopcua-everywhere-src-6.11.0/tests/open62541-testserver/CMakeLists.txt 
2026-03-10 06:08:03.000000000 +0100
@@ -59,12 +59,6 @@
         ${certs_resource_files}
 )
 
-# We need to disable optimizations on MSVC, to circumvent buggy code in the 
open62541.c file.
-# Otherwise the test server fails to launch on Windows MSVC with 
UA_STATUSCODE_BADOUTOFMEMORY.
-# We also disable them on Unixy platforms, to mimic the qmake fix done in 
QTBUG-75020.
-# See QTBUG-85939 for details.
-qt_opcua_disable_optimizations_in_current_dir()
-
 ## Scopes:
 #####################################################################
 

Reply via email to