Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kf6-ktexttemplate for
openSUSE:Factory checked in at 2026-02-16 13:04:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-ktexttemplate (Old)
and /work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-ktexttemplate"
Mon Feb 16 13:04:08 2026 rev:24 rq:1332954 version:6.23.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-ktexttemplate/kf6-ktexttemplate.changes
2026-01-12 10:16:59.546812883 +0100
+++
/work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1977/kf6-ktexttemplate.changes
2026-02-16 13:06:54.500025759 +0100
@@ -1,0 +2,14 @@
+Fri Feb 6 14:25:59 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.23.0
+ * New feature release
+ * For more details please see:
+ * https://kde.org/announcements/frameworks/6/6.23.0
+- Changes since 6.22.0:
+ * Update dependency version to 6.23.0
+ * Fix slice filter behavior
+ * Fix memory leak in unit test
+ * Enable LSAN in CI
+ * Update version to 6.23.0
+
+-------------------------------------------------------------------
Old:
----
ktexttemplate-6.22.0.tar.xz
ktexttemplate-6.22.0.tar.xz.sig
New:
----
ktexttemplate-6.23.0.tar.xz
ktexttemplate-6.23.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kf6-ktexttemplate.spec ++++++
--- /var/tmp/diff_new_pack.fim0Rz/_old 2026-02-16 13:06:55.568070030 +0100
+++ /var/tmp/diff_new_pack.fim0Rz/_new 2026-02-16 13:06:55.568070030 +0100
@@ -19,11 +19,11 @@
%define qt6_version 6.8.0
%define rname ktexttemplate
-# Full KF6 version (e.g. 6.22.0)
+# Full KF6 version (e.g. 6.23.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_without released
Name: kf6-ktexttemplate
-Version: 6.22.0
+Version: 6.23.0
Release: 0
Summary: String template library
License: LGPL-2.1-or-later
++++++ ktexttemplate-6.22.0.tar.xz -> ktexttemplate-6.23.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.22.0/.kde-ci.yml
new/ktexttemplate-6.23.0/.kde-ci.yml
--- old/ktexttemplate-6.22.0/.kde-ci.yml 2026-01-02 18:44:23.000000000
+0100
+++ new/ktexttemplate-6.23.0/.kde-ci.yml 2026-02-06 13:17:21.000000000
+0100
@@ -8,3 +8,4 @@
Options:
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
+ enable-lsan: True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.22.0/CMakeLists.txt
new/ktexttemplate-6.23.0/CMakeLists.txt
--- old/ktexttemplate-6.22.0/CMakeLists.txt 2026-01-02 18:44:23.000000000
+0100
+++ new/ktexttemplate-6.23.0/CMakeLists.txt 2026-02-06 13:17:21.000000000
+0100
@@ -1,10 +1,10 @@
-cmake_minimum_required(VERSION 3.16)
+cmake_minimum_required(VERSION 3.27)
-set(KF_VERSION "6.22.0") # handled by release scripts
+set(KF_VERSION "6.23.0") # handled by release scripts
project(KTextTemplate VERSION ${KF_VERSION})
include(FeatureSummary)
-find_package(ECM 6.22.0 CONFIG)
+find_package(ECM 6.23.0 CONFIG)
set_package_properties(ECM PROPERTIES
TYPE REQUIRED
DESCRIPTION "Extra CMake Modules."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.22.0/autotests/testbuiltins.cpp
new/ktexttemplate-6.23.0/autotests/testbuiltins.cpp
--- old/ktexttemplate-6.22.0/autotests/testbuiltins.cpp 2026-01-02
18:44:23.000000000 +0100
+++ new/ktexttemplate-6.23.0/autotests/testbuiltins.cpp 2026-02-06
13:17:21.000000000 +0100
@@ -335,7 +335,8 @@
SafeString s3(s1);
Q_UNUSED(s3);
- QMetaType{qMetaTypeId<MetaEnumVariable>()}.create(nullptr);
+ auto ptr = QMetaType{qMetaTypeId<MetaEnumVariable>()}.create(nullptr);
+ QMetaType{qMetaTypeId<MetaEnumVariable>()}.destroy(ptr);
}
void TestBuiltinSyntax::testTruthiness_data()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.22.0/autotests/testfilters.cpp
new/ktexttemplate-6.23.0/autotests/testfilters.cpp
--- old/ktexttemplate-6.22.0/autotests/testfilters.cpp 2026-01-02
18:44:23.000000000 +0100
+++ new/ktexttemplate-6.23.0/autotests/testfilters.cpp 2026-02-06
13:17:21.000000000 +0100
@@ -930,6 +930,24 @@
QTest::newRow("filter-slice04") << "{{|slice}}" << dict <<
QStringLiteral("") << NoError;
dict.clear();
+ dict.insert(QStringLiteral("a"), QStringLiteral("0123456789"));
+
+ // Behavior should be consistent with python's slice notation.
+ QTest::newRow("filter-slice05") << R"({{ a|slice:"1:3" }})" << dict <<
QStringLiteral("12") << NoError;
+ QTest::newRow("filter-slice06") << R"({{ a|slice:"2:-1" }})" << dict <<
QStringLiteral("2345678") << NoError;
+ QTest::newRow("filter-slice07") << R"({{ a|slice:":-3" }})" << dict <<
QStringLiteral("0123456") << NoError;
+ QTest::newRow("filter-slice08") << R"({{ a|slice:":" }})" << dict <<
QStringLiteral("0123456789") << NoError;
+ QTest::newRow("filter-slice09") << R"({{ a|slice:":4" }})" << dict <<
QStringLiteral("0123") << NoError;
+ QTest::newRow("filter-slice10") << R"({{ a|slice:"4:" }})" << dict <<
QStringLiteral("456789") << NoError;
+ QTest::newRow("filter-slice11") << R"({{ a|slice:"-4:-2" }})" << dict <<
QStringLiteral("67") << NoError;
+ QTest::newRow("filter-slice12") << R"({{ a|slice:"-4:-5" }})" << dict <<
QStringLiteral("") << NoError;
+ QTest::newRow("filter-slice13") << R"({{ a|slice:"4:1" }})" << dict <<
QStringLiteral("") << NoError;
+ QTest::newRow("filter-slice14") << R"({{ a|slice:"4:-5" }})" << dict <<
QStringLiteral("4") << NoError;
+ QTest::newRow("filter-slice15") << R"({{ a|slice:"5:10" }})" << dict <<
QStringLiteral("56789") << NoError;
+ QTest::newRow("filter-slice16") << R"({{ a|slice:"5:20" }})" << dict <<
QStringLiteral("56789") << NoError;
+ QTest::newRow("filter-slice17") << R"({{ a|slice:"10:20" }})" << dict <<
QStringLiteral("") << NoError;
+
+ dict.clear();
QVariantList sublist{QStringLiteral("<y")};
dict.insert(QStringLiteral("a"), QVariantList{QStringLiteral("x>"),
QVariant(sublist)});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.22.0/src/defaultfilters/lists.cpp
new/ktexttemplate-6.23.0/src/defaultfilters/lists.cpp
--- old/ktexttemplate-6.22.0/src/defaultfilters/lists.cpp 2026-01-02
18:44:23.000000000 +0100
+++ new/ktexttemplate-6.23.0/src/defaultfilters/lists.cpp 2026-02-06
13:17:21.000000000 +0100
@@ -16,6 +16,8 @@
#include <QDateTime>
#include <QRandomGenerator>
#include <QSequentialIterable>
+#include <QtTypes>
+#include <algorithm>
QVariant JoinFilter::doFilter(const QVariant &input, const QVariant &argument,
bool autoescape) const
{
@@ -133,12 +135,26 @@
return {};
if (splitterIndex >= 0) {
- auto left = argString.get().left(splitterIndex).get().toInt();
- auto right = argString.get().right(splitterIndex).get().toInt();
- if (right < 0) {
- right = inputString.size() + right;
- }
- return inputString.mid(left, right);
+ auto startString = argString.get().left(splitterIndex);
+ auto endString = argString.get().mid(splitterIndex + 1);
+ auto getIndex = [&inputString](const auto &str, int defaultValue) ->
qsizetype {
+ if (str.get().isEmpty()) {
+ return defaultValue;
+ }
+ bool ok;
+ int value = str.get().toInt(&ok);
+ if (!ok) {
+ return defaultValue;
+ }
+ if (value < 0) {
+ value = inputString.size() + value;
+ }
+ value = std::clamp(value, 0, static_cast<int>(inputString.size()));
+ return value;
+ };
+ int start = getIndex(startString, 0);
+ int end = getIndex(endString, inputString.size());
+ return inputString.mid(start, end > start ? (end - start) : 0);
}
return QString(inputString.at(argument.value<int>()));
}
++++++ ktexttemplate-6.22.0.tar.xz.sig -> ktexttemplate-6.23.0.tar.xz.sig ++++++
---
/work/SRC/openSUSE:Factory/kf6-ktexttemplate/ktexttemplate-6.22.0.tar.xz.sig
2026-01-12 10:16:59.974830499 +0100
+++
/work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1977/ktexttemplate-6.23.0.tar.xz.sig
2026-02-16 13:06:54.856040516 +0100
@@ -1,7 +1,7 @@
-----BEGIN PGP SIGNATURE-----
-iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCaVgD+AAKCRAsjfWHptSq
-wTqyAP495cSKqQ7b3IG7lEjGGysqBTJOxXr9wrghInbO19TcGQEAhfRLbCooPgjz
-+akHKw1Os1wnGFhGEbXGPhVFZGiIqws=
-=FrTD
+iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCaYXb0QAKCRAsjfWHptSq
+wR3YAQCP0neUd1RKho4RFDSncHOeRsp/GhRq1MgsmpXW50zxwQEA+Y4TVMdEd1Hp
+DDavNuyEnh2oSocTcoGyQPX85Pwljg0=
+=6c/g
-----END PGP SIGNATURE-----