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(); } }