Package: release.debian.org
Severity: normal
X-Debbugs-Cc: konsole@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:konsole
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
please unblock package konsole.
[ Reason ]
It contains the following changes:
* New upstream release (25.04.1).
- Update kconf update script version to 6.
- Wrap output it html document & body. (kde#500515)
- Allow /path/to/file.cpp:123:123 paths. (kde#501004)
- Fix search wrapping behavior at boundaries. (kde#396510)
- Fix: disable copy action even when semantic integration is detected.
- Feat(TerminalDisplay): Copy to X11 selection immediately on mouse release.
* New upstream release (25.04.2).
- Clear the arguments if the command is not found.
* Drop backported commit now part of the upstream release.
The complete debdiff is quite huge due to translation fixes to I’m also
attaching a simple diff trimmed from these for your convenience :
diff -ur --exclude=po konsole-25.04.[02]
[ Tests ]
- Tested standard terminal features quite extensively, including when
used inside yakuake.
[ Risks ]
Upstream point releases only contain targetted commits. Further fixes
can easily be backported or the changes reverted.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
Thanks!
unblock konsole/4:25.04.2-1
Attachment:
konsole_25.04.0-2.dsc_konsole_25.04.2-1.dsc.debdiff.gz
Description: application/gzip
diff -ur '--exclude=po' konsole-25.04.0/CMakeLists.txt konsole-25.04.2/CMakeLists.txt
--- konsole-25.04.0/CMakeLists.txt 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/CMakeLists.txt 2025-06-02 22:11:25.000000000 +0200
@@ -3,7 +3,7 @@
# KDE Application Version, managed by release script
set(RELEASE_SERVICE_VERSION_MAJOR "25")
set(RELEASE_SERVICE_VERSION_MINOR "04")
-set(RELEASE_SERVICE_VERSION_MICRO "0")
+set(RELEASE_SERVICE_VERSION_MICRO "2")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
# Do not increase these requirements without a merge-request or/and
diff -ur '--exclude=po' konsole-25.04.0/debian/changelog konsole-25.04.2/debian/changelog
--- konsole-25.04.0/debian/changelog 2025-06-10 19:48:29.000000000 +0200
+++ konsole-25.04.2/debian/changelog 2025-06-17 08:52:48.000000000 +0200
@@ -1,3 +1,19 @@
+konsole (4:25.04.2-1) unstable; urgency=medium
+
+ [ Aurélien COUDERC ]
+ * New upstream release (25.04.1).
+ - Update kconf update script version to 6.
+ - Wrap output it html document & body. (kde#500515)
+ - Allow /path/to/file.cpp:123:123 paths. (kde#501004)
+ - Fix search wrapping behavior at boundaries. (kde#396510)
+ - Fix: disable copy action even when semantic integration is detected.
+ - Feat(TerminalDisplay): Copy to X11 selection immediately on mouse release.
+ * New upstream release (25.04.2).
+ - Clear the arguments if the command is not found.
+ * Drop backported commit now part of the upstream release.
+
+ -- Aurélien COUDERC <coucouf@debian.org> Tue, 17 Jun 2025 08:52:48 +0200
+
konsole (4:25.04.0-2) unstable; urgency=medium
[ Aurélien COUDERC ]
Seulement dans konsole-25.04.0/debian: patches
diff -ur '--exclude=po' konsole-25.04.0/desktop/org.kde.konsole.appdata.xml konsole-25.04.2/desktop/org.kde.konsole.appdata.xml
--- konsole-25.04.0/desktop/org.kde.konsole.appdata.xml 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/desktop/org.kde.konsole.appdata.xml 2025-06-02 22:11:25.000000000 +0200
@@ -88,6 +88,7 @@
<summary xml:lang="pt-BR">Use a interface de linha de comando</summary>
<summary xml:lang="ru">Использование интерфейса командной строки</summary>
<summary xml:lang="sa">आदेशपङ्क्ति-अन्तरफलकस्य उपयोगं कुर्वन्तु</summary>
+ <summary xml:lang="sk">Používať rozhrania príkazového riadka</summary>
<summary xml:lang="sl">Uporabi vmesnik ukazne vrstice</summary>
<summary xml:lang="sv">Använd kommandoradsgränssnitt</summary>
<summary xml:lang="ta">முனைய இடைமுகப்பைப் பயன்படுத்துங்கள்</summary>
@@ -593,6 +594,8 @@
</provides>
<update_contact>konsole-devel_AT_kde.org</update_contact>
<releases>
+ <release version="25.04.2" date="2025-06-05"/>
+ <release version="25.04.1" date="2025-05-08"/>
<release version="25.04.0" date="2025-04-17"/>
<release version="24.12.3" date="2025-03-06"/>
<release version="24.12.2" date="2025-02-06"/>
diff -ur '--exclude=po' konsole-25.04.0/kconf_update/konsole.upd konsole-25.04.2/kconf_update/konsole.upd
--- konsole-25.04.0/kconf_update/konsole.upd 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/kconf_update/konsole.upd 2025-06-02 22:11:25.000000000 +0200
@@ -1,4 +1,4 @@
-Version=5
+Version=6
Id=konsole_globalaccel
File=khotkeysrc
diff -ur '--exclude=po' konsole-25.04.0/.pc/applied-patches konsole-25.04.2/.pc/applied-patches
--- konsole-25.04.0/.pc/applied-patches 2025-06-17 21:55:39.511963470 +0200
+++ konsole-25.04.2/.pc/applied-patches 2025-06-17 23:36:33.267277472 +0200
@@ -1 +0,0 @@
-clear_argument_list.patch
Seulement dans konsole-25.04.0/.pc: clear_argument_list.patch
diff -ur '--exclude=po' konsole-25.04.0/src/autotests/TerminalCharacterDecoderTest.cpp konsole-25.04.2/src/autotests/TerminalCharacterDecoderTest.cpp
--- konsole-25.04.0/src/autotests/TerminalCharacterDecoderTest.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/autotests/TerminalCharacterDecoderTest.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -112,6 +112,14 @@
decoder->end();
delete[] testCharacters;
delete decoder;
+
+ // ensure we exported the encoding, bug 500515
+ QVERIFY(outputString.contains(QStringLiteral("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />")));
+
+ // strip HTML document
+ outputString.replace(QRegularExpression(QStringLiteral("^.*<body>\\n"), QRegularExpression::DotMatchesEverythingOption), QString());
+ outputString.replace(QRegularExpression(QStringLiteral("</body>.*$"), QRegularExpression::DotMatchesEverythingOption), QString());
+
QCOMPARE(outputString, result);
}
diff -ur '--exclude=po' konsole-25.04.0/src/decoders/HTMLDecoder.cpp konsole-25.04.2/src/decoders/HTMLDecoder.cpp
--- konsole-25.04.0/src/decoders/HTMLDecoder.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/decoders/HTMLDecoder.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -30,6 +30,15 @@
{
_output = output;
+ // open html document & body, ensure right encoding set, bug 500515
+ *_output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+ *_output << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"DTD/xhtml1-strict.dtd\">\n";
+ *_output << "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
+ *_output << "<head>\n";
+ *_output << "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n";
+ *_output << "</head>\n";
+ *_output << "<body>\n";
+
QString text;
openSpan(text, QStringLiteral("font-family:monospace"));
*output << text;
@@ -43,6 +52,10 @@
closeSpan(text);
*_output << text;
+ // close body & html document
+ *_output << "</body>\n";
+ *_output << "</html>\n";
+
_output = nullptr;
}
diff -ur '--exclude=po' konsole-25.04.0/src/filterHotSpots/FileFilterHotspot.cpp konsole-25.04.2/src/filterHotSpots/FileFilterHotspot.cpp
--- konsole-25.04.0/src/filterHotSpots/FileFilterHotspot.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/filterHotSpots/FileFilterHotspot.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -77,9 +77,9 @@
// Output of e.g.:
// - grep with line numbers: "path/to/some/file:123:"
// grep with long lines e.g. "path/to/some/file:123:void blah" i.e. no space after 123:
- // - compiler errors with line/column numbers: "/path/to/file.cpp:123:123:"
+ // - compiler errors with line/column numbers: "/path/to/file.cpp:123:123:" or "/path/to/file.cpp:123:123"
// - ctest failing unit tests: "/path/to/file(204)"
- static const QRegularExpression re(QStringLiteral(R"foo([:\(](\d+)(?:\)\])?(?::(\d+):|:[^\d]*)?$)foo"));
+ static const QRegularExpression re(QStringLiteral(R"foo([:\(](\d+)(?:\)\])?(?::(\d+):?|:[^\d]*)?$)foo"));
const QRegularExpressionMatch match = re.match(_filePath);
if (match.hasMatch()) {
// The file path without the ":123" ... etc part
diff -ur '--exclude=po' konsole-25.04.0/src/SearchHistoryTask.cpp konsole-25.04.2/src/SearchHistoryTask.cpp
--- konsole-25.04.0/src/SearchHistoryTask.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/SearchHistoryTask.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -78,6 +78,8 @@
int delta = forwards ? maxDelta : -maxDelta;
int endLine = line;
+ bool continueLoop = true;
+ bool invertDirection = false;
bool hasWrapped = false; // set to true when we reach the top/bottom
// of the output and continue from the other
// end
@@ -126,9 +128,15 @@
endLine += delta;
if (forwards) {
- endLine = qMin(startLine, endLine);
+ if (endLine >= startLine) {
+ endLine = startLine;
+ continueLoop = false;
+ }
} else {
- endLine = qMax(startLine, endLine);
+ if (endLine <= startLine) {
+ endLine = startLine;
+ continueLoop = false;
+ }
}
} else {
endLine += delta;
@@ -177,7 +185,11 @@
// if noWrap is checked and we wrapped, set cursor at last match
if (hasWrapped && _noWrap) {
- // invert search direction
+ // one chance to invert search direction
+ if (invertDirection) {
+ continueLoop = false;
+ }
+ invertDirection = true;
forwards = !forwards;
delta = -delta;
endLine += (forwards ? 1 : -1);
@@ -187,7 +199,7 @@
// clear the current block of text and move to the next one
string.clear();
line = endLine;
- } while (startLine != endLine);
+ } while (continueLoop);
if (!session->getSelectMode()) {
// if no match was found, clear selection to indicate this,
window->clearSelection();
diff -ur '--exclude=po' konsole-25.04.0/src/session/SessionController.cpp konsole-25.04.2/src/session/SessionController.cpp
--- konsole-25.04.0/src/session/SessionController.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/session/SessionController.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -475,9 +475,8 @@
QAction *copyAction = actionCollection()->action(QStringLiteral("edit_copy"));
QAction *copyContextMenu = actionCollection()->action(QStringLiteral("edit_copy_contextmenu"));
// copy action is meaningful only when some text is selected.
- // Or when semantic integration is used.
bool hasRepl = view() && view()->screenWindow() && view()->screenWindow()->screen() && view()->screenWindow()->screen()->hasRepl();
- copyAction->setEnabled(!selectionEmpty || hasRepl);
+ copyAction->setEnabled(!selectionEmpty);
copyContextMenu->setVisible(!selectionEmpty || hasRepl);
QAction *Action = actionCollection()->action(QStringLiteral("edit_copy_contextmenu_in"));
Action->setVisible(!selectionEmpty && hasRepl);
diff -ur '--exclude=po' konsole-25.04.0/src/terminalDisplay/TerminalDisplay.cpp konsole-25.04.2/src/terminalDisplay/TerminalDisplay.cpp
--- konsole-25.04.0/src/terminalDisplay/TerminalDisplay.cpp 2025-04-07 22:52:58.000000000 +0200
+++ konsole-25.04.2/src/terminalDisplay/TerminalDisplay.cpp 2025-06-02 22:11:25.000000000 +0200
@@ -1517,6 +1517,7 @@
clearSelection();
} else {
if (_actSel > 1) {
+ copyToX11Selection();
if (_possibleTripleClick) {
const QString text = _screenWindow->selectedText(currentDecodingOptions());
if (!text.isEmpty()) {
@@ -1525,8 +1526,6 @@
_doubleClickSelectedHtml = _screenWindow->selectedText(currentDecodingOptions() | Screen::ConvertToHtml);
}
}
- } else {
- copyToX11Selection();
}
}