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-08-17 16:57:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-ktexttemplate (Old)
and /work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-ktexttemplate"
Mon Aug 17 16:57:14 2026 rev:30 rq:1371407 version:6.29.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-ktexttemplate/kf6-ktexttemplate.changes
2026-07-15 16:41:00.665273173 +0200
+++
/work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1258/kf6-ktexttemplate.changes
2026-08-17 17:00:38.117514029 +0200
@@ -1,0 +2,17 @@
+Sun Aug 9 10:38:46 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.29.0
+ * New feature release
+ * For more details please see:
+ * https://kde.org/announcements/frameworks/6/6.29.0
+- Changes since 6.28.0:
+ * Update dependency version to 6.29.0
+ * Consider non-empty generic containers "true" as well
+ * Turn scriptable tag support in a plugin, as originally intended
+ * Use QLocale for currency value formatting
+ * Don't hardcode ISO date/time format
+ * token.h: provide version macros to consumers
+ * Out-of-line the ScriptableTagLibrary destructor
+ * Update version to 6.29.0
+
+-------------------------------------------------------------------
Old:
----
ktexttemplate-6.28.0.tar.xz
ktexttemplate-6.28.0.tar.xz.sig
New:
----
ktexttemplate-6.29.0.tar.xz
ktexttemplate-6.29.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kf6-ktexttemplate.spec ++++++
--- /var/tmp/diff_new_pack.J0rdoN/_old 2026-08-17 17:00:39.101548797 +0200
+++ /var/tmp/diff_new_pack.J0rdoN/_new 2026-08-17 17:00:39.104548903 +0200
@@ -19,11 +19,11 @@
%define qt6_version 6.9.0
%define rname ktexttemplate
-# Full KF6 version (e.g. 6.28.0)
+# Full KF6 version (e.g. 6.29.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_without released
Name: kf6-ktexttemplate
-Version: 6.28.0
+Version: 6.29.0
Release: 0
Summary: String template library
License: LGPL-2.1-or-later
++++++ ktexttemplate-6.28.0.tar.xz -> ktexttemplate-6.29.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/CMakeLists.txt
new/ktexttemplate-6.29.0/CMakeLists.txt
--- old/ktexttemplate-6.28.0/CMakeLists.txt 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/CMakeLists.txt 2026-08-07 22:42:58.000000000
+0200
@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.29)
-set(KF_VERSION "6.28.0") # handled by release scripts
+set(KF_VERSION "6.29.0") # handled by release scripts
project(KTextTemplate VERSION ${KF_VERSION})
include(FeatureSummary)
-find_package(ECM 6.28.0 CONFIG)
+find_package(ECM 6.29.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.28.0/autotests/testdefaulttags.cpp
new/ktexttemplate-6.29.0/autotests/testdefaulttags.cpp
--- old/ktexttemplate-6.28.0/autotests/testdefaulttags.cpp 2026-07-03
13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/autotests/testdefaulttags.cpp 2026-08-07
22:42:58.000000000 +0200
@@ -19,6 +19,8 @@
#include "template.h"
#include "util.h"
+using namespace Qt::Literals;
+
using Table = QList<QVariantList>;
using Dict = QHash<QString, QVariant>;
using StringPair = std::pair<QString, QString>;
@@ -888,6 +890,12 @@
dict.insert(QStringLiteral("var"), f);
QTest::newRow("if-truthiness12") << QStringLiteral("{% if var %}Yes{% else
%}No{% endif %}") << dict << QStringLiteral("Yes") << NoError;
+ // generic containers
+ dict.insert(u"nostrings"_s, QStringList());
+ dict.insert(u"strings"_s, QStringList({u"foo"_s}));
+ QTest::newRow("if-thruthiness13") << u"{% if nostrings %}Yes{% else %}No{%
endif %}"_s << dict << u"No"_s << NoError;
+ QTest::newRow("if-thruthiness14") << u"{% if strings %}Yes{% else %}No{%
endif %}"_s << dict << u"Yes"_s << NoError;
+
dict.clear();
QTest::newRow("if-tag-badarg01") << QStringLiteral("{% if
x|default_if_none:y %}yes{% endif %}") << dict << QString() << NoError;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/CMakeLists.txt
new/ktexttemplate-6.29.0/src/CMakeLists.txt
--- old/ktexttemplate-6.28.0/src/CMakeLists.txt 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/src/CMakeLists.txt 2026-08-07 22:42:58.000000000
+0200
@@ -8,3 +8,7 @@
add_subdirectory(i18n)
+if(Qt6Qml_FOUND)
+ add_subdirectory(scriptabletags)
+endif()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/defaultfilters/datetime.cpp
new/ktexttemplate-6.29.0/src/defaultfilters/datetime.cpp
--- old/ktexttemplate-6.28.0/src/defaultfilters/datetime.cpp 2026-07-03
13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/defaultfilters/datetime.cpp 2026-08-07
22:42:58.000000000 +0200
@@ -78,7 +78,7 @@
} else if (input.userType() == QMetaType::QTime) {
d.setTime(input.toTime());
} else {
- d = QDateTime::fromString(getSafeString(input),
QStringLiteral("yyyy-MM-ddThh:mm:ss.zzz"));
+ d = QDateTime::fromString(getSafeString(input), Qt::ISODateWithMs);
}
auto argString = getSafeString(argument);
@@ -100,7 +100,7 @@
} else if (input.userType() == QMetaType::QTime) {
d.setTime(input.toTime());
} else {
- d = QDateTime::fromString(getSafeString(input),
QStringLiteral("yyyy-MM-ddThh:mm:ss.zzz"));
+ d = QDateTime::fromString(getSafeString(input), Qt::ISODateWithMs);
}
auto argString = getSafeString(argument);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/CMakeLists.txt
new/ktexttemplate-6.29.0/src/lib/CMakeLists.txt
--- old/ktexttemplate-6.28.0/src/lib/CMakeLists.txt 2026-07-03
13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/lib/CMakeLists.txt 2026-08-07
22:42:59.000000000 +0200
@@ -116,30 +116,6 @@
REQUIRED_HEADERS KTextTemplate_HEADERS
)
-if (Qt6Qml_FOUND)
- set(scriptabletags_FILES
- scriptablecontext.cpp
- scriptablefilterexpression.cpp
- scriptablenode.cpp
- scriptableparser.cpp
- scriptablesafestring.cpp
- scriptabletags.cpp
- scriptabletemplate.cpp
- scriptablevariable.cpp
- scriptablefilter.cpp
- )
-
- foreach(file ${scriptabletags_FILES})
- list(APPEND scriptabletags_SRCS
${CMAKE_SOURCE_DIR}/src/scriptabletags/${file})
- endforeach()
-
- target_sources(KF6TextTemplate PRIVATE ${scriptabletags_SRCS})
- target_include_directories(KF6TextTemplate PRIVATE ../scriptabletags)
- target_link_libraries(KF6TextTemplate
- PRIVATE Qt6::Qml
- )
-endif()
-
if (BUILD_TESTING)
set(KTEXTTEMPLATE_TESTS_EXPORT "KTEXTTEMPLATE_EXPORT")
endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/engine.cpp
new/ktexttemplate-6.29.0/src/lib/engine.cpp
--- old/ktexttemplate-6.28.0/src/lib/engine.cpp 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/src/lib/engine.cpp 2026-08-07 22:42:59.000000000
+0200
@@ -12,9 +12,6 @@
#include "exception.h"
#include "ktexttemplate_config_p.h"
-#ifdef QT_QML_LIB
-#include "scriptabletags.h"
-#endif
#include "template_p.h"
#include <QCoreApplication>
@@ -22,9 +19,10 @@
#include <QPluginLoader>
#include <QTextStream>
+using namespace Qt::Literals;
using namespace KTextTemplate;
-static const char s_scriptableLibName[] = "ktexttemplate_scriptabletags";
+inline constexpr const auto s_scriptableLibName =
"ktexttemplate_scriptabletags"_L1;
Engine::Engine(QObject *parent)
: QObject(parent)
@@ -39,9 +37,7 @@
Engine::~Engine()
{
-#ifdef QT_QML_LIB
qDeleteAll(d_ptr->m_scriptableLibraries);
-#endif
d_ptr->m_libraries.clear();
delete d_ptr;
}
@@ -120,33 +116,25 @@
{
Q_D(Engine);
-#ifdef QT_QML_LIB
// Make sure we can load default scriptable libraries if we're supposed to.
- if (d->m_defaultLibraries.contains(QLatin1String(s_scriptableLibName)) &&
!d->m_scriptableTagLibrary) {
- d->m_scriptableTagLibrary = new ScriptableTagLibrary(this);
-
-// It would be better to load this as a plugin, but that is not currently
-// possible with webkit/javascriptcore
-// so we new the library directly.
-// https://bugs.webkit.org/show_bug.cgi?id=38193
-#if 0
- d->loadCppLibrary( s_scriptableLibName );
- PluginPointer<TagLibraryInterface> library = d->loadCppLibrary(
s_scriptableLibName );
- if ( !library )
- throw KTextTemplate::Exception( TagSyntaxError, QStringLiteral("Could
not load scriptable tags library") );
-#endif
+ if (d->m_defaultLibraries.contains(s_scriptableLibName)) {
+ d->loadCppLibrary(s_scriptableLibName);
+ PluginPointer<TagLibraryInterface> library =
d->loadCppLibrary(s_scriptableLibName);
+ if (!library) {
+ throw KTextTemplate::Exception(TagSyntaxError,
QStringLiteral("Could not load scriptable tags library"));
+ }
}
-#endif
for (const QString &libName : std::as_const(d->m_defaultLibraries)) {
- if (libName == QLatin1String(s_scriptableLibName))
+ if (libName == s_scriptableLibName) {
continue;
+ }
// already loaded by the engine.
- if (d->m_libraries.contains(libName))
+ if (d->m_libraries.contains(libName)) {
continue;
+ }
-#ifdef QT_QML_LIB
// Although we don't use scripted libaries here, we need to
// recognize them being first in the search path and not load a
// c++ plugin of the same name in that case.
@@ -155,7 +143,6 @@
scriptableLibrary->clear();
break;
}
-#endif
auto library = d->loadCppLibrary(libName);
if (library) {
@@ -168,11 +155,6 @@
{
Q_D(Engine);
-#ifdef QT_QML_LIB
- if (name == QLatin1String(s_scriptableLibName))
- return nullptr;
-#endif
-
// already loaded by the engine.
if (d->m_libraries.contains(name))
return d->m_libraries.value(name).data();
@@ -187,22 +169,17 @@
TagLibraryInterface *EnginePrivate::loadLibrary(const QString &name)
{
-#ifdef QT_QML_LIB
auto scriptableLibrary = loadScriptableLibrary(name);
- if (scriptableLibrary)
+ if (scriptableLibrary) {
return scriptableLibrary;
+ }
-// else this is not a scriptable library.
-#endif
-
+ // else this is not a scriptable library.
return loadCppLibrary(name).data();
}
EnginePrivate::EnginePrivate(Engine *engine)
: q_ptr(engine)
-#ifdef QT_QML_LIB
- , m_scriptableTagLibrary(nullptr)
-#endif
, m_smartTrimEnabled(false)
{
}
@@ -232,41 +209,33 @@
return {};
}
-#ifdef QT_QML_LIB
ScriptableLibraryContainer *EnginePrivate::loadScriptableLibrary(const QString
&name)
{
- if (!m_scriptableTagLibrary)
+ auto scriptableTagLibrary = m_libraries.value(s_scriptableLibName);
+ if (!scriptableTagLibrary) {
return nullptr;
-
-#if 0
- if ( !m_libraries.contains( s_scriptableLibName ) )
- return 0;
-#endif
+ }
const auto libFileName = getScriptLibraryName(name);
-
- if (libFileName.isEmpty())
+ if (libFileName.isEmpty()) {
return nullptr;
+ }
const auto it = m_scriptableLibraries.constFind(libFileName);
if (it != m_scriptableLibraries.constEnd()) {
auto library = it.value();
-
library->setNodeFactories(m_scriptableTagLibrary->nodeFactories(libFileName));
- library->setFilters(m_scriptableTagLibrary->filters(libFileName));
+
library->setNodeFactories(scriptableTagLibrary->nodeFactories(libFileName));
+ library->setFilters(scriptableTagLibrary->filters(libFileName));
return library;
}
-#if 0
- PluginPointer<TagLibraryInterface> scriptableTagLibrary = m_libraries.value(
s_scriptableLibName );
-#endif
- const auto factories = m_scriptableTagLibrary->nodeFactories(libFileName);
- const auto filters = m_scriptableTagLibrary->filters(libFileName);
+ const auto factories = scriptableTagLibrary->nodeFactories(libFileName);
+ const auto filters = scriptableTagLibrary->filters(libFileName);
auto library = new ScriptableLibraryContainer(factories, filters);
m_scriptableLibraries.insert(libFileName, library);
return library;
}
-#endif
PluginPointer<TagLibraryInterface> EnginePrivate::loadCppLibrary(const QString
&name)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/engine_p.h
new/ktexttemplate-6.29.0/src/lib/engine_p.h
--- old/ktexttemplate-6.28.0/src/lib/engine_p.h 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/src/lib/engine_p.h 2026-08-07 22:42:59.000000000
+0200
@@ -71,25 +71,18 @@
TagLibraryInterface *loadLibrary(const QString &name);
QString getScriptLibraryName(const QString &name) const;
-#ifdef QT_QML_LIB
ScriptableLibraryContainer *loadScriptableLibrary(const QString &name);
-#endif
PluginPointer<TagLibraryInterface> loadCppLibrary(const QString &name);
Q_DECLARE_PUBLIC(Engine)
Engine *const q_ptr;
QHash<QString, PluginPointer<TagLibraryInterface>> m_libraries;
-#ifdef QT_QML_LIB
QHash<QString, ScriptableLibraryContainer *> m_scriptableLibraries;
-#endif
QList<QSharedPointer<AbstractTemplateLoader>> m_loaders;
QStringList m_pluginDirs;
QStringList m_defaultLibraries;
-#ifdef QT_QML_LIB
- ScriptableTagLibrary *m_scriptableTagLibrary;
-#endif
bool m_smartTrimEnabled;
};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/pluginpointer_p.h
new/ktexttemplate-6.29.0/src/lib/pluginpointer_p.h
--- old/ktexttemplate-6.28.0/src/lib/pluginpointer_p.h 2026-07-03
13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/lib/pluginpointer_p.h 2026-08-07
22:42:59.000000000 +0200
@@ -10,6 +10,7 @@
#ifndef KTEXTTEMPLATE_PLUGINPOINTER_H
#define KTEXTTEMPLATE_PLUGINPOINTER_H
+#include <QCoreApplication>
#include <QPluginLoader>
#include <QSharedPointer>
@@ -46,6 +47,7 @@
// that
// causes segfaults if the plugin has been unloaded.
m_object = m_pluginLoader->instance();
+ m_object->setParent(QCoreApplication::instance());
m_plugin = qobject_cast<PluginType *>(m_object);
}
@@ -65,9 +67,9 @@
return m_plugin;
}
- operator bool()
+ operator bool() const
{
- return m_plugin ? true : false;
+ return m_plugin;
}
PluginType *data() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/qtlocalizer.cpp
new/ktexttemplate-6.29.0/src/lib/qtlocalizer.cpp
--- old/ktexttemplate-6.28.0/src/lib/qtlocalizer.cpp 2026-07-03
13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/lib/qtlocalizer.cpp 2026-08-07
22:42:59.000000000 +0200
@@ -211,7 +211,7 @@
} else {
currencySymbol = currencyCode;
}
- return currencySymbol + QLatin1Char(' ') +
d->currentLocale().toString(value, 'f', 2);
+ return d->currentLocale().toCurrencyString(value, currencySymbol);
}
static QString substituteArguments(const QString &input, const QVariantList
&arguments)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/token.h
new/ktexttemplate-6.29.0/src/lib/token.h
--- old/ktexttemplate-6.28.0/src/lib/token.h 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/src/lib/token.h 2026-08-07 22:42:59.000000000
+0200
@@ -10,6 +10,11 @@
#ifndef KTEXTTEMPLATE_TOKEN_H
#define KTEXTTEMPLATE_TOKEN_H
+// All KF6 public headers should provide the version macros.
+// Include version header explicitly because the export header
+// (which usually takes care of that) isn't used here
+#include <ktexttemplate_version.h> // IWYU pragma: export
+
#include <QString>
namespace KTextTemplate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ktexttemplate-6.28.0/src/lib/util.cpp
new/ktexttemplate-6.29.0/src/lib/util.cpp
--- old/ktexttemplate-6.28.0/src/lib/util.cpp 2026-07-03 13:00:23.000000000
+0200
+++ new/ktexttemplate-6.29.0/src/lib/util.cpp 2026-08-07 22:42:59.000000000
+0200
@@ -11,6 +11,8 @@
#include "metaenumvariable_p.h"
+#include <QAssociativeIterable>
+#include <QSequentialIterable>
#include <QStringList>
QString KTextTemplate::unescapeStringLiteral(const QString &input)
@@ -68,6 +70,16 @@
}
}
+ // consider any non-empty generic container also "true", like the specific
vairant types
+ if (variant.canConvert<QVariantList>()) {
+ const auto iterable = variant.value<QSequentialIterable>();
+ return iterable.begin() != iterable.end();
+ }
+ if (variant.canConvert<QVariantHash>()) {
+ const auto iterable = variant.value<QAssociativeIterable>();
+ return iterable.begin() != iterable.end();
+ }
+
return !getSafeString(variant).get().isEmpty();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ktexttemplate-6.28.0/src/scriptabletags/CMakeLists.txt
new/ktexttemplate-6.29.0/src/scriptabletags/CMakeLists.txt
--- old/ktexttemplate-6.28.0/src/scriptabletags/CMakeLists.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/ktexttemplate-6.29.0/src/scriptabletags/CMakeLists.txt 2026-08-07
22:42:59.000000000 +0200
@@ -0,0 +1,27 @@
+# SPDX-FileCopyrightText: Volker Krause <[email protected]>
+# SPDX-License-Identifier: BSD-2-Clause
+
+add_library(ktexttemplate_scriptabletags MODULE
+ scriptablecontext.cpp
+ scriptablefilterexpression.cpp
+ scriptablenode.cpp
+ scriptableparser.cpp
+ scriptablesafestring.cpp
+ scriptabletags.cpp
+ scriptabletemplate.cpp
+ scriptablevariable.cpp
+ scriptablefilter.cpp
+)
+set_property(TARGET ktexttemplate_scriptabletags PROPERTY
+ EXPORT_NAME scriptabletags
+)
+target_link_libraries(ktexttemplate_scriptabletags PRIVATE
+ KF6::TextTemplate
+ Qt6::Qml
+)
+ktexttemplate_adjust_plugin_name(ktexttemplate_scriptabletags)
+
+install(TARGETS ktexttemplate_scriptabletags
+ EXPORT KF6TextTemplateTargets
+ DESTINATION ${KTextTemplate_INSTALL_PLUGINDIR}
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ktexttemplate-6.28.0/src/scriptabletags/scriptabletags.cpp
new/ktexttemplate-6.29.0/src/scriptabletags/scriptabletags.cpp
--- old/ktexttemplate-6.28.0/src/scriptabletags/scriptabletags.cpp
2026-07-03 13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/scriptabletags/scriptabletags.cpp
2026-08-07 22:42:59.000000000 +0200
@@ -151,6 +151,8 @@
m_scriptEngine->globalObject().setProperty(QStringLiteral("mark_safe"),
m_functions.property(QStringLiteral("markSafeFunction")));
}
+ScriptableTagLibrary::~ScriptableTagLibrary() = default;
+
bool ScriptableTagLibrary::evaluateScript(const QString &name)
{
QFile scriptFile(name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ktexttemplate-6.28.0/src/scriptabletags/scriptabletags.h
new/ktexttemplate-6.29.0/src/scriptabletags/scriptabletags.h
--- old/ktexttemplate-6.28.0/src/scriptabletags/scriptabletags.h
2026-07-03 13:00:23.000000000 +0200
+++ new/ktexttemplate-6.29.0/src/scriptabletags/scriptabletags.h
2026-08-07 22:42:59.000000000 +0200
@@ -46,6 +46,7 @@
Q_PLUGIN_METADATA(IID "org.kde.KTextTemplate.TagLibraryInterface")
public:
ScriptableTagLibrary(QObject *parent = {});
+ ~ScriptableTagLibrary();
QHash<QString, AbstractNodeFactory *> nodeFactories(const QString &name =
{}) override;
++++++ ktexttemplate-6.28.0.tar.xz.sig -> ktexttemplate-6.29.0.tar.xz.sig ++++++
---
/work/SRC/openSUSE:Factory/kf6-ktexttemplate/ktexttemplate-6.28.0.tar.xz.sig
2026-07-15 16:41:03.825380620 +0200
+++
/work/SRC/openSUSE:Factory/.kf6-ktexttemplate.new.1258/ktexttemplate-6.29.0.tar.xz.sig
2026-08-17 17:00:38.273519541 +0200
@@ -1,7 +1,7 @@
-----BEGIN PGP SIGNATURE-----
-iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCakeWSAAKCRAsjfWHptSq
-wfaRAQCMnyRoozqX+1kX3wE5Zm/6if187IlYVyjtB+EJnzu8GQD/VrL2rWYaUU6c
-fnMwhD9Ep0xUx+cG1NhK6dIqTolNBQ4=
-=qvhc
+iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCanZDVAAKCRAsjfWHptSq
+wdKWAQD5YxeGlAa4lpx2i3+adc/q2GBMY/17VGDwQqHdjIEEFQEAnBI2rfMuoPC0
+LaWhFU/ruYs13kXpcADFsj0JyopiIAg=
+=SLQz
-----END PGP SIGNATURE-----