<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/html-rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Planet KDE | English</title><link>https://planet.kde.org/</link><description>Planet KDE | English</description><image><link>https://planet.kde.org/</link><title>Planet KDE</title><url>https://planet.kde.org/img/planet.png</url><height>48</height><width>48</width></image><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>2026-10-10T13:00:00+00:00</lastBuildDate><atom:link href="https://planet.kde.org/index.xml" rel="self" type="application/rss+xml"/><item><title>QML Quick Editor: my QtCreator extension has been integrated</title><link>http://renaudguezennec.eu/posts/release_qmlsample/</link><pubDate>Sat, 10 Oct 2026 13:00:00 +0000</pubDate><guid isPermaLink="true">http://renaudguezennec.eu/posts/release_qmlsample/</guid><description>&lt;p&gt;&lt;img src="https://renaudguezennec.eu/backup/2025/08/1575110118823-620x413.png" alt="intro"&gt;&lt;/p&gt;
&lt;p&gt;Great news for the community! The integration of QML Quick Editor into Qt Creator is now 100% complete. The plugin is officially available, bringing native workflow integration directly to your development environment. Give it a try, and let us know what you think!&lt;/p&gt;
&lt;h2 id="features"&gt;Features:&lt;/h2&gt;
&lt;p&gt;Designed as an all-in-one QML code editor, this extension allows you to quickly prototype and test QML snippets without the overhead of creating a full project. Simply edit your code and preview the visual output instantly inside Qt Creator—speeding up your UI experimentation and debugging workflow.&lt;/p&gt;</description><author>Renaud Guezennec</author></item><item><title>This Week in Plasma: Finishing Touches on 6.8</title><link>https://blogs.kde.org/2026/10/10/this-week-in-plasma-finishing-touches-on-6.8/</link><pubDate>Sat, 10 Oct 2026 00:00:01 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/10/10/this-week-in-plasma-finishing-touches-on-6.8/</guid><description>&lt;p&gt;Welcome to a new issue of &lt;em&gt;This Week in Plasma!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This week, Plasma contributors put the finishing touches on Plasma 6.8, which is due to be released early next week, on October 14th.&lt;/p&gt;
&lt;p&gt;A lot of the work was behind the scenes, and that’s why this week’s update may look a bit light. But nevertheless, here’s the bigger stuff that we thought was worth reporting on specifically:&lt;/p&gt;
&lt;h2 id="notable-ui-improvements"&gt;Notable UI improvements&lt;/h2&gt;
&lt;!-- Can find some with https://invent.kde.org/groups/plasma/-/merge_requests/?sort=merged_at_desc&amp;state=merged&amp;label_name%5B%5D=Enhancement&amp;first_page_size=20 --&gt;
&lt;h3 id="plasma-68"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;When the Weather Report widget isn’t able to fetch any weather data, its tooltip now explains this, rather than being a tiny empty square. (Christoph Wolk, &lt;a target="_blank" href="https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/1154"&gt;kdeplasma-addons MR #1154&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Improved keyboard navigation using arrow keys in KRunner. (Christoph Wolk, &lt;a target="_blank" href="https://invent.kde.org/plasma/milou/-/merge_requests/110"&gt;milou MR #110&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="plasma-69"&gt;Plasma 6.9&lt;/h2&gt;
&lt;p&gt;You can now disable the notification that Spectacle shows when it begins recording the screen. (Kai Uwe Broulik, &lt;a target="_blank" href="https://invent.kde.org/plasma/spectacle/-/merge_requests/596"&gt;spectacle MR #596&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;System Settings’ Printers page now asks you to check your firewall when it can’t find any network printers. (Mike Noe, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=526465"&gt;KDE Bugzilla #526465&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The virtual desktop thumbnails in KWin’s Overview effect are now more harmonious and visually pleasing. (Abdallah Hammad, &lt;a target="_blank" href="https://invent.kde.org/plasma/kwin/-/merge_requests/10036"&gt;kwin MR #10036&lt;/a&gt;)&lt;/p&gt;
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;div class="swiper-slide swiper-slide-active"&gt;
&lt;img src="https://blogs.kde.org/2026/10/10/this-week-in-plasma-finishing-touches-on-6.8/thumbnails-new.png" alt="New" lazy class="rounded"&gt;
&lt;span class="d-block text-center mt-2"&gt;New&lt;/span&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/10/this-week-in-plasma-finishing-touches-on-6.8/thumbnails-old.png" alt="Old" lazy class="rounded"&gt;
&lt;span class="d-block text-center mt-2"&gt;Old&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;h2 id="notable-bug-fixes"&gt;Notable bug fixes&lt;/h2&gt;
&lt;!--
Can find some with:
- HI and VHI bugs fixed: https://tinyurl.com/bdepnh4v
- All bugs fixed: https://invent.kde.org/groups/plasma/-/merge_requests/?sort=merged_at_desc&amp;state=merged&amp;label_name%5B%5D=Bugfix&amp;first_page_size=20
--&gt;
&lt;h3 id="plasma-667"&gt;Plasma 6.6.7&lt;/h3&gt;
&lt;p&gt;Plasma’s on-screen keyboard now correctly dodges floating panels. (Devin Lin, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/4056"&gt;plasma-desktop MR #4056&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-676"&gt;Plasma 6.7.6&lt;/h3&gt;
&lt;p&gt;When using &lt;code&gt;upower-1.91.4&lt;/code&gt; or later, if your keyboard doesn’t have a backlight or doesn’t support controlling its backlight via software, the Brightness &amp;amp; Color widget will no longer show a spurious control for it anyway. (Tristyn Russelo, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525916"&gt;KDE Bugzilla #525916&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68-1"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Discover’s feature to automatically apply updates now always works for Flatpak apps. (Tobias Fella, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519082"&gt;KDE Bugzilla #519082&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed key repeat with the Slow Keys accessibility feature. (Vlad Zahorodnii, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=523419"&gt;KDE Bugzilla #523419&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could cause lags and stutters when tiling windows while using certain NVIDIA GPUs with the proprietary NVIDIA drivers. (Xaver Hugl, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=522424"&gt;KDE Bugzilla #522424&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed &lt;kbd&gt;Tab&lt;/kbd&gt; key navigation in KRunner. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=387951"&gt;KDE Bugzilla #387951&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="frameworks-632"&gt;Frameworks 6.32&lt;/h3&gt;
&lt;p&gt;Fixed a case where Qt-based apps using blur could crash when a tooltip disappeared while you were typing. (Anton Karasev, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=522547"&gt;KDE Bugzilla #522547&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Country flags used to distinguish keyboard layouts now look better when using a scale factor over 100%. (Zhora Zmeykin, &lt;a target="_blank" href="https://invent.kde.org/frameworks/kguiaddons/-/merge_requests/235"&gt;kguiaddons MR #235&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="notable-in-performance--technical"&gt;Notable in performance &amp;amp; technical&lt;/h2&gt;
&lt;h3 id="plasma-69-1"&gt;Plasma 6.9&lt;/h3&gt;
&lt;p&gt;You can now control the brightness level of backlit keyboards that are connected after login. (Tristyn Russelo, &lt;a target="_blank" href="https://invent.kde.org/plasma/powerdevil/-/merge_requests/691"&gt;powerdevil MR #691&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="how-you-can-help"&gt;How you can help&lt;/h2&gt;
&lt;p&gt;KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.&lt;/p&gt;
&lt;p&gt;Would you like to help put together this weekly report? Introduce yourself in &lt;a target="_blank" href="https://matrix.to/#/%23this-week-kde-apps:kde.org"&gt;the Matrix room&lt;/a&gt; and &lt;a target="_blank" href="https://community.kde.org/Promotion/This_week_in_KDE"&gt;join the team&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Beyond that, you can help KDE by directly &lt;a target="_blank" href="https://community.kde.org/Get_Involved"&gt;getting involved&lt;/a&gt; in any other projects. Donating time is actually more impactful than donating money. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer, either; many other opportunities exist.&lt;/p&gt;
&lt;p&gt;You can also help out by &lt;a target="_blank" href="https://kde.org/donate"&gt;making a donation&lt;/a&gt;! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.&lt;/p&gt;
&lt;h2 id="to-get-a-new-plasma-feature-or-a-bug-fix-mentioned-here"&gt;To get a new Plasma feature or a bug fix mentioned here&lt;/h2&gt;
&lt;p&gt;Push a commit to &lt;a target="_blank" href="https://invent.kde.org/websites/blogs-kde-org/-/merge_requests/?label_name%5B%5D=This%20Week%20in%20Plasma"&gt;the relevant merge request on invent.kde.org&lt;/a&gt;.&lt;/p&gt;</description><author>Nate Graham</author></item><item><title>Web Review, Week 2026-41</title><link>https://ervin.ipsquad.net/blog/2026/10/09/web-review-week-2026-41/</link><pubDate>Fri, 09 Oct 2026 11:31:52 +0000</pubDate><guid isPermaLink="true">https://ervin.ipsquad.net/blog/2026/10/09/web-review-week-2026-41/</guid><description>&lt;p&gt;Let&amp;rsquo;s go for my web review for the week 2026-41.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="wherein-the-slopbros-wont-stop"&gt;Wherein the slopbros won&amp;rsquo;t stop&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, copilot, web, commons, ethics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is a rant yes but well deserved. Those companies selling giant LLMs are just DDoSing everyone&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.dnalounge.com/backstage/log/2026/10/06.html"&gt;https://www.dnalounge.com/backstage/log/2026/10/06.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="that-time-i-worked-with-a-laptop-thief"&gt;That Time I Worked With a Laptop Thief&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, theft, law, hardware&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Or why you should have a proper inventory. Also shows how having a proper MDM in place can help.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.pipetogrep.org/2025/07/27/that-time-i-worked-with-a-laptop-thief/"&gt;https://blog.pipetogrep.org/2025/07/27/that-time-i-worked-with-a-laptop-thief/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="why-i-recommend-renovate-over-any-other-dependency-update-tools"&gt;Why I recommend Renovate over any other dependency update tools&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, dependencies, tools, foss&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s really a strong option for dependency updates indeed.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.jvt.me/posts/2024/04/12/use-renovate/"&gt;https://www.jvt.me/posts/2024/04/12/use-renovate/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="montray-a-tray-icon-and-desktop-alerts-for-systemd-services-and-custom-health-checks"&gt;montray: A tray icon and desktop alerts for systemd services and custom health checks&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, linux, systemd, monitoring, tools&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;OK, this is really a neat idea. Seems useful to have a simple check on important tasks on several machines.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://github.com/dimonomid/montray/"&gt;https://github.com/dimonomid/montray/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="proving-rust-web-application-correctness-with-lean-4"&gt;Proving Rust Web Application Correctness with Lean 4&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, safety, formal-verification, rust&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As usual with such provers the model is fairly constraining. But nowadays it seems to start being usable in more cases. Deriving the Lean code from the source code is nice too.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://medium.com/@Koukyosyumei/proving-rust-web-application-correctness-with-lean-4-8889583f1e15"&gt;https://medium.com/@Koukyosyumei/proving-rust-web-application-correctness-with-lean-4-8889583f1e15&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="modernizing-utility-software-starts-with-the-workflow-not-the-technology"&gt;Modernizing Utility Software Starts With the Workflow, Not the Technology&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, complexity, work&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Indeed, it would be way too easy if it was just about rewriting in a new stack. It&amp;rsquo;s often a question of better alignment with a changed context.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.simplethread.com/modernizing-utility-software-starts-with-the-workflow-not-the-technology/"&gt;https://www.simplethread.com/modernizing-utility-software-starts-with-the-workflow-not-the-technology/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="redesign-without-fear"&gt;Redesign without fear&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, architecture, refactoring&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A bit of an advertisement for the author&amp;rsquo;s book but the advice makes sense. The strangler fig pattern indeed works at smaller scales. Grow the new API first, test it, then port.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.ploeh.dk/2026/10/02/redesign-without-fear/"&gt;https://blog.ploeh.dk/2026/10/02/redesign-without-fear/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;hr&gt;
&lt;p&gt;Bye for now!&lt;/p&gt;</description><author>Kevin Ottens</author></item><item><title>Akademy 2026</title><link>https://kdenlive.org/news/2026/akademy-26/</link><pubDate>Fri, 09 Oct 2026 08:00:00 +0000</pubDate><guid isPermaLink="true">https://kdenlive.org/news/2026/akademy-26/</guid><description>&lt;p&gt;In September, I traveled to Graz, Austria, to attend KDE's annual conference - &lt;a target="_blank" href="https://akademy.kde.org/"&gt;Akademy&lt;/a&gt;, which also marked KDE's 30th birthday this year.&lt;/p&gt;
&lt;p&gt;Unfortunately I fell sick and was not able to celebrate as much as I would have liked. I wasn't able to attend the welcome event, not the first day of the conference. Luckily there was a great video team covering the event so I could enjoy the live streams.&lt;/p&gt;
&lt;p&gt;Julius and Farid kindly replaced me on stage for the presentation about Kdenlive, you can &lt;a target="_blank" href="https://tube.kockatoo.org/w/16vWUH9SdCqN9pec52sNsZ"&gt;view it here&lt;/a&gt;.&lt;/p&gt;
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;div class="swiper-slide swiper-slide-active"&gt;
&lt;img src="https://kdenlive.org/news/2026/akademy-26/w1.jpg" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://kdenlive.org/news/2026/akademy-26/w2.jpg" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://kdenlive.org/news/2026/akademy-26/w3.jpg" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;p&gt;On the second day, I felt a bit better so was able to attend a few presentations, like the announcement of the &lt;a target="_blank" href="https://discuss.kde.org/t/the-new-kde-goals-for-the-2026-2028-cycle-have-been-announced-at-akademy/50305"&gt;new KDE Goals&lt;/a&gt;, and be on the &lt;a target="_blank" href="https://floss.social/@akademy/117304200666495346"&gt;group photo&lt;/a&gt; :)&lt;/p&gt;
&lt;p&gt;This was also an occasion to meet and discuss with some people from the KDE and Qt community.&lt;/p&gt;
&lt;h2 id="kdenlive"&gt;Kdenlive&lt;/h2&gt;
&lt;p&gt;We also used this time to make a few Kdenlive meetings since several of us were at the conference.
We mostly discussed the ongoing keyframes refactoring, how the UI should look, and reviewed some of the feedback we had, and promo topics. We also managed to finalize and &lt;a target="_blank" href="https://floss.social/@kdenlive/117299876772502006"&gt;publish&lt;/a&gt; our &lt;a target="_blank" href="https://floss.social/@kdenlive/117299876772502006"&gt;new homepage&lt;/a&gt; with highlighted features.&lt;/p&gt;
&lt;p&gt;More exciting Kdenlive news will follow soon as our dev community is very active !&lt;/p&gt;</description><author>Kdenlive</author></item><item><title>Qt for Python Release: 6.12 is here!</title><link>https://www.qt.io/blog/qt-for-python-release-6.12-is-here</link><pubDate>Fri, 09 Oct 2026 04:00:01 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-for-python-release-6.12-is-here</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/qt-for-python-release-6.12-is-here?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/Qt%20Thumbnails%281%29.png" alt="Qt for Python Release: 6.12 is here!" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="line-height: 25.575px;"&gt;&lt;a target="_blank" href="https://www.qt.io/development/qt-framework/python-bindings?hsLang=en"&gt;Qt for Python&lt;/a&gt; 6.12 is here, alongside the &lt;a target="_blank" href="https://www.qt.io/blog/qt-6.12-released?hsLang=en"&gt;Qt 6.12 LTS&lt;/a&gt; release. This is the biggest release we have had in a while. If you haven't read what's new in Qt itself, &lt;/span&gt;&lt;a target="_blank" href="https://www.qt.io/blog/qt-6.12-released?hsLang=en"&gt;&lt;u&gt;&lt;span style="line-height: 25.575px;"&gt;check out the general announcement&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="line-height: 25.575px;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fqt-for-python-release-6.12-is-here&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>KDE Ships Frameworks 6.31.0</title><link>https://kde.org/announcements/frameworks/6/6.31.0/</link><pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://kde.org/announcements/frameworks/6/6.31.0/</guid><description>&lt;p&gt;Friday, 9 October 2026&lt;/p&gt;
&lt;p&gt;KDE today announces the release of KDE Frameworks 6.31.0.&lt;/p&gt;
&lt;p&gt;This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.&lt;/p&gt;
&lt;h2 id="new-in-this-version"&gt;New in this version&lt;/h2&gt;
&lt;details open="true" id="Attica"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/attica"&gt;Attica&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/attica/a3134ec0b4d4a583eae0405f99d71b3fcf757530"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Baloo"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/baloo"&gt;Baloo&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;[Codecs] Replace some pointers with references. &lt;a target="_blank" href="https://commits.kde.org/baloo/6f714511a4c5015365a70f5942d221daa71ed3f3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Codecs] Fix varint helper const correctness. &lt;a target="_blank" href="https://commits.kde.org/baloo/88bfe98daccfaabf51abf1f8386f5507243e5247"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kinotify: handle gracefully event overflow. &lt;a target="_blank" href="https://commits.kde.org/baloo/772b3ed1de58249f3b0211e3088b37c64ceec5da"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Codecs] Drop the undefined const overload of getVarint32Ptr. &lt;a target="_blank" href="https://commits.kde.org/baloo/d3b7d3e12e00138e83e3777ae172b000490d69aa"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Term] Remove unused Term(const QString&amp;amp;) constructor. &lt;a target="_blank" href="https://commits.kde.org/baloo/7bf8ecd6324dc9139b0f6a646871d54fcc03ca39"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Change internal AdvancedQueryParser class to QueryParser namespace. &lt;a target="_blank" href="https://commits.kde.org/baloo/9401c951eeada629be050bdc6e6878e76963ba1b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/baloo/4d4358edd0e4fe567853316c7f8922a3f36662b9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Bluez Qt"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/bluez-qt"&gt;Bluez Qt&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/bluez-qt/fbf874f59e85135825438d1e2f4871bcef1ee759"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Breeze Icons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/breeze-icons"&gt;Breeze Icons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Centre the 64px mimetype icons in their canvas. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/e0671d6dd5c1c7ffa35aa4c0c6e77078a5411df6"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/508535"&gt;#508535&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Centre the 32px mimetype icons in their canvas. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/7bc4324cb627055af162402865a5f4f85d806474"&gt;Commit.&lt;/a&gt; See bug &lt;a target="_blank" href="https://bugs.kde.org/508535"&gt;#508535&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/533733ff0b463f4d1118b22595346b99be0029fd"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add a tab-close icon instead of linking to window-close. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/1520e959da2b9b64815b91a8f177e7bcd06e8a9e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add audio-speakers-bluetooth, and the other names PipeWire asks for. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/fa5eaac8ff34d9484e5b9704bad6bf367c7d0e73"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Draw audio-speakers at 22. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/1b6cc602db11654dc8606cac01adcf891b383ad0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add Zeal tray icon to status. &lt;a target="_blank" href="https://commits.kde.org/breeze-icons/235730e69d90949621e4fee77fcc459772b7a8f0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KArchive"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/karchive"&gt;KArchive&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;K7zip: fix integer promotion when decoding numbers. &lt;a target="_blank" href="https://commits.kde.org/karchive/b3c46924320427366178eed0171b28127aa5d34c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/karchive/477f4c8db55758a845fd0600f3800ffc69068bbb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix leak of rootDir in KArchive. &lt;a target="_blank" href="https://commits.kde.org/karchive/fe0e77af6fec72698999247f3468b984fc011af0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KAuth"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kauth"&gt;KAuth&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kauth/363417209adb96f51c6246a3e30559d8cf766849"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KBookmarks"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kbookmarks"&gt;KBookmarks&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kbookmarks/587bc9e8ecd1d28ff0217afb84316f0f4e5b6ebf"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCalendarCore"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcalendarcore"&gt;KCalendarCore&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Android platform calendar plugin: drop no longer needed version check. &lt;a target="_blank" href="https://commits.kde.org/kcalendarcore/e18e33a70124e48273c5c89f536615e4273e80d9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcalendarcore/5c5bf2b307496fb9ae37ce80c3168074015a39b1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Enable LSAN in CI. &lt;a target="_blank" href="https://commits.kde.org/kcalendarcore/64b4000456f3544129026f4d8802eda7d02abcbf"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix memory leaks with libical 4. &lt;a target="_blank" href="https://commits.kde.org/kcalendarcore/857af89a0dd304b70ae02030307e9637c8c438fb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copy xCal element names during parsing. &lt;a target="_blank" href="https://commits.kde.org/kcalendarcore/d65c6bc1406b85e324b1e5cf7de8cc0b639cea3c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCMUtils"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcmutils"&gt;KCMUtils&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix margins of QML kcms. &lt;a target="_blank" href="https://commits.kde.org/kcmutils/107e65a0710e04ab17dc0f7ebaa82884c352b75b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Qml: rework separator API, deprecate extraFooterTopPadding. &lt;a target="_blank" href="https://commits.kde.org/kcmutils/814e5a8ae6ef12ffabd5f3f55b81115f2b3fab92"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcmutils/576d09dac196c456b341d37b50ea195ec26452c2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kpluginproxymodel: return value is a boolean not an int. &lt;a target="_blank" href="https://commits.kde.org/kcmutils/1ec68cae9199a5261dc809e6b6492cb4fc42b623"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove unimplemented methods. &lt;a target="_blank" href="https://commits.kde.org/kcmutils/fd2eedbdc5116e885a8ba25531d6e518e22361f1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCodecs"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcodecs"&gt;KCodecs&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;[KEncodingProber] Show final confidence in debug output. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/cec5d3e000a295c8638a12614e0d411e766e29c5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Add statistical approach for UTF-16 and UTF-8 detection. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/51c8f33f7327753a4857d0dfe79bc727d62870d6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Evaluate pairs of accented/unaccented for Latin1. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/8742df6f44d151678d66a9f5169281f74e0b755f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Remove filter from Latin1Prober. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/fe8dfad4cff7b28633d3b3ab35103a5abcb17731"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[kEncodingProber] Improve Latin1 confidence calculation accuracy. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/9702b6b90d81641326dffab9d4a14bbb7e9c609e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix Latin1 model for pair of accented vowels. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/4fb031d5a8cbc593e55c28496faa15364b21151a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Move Latin1 sequence model out of the loop. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/247e6610a6ae30fc2d45c356bdaf92c37aff4436"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix some more Latin1 codepoint classifications. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/e2207522f8211c55501f4a53093ba109a4bfed53"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Add Windows-1252 Spanish and French input test. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/974691aca68d027108637a105d374588d3c82ca3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Latin1: sharp s &amp;quot;ß&amp;quot; is not capital, fix formatting. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/917083dfd40fec89ccf029946432c4994e734779"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Use uint8_t for MBCS distribution and context analyser. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/fd37ab5ff8f71658d87d3dbd285d995ed0ee9720"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix Big5 state tables. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/20ae7afc5f40e28eb94ac90851ad1ca171b77f7c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Extend tests for Big 5 encoding. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/13b8bc45557f0a152ef9362267bd31db0520e410"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixes: no matching function for call to... &lt;a target="_blank" href="https://commits.kde.org/kcodecs/913d10160dd060f36a325bdf7f7b1f333d126b07"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Deduplicate code to find best prober. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/3712b7d428dcb085afbdb71234485a2e6f77a022"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix detection of Windows-1252 in WesternEuropean set. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/83411f6c32853e1d201b93e3bba4b28e97c62489"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Remove UTF-8/16 support from SBCS group prober. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/13720040bf12a93b8769ab2e2694cfd3fb182671"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Remove UTF-8/16 support from MBCS group prober. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/c32b1add4a0a1dbb5df49477a6c7d5eda5e47b9f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Use Universal prober for Chinese/Korean subset detection. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/18f687b88358b5efce8c0e50784f46e8a0f972d8"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Use Universal prober for Japanese subset detection. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/c6c77ad9646bdf94d83f1368c5325d3e6033e814"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Use Universal prober for Unicode subset detection. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/83ff5bf2dcc4a7c47686e7318c64c52de70ee493"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Make subprobers in UniversalProber selectable. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/5b84ee05720919ffae0623523339c6cf407f4f8b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix defaulting to UTF-8 even if invalid. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/91919f96dcbe8b99a1776c8fdf33cc2ae728fd3c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Fix duplicate/skipped UTF-8/UTF-16 probing. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/036e9b29ed6dd29e36c3b5bc252518624ae305ff"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Split ESC / HZ probers, reduce nesting. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/94fd0253ba7b17ecab7beeec7e39ce1aab118049"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Refactor UtfProber to make it reusable. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/446499f040dcbcc83648ee82a36ff5c4bc72baf6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Make individual SBCS probers selectable. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/f54ae9e57974929419de630355e79dfc47474f18"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Add SBCS and 7 bit probers to enum. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/bc69f21834f49f32dd0ec70b8ad53cebe471f598"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Move prober type enum to nsCharSetProber base class. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/ab6748fcf9d219bed5e4ec3794a1d3893fe1b6e6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Simplify high byte / ESC scan. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/de86a07d3b8005558e82c516201fd594ec7855db"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/33d3d638f91e129c8b8559e2f36a9576f64db1cd"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Optimize check for sufficient data in JpCntx. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/4752026a3b0f4c79893e2d41727c82ea070d3ef9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Provide more information in MBCS debug output. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/ec52cf70480e1a263cbf8ef629283fbeebd6fb5a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Extend unit tests for CJK. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/a65a25b8d45f0cf86ac6c23a88e66b49f9683765"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[KEncodingProber] Verify UTF-8 detection for Japanese/Unicode prober. &lt;a target="_blank" href="https://commits.kde.org/kcodecs/500f4c7d84bca09aa6c96f284f53a380a0efeeef"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KColorScheme"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcolorscheme"&gt;KColorScheme&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;KColorSchemeManager: drop code variant for Qt &amp;lt; 6.10. &lt;a target="_blank" href="https://commits.kde.org/kcolorscheme/436ee771d2c695a117bd053bf804e2b7510eacea"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcolorscheme/23ac6f9d9cf1ebcd3c9874ca1a9563f7fa046d5f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCompletion"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcompletion"&gt;KCompletion&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcompletion/e2d30f7b54883b05d8901d48d73f76532f7bdc2f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[mem leak] action and qactiongroup parent to this. &lt;a target="_blank" href="https://commits.kde.org/kcompletion/f5fe4d50af493a935b0f7b0d4ba86ec1cc8c82c6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KConfig"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kconfig"&gt;KConfig&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;KConfigSourceGenerator: Add explicit moc include when we use macros that need moc generation. &lt;a target="_blank" href="https://commits.kde.org/kconfig/975405122decec19e7952a304cd7c19d60f59e62"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kconfig/5479c6603c231f894e1b8103e66b60b4ce1084e1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix writing empty path entries. &lt;a target="_blank" href="https://commits.kde.org/kconfig/083137a64c8415c71545a6e47fa19b0aa743409d"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/487212"&gt;#487212&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;'Open' should have CTRL(O). &lt;a target="_blank" href="https://commits.kde.org/kconfig/55360913a41a02c16bdf4f650b167567901e6fda"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kstandardshortcut: refactor internal shortcut handling. &lt;a target="_blank" href="https://commits.kde.org/kconfig/9b47ef99fd7be91059af97137c65645fe3e1f99d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KStandardShortcut: Fix using a null key sequence for removed shortcuts. &lt;a target="_blank" href="https://commits.kde.org/kconfig/0fd33d70928864758fb394c8ec8e20b384205acd"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/518683"&gt;#518683&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KConfigWidgets"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets"&gt;KConfigWidgets&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;KLanguageButton: fix repainting issues. &lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets/8ea95681c5c4dc318e78177ef84738d90e8b1e98"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KLanguageButton: fix the language menu overflow. &lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets/abb6be11cb4bcdf476ac319174eef640c6eddf24"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/471293"&gt;#471293&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets/f8a4988a43a8a44ab9dc3e692d1f8c0fb94f5e46"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kstandardaction remove whatsthis for ShowMenubar action. Deduplicate &amp;quot;show&amp;quot; &amp;quot;menubar&amp;quot; text. &lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets/e5142dfcbefa7d34e391a0e5d0f27feae8f1f1c2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix test to work with Qt 6.12. &lt;a target="_blank" href="https://commits.kde.org/kconfigwidgets/eebdf2970377d9aab970505501ca9b56e1263bf7"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KContacts"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcontacts"&gt;KContacts&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcontacts/778bf51292cfb1f417f8d61fdb9cd9d0597e2edb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCoreAddons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcoreaddons"&gt;KCoreAddons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;About: Prefer AppStream data from the same prefix. &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/e6d23dc21f1fa9b9a4ed00fc73b6b96c224ac8df"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/c69600ed9c51291a615d353755992f1b5c106ec4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kjob: Expose type as QML. &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/532ccb67a3a359750710baa35de112688317c146"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Introducing KSafeStringError. &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/07b8a5d74d9c04bf5ec2a4314447458ae01fd2b0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Properly support Format::LongMode in formatTime(). &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/819c498086fbbbc30986413f9345757fe3551c55"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CMake config file: ensure ECM's UDev/LibMount find modules w/ static builds. &lt;a target="_blank" href="https://commits.kde.org/kcoreaddons/864299c6f88dc7cfecde907df816fd03eb294c3a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KCrash"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kcrash"&gt;KCrash&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kcrash/8b925c05034aa781529335a2165f96b35eb766e9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDav"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdav"&gt;KDav&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix documentation formatting. &lt;a target="_blank" href="https://commits.kde.org/kdav/72f3f7c0fbad00c85ad660a762dc445976fca3c5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add DavPushUnregisterJob for unsubscribing dav push notifications. &lt;a target="_blank" href="https://commits.kde.org/kdav/cc4d5344e9c34c9e1e41abbcfc1c6a66946cad9c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add davpushregistrationjob for subscribing DavPush notifications. &lt;a target="_blank" href="https://commits.kde.org/kdav/a1e855cfad123947814c0eb8439e16a8fb3f9b87"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add DavItemsSyncJob that fetches only changed items using sync-token. &lt;a target="_blank" href="https://commits.kde.org/kdav/da836295a92d3269214d8d88e8d16df42ecad72c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add detection of sync-tag property in collection fetch. &lt;a target="_blank" href="https://commits.kde.org/kdav/3c33909e5663b2a36a34103c36dc5be8b101a420"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add DavPushDontNotify to item and collection operations. &lt;a target="_blank" href="https://commits.kde.org/kdav/6383f08a29a816c6c5260d5f551b491ea3f1bc00"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kdav/34cb92a511a6d9859fae636bcba9bbf1a96c5250"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix CI tests by closing conncetions after each requests. &lt;a target="_blank" href="https://commits.kde.org/kdav/f3bb61498a02deb6804601c58d9cc0da7ac9fdaa"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix since version. &lt;a target="_blank" href="https://commits.kde.org/kdav/2b975fd594fc84d39ed3e62a6a550c7c441f68c5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDBusAddons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdbusaddons"&gt;KDBusAddons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kdbusaddons/4137f4c7436e709b7d472a0ab1e02d8de47350a2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDeclarative"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdeclarative"&gt;KDeclarative&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kdeclarative/ef71e60946e24fc4224dafc761b5709a4a526d99"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDE Daemon"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kded"&gt;KDE Daemon&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix ordering on Plasma 6.8. &lt;a target="_blank" href="https://commits.kde.org/kded/a256909e4a4c7ab0707e898dae3e7327f2adde5a"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525764"&gt;#525764&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDE SU"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdesu"&gt;KDE SU&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kdesu/ed937f5d95ec945de9a90108ddc256c039d25191"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDNSSD"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdnssd"&gt;KDNSSD&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kdnssd/dcf74ffa3368021d78812653dcf0c5146a3a1e02"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KDocTools"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kdoctools"&gt;KDocTools&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Kde-include-common.xsl.cmake fix build warning &amp;quot;failed to load&amp;quot; &amp;quot;pt-BR.xml&amp;quot;. &lt;a target="_blank" href="https://commits.kde.org/kdoctools/41c47dca007b128fd53cdbaf130c21e70cf0de0f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KFileMetaData"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kfilemetadata"&gt;KFileMetaData&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix abort in malformed file. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/179f42121b7cfadfd39ca6c96b4e1236761c0734"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/f3dcd207aef7469ac9e080f6cc110fe92d455f19"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;FFmpegExtractor: Extract Apple-proprietary metadata. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/75d63d25dc2ea093c28fa019c1b6641c5a35745a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;FFmpegExtractor: Extract GPS latitude and longitude. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/d040ca132acb45f81dc75367a93a932f9dca482b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;FFmpegExtractor: Extract creation time. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/db2e9955a715dc36d5b20729a64434c2088f2e67"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix exception crash on malformed files. &lt;a target="_blank" href="https://commits.kde.org/kfilemetadata/a90027c6a3c1067cadd0b0884a9e6df1f9c81de8"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KGlobalAccel"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kglobalaccel"&gt;KGlobalAccel&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kglobalaccel/b0be072a29b0d77817d3b0a4d597b6f2e51cc763"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KGuiAddons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kguiaddons"&gt;KGuiAddons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kguiaddons/ec7df1f00287faeff197e73df4f0ef31181e8ee5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CMake config file: update wayland dep checks w/ static builds. &lt;a target="_blank" href="https://commits.kde.org/kguiaddons/a14c654445fcf763930991e95b6104f14e01f181"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KHolidays"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kholidays"&gt;KHolidays&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kholidays/8facef3017b12ca7ff9dae0e05ea225ffa11c477"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update Belgian (French-speaking) holidays. &lt;a target="_blank" href="https://commits.kde.org/kholidays/d9227b574714e6b7da77f0320bf111e6aa001039"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KI18n"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/ki18n"&gt;KI18n&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;KF6I18nQml: list Qt6::QmlIntegration in public link interface. &lt;a target="_blank" href="https://commits.kde.org/ki18n/ae77c7139ccd75d508efccee2eff1db203457b75"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/ki18n/1aeffa7a49380ab6cb619f5c18ce2e1944d4c496"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The old URL stopped being valid. &lt;a target="_blank" href="https://commits.kde.org/ki18n/5be3fc1ecb94a3c0792e9d1c1274f602d2292cca"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KIconThemes"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kiconthemes"&gt;KIconThemes&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Deprecate KIconLoader::loadScaledIcon overload with int type size arg. &lt;a target="_blank" href="https://commits.kde.org/kiconthemes/1f6cf81aebd2aecf96721a0ae2323aaca3ff2f0a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KIconLoader::loadIcon/loadScaledIcon(): forward directly to implementation. &lt;a target="_blank" href="https://commits.kde.org/kiconthemes/98c705623d7d2e648fe6968b832835d0ba0c833b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kiconthemes/356f60613be321489a75e0c7e9324b3ca9845ba2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KIdletime"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kidletime"&gt;KIdletime&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kidletime/9b2a398ce5d9e7ef73e6bd644b7bfa057b29ab99"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KImageformats"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kimageformats"&gt;KImageformats&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Enable LSAN in CI. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/ff1fdf660e612b29dd9efafbfd76bb7b6e7d9cfe"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EXR: store of &amp;quot;adobe_rsrc&amp;quot; attribute with XMP/EXIF/Resolution data. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/5e5072d590f02b8a8d8b7d9719a459679897568d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EXR: support for metadata saved by Photoshop. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/6a3c7f2c86394d23eaad13932a414d99edf17be9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ANIHandler::nextImageDelay: Protect against overflow. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/43e6efb0e52615ec34893fd962bcb7be8af9ebbc"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Autotests: add AVIF image-grid image to read test. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/b7a407a752ce8f5f95b5c88c7ac1cff7c36cac32"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ossfuzz: update libaom to 3.15.0. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/62c45582df4856a23a890a501ed91022a111cb38"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EXR: fix alpha channel imperpretation. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/a738553dc9575c539cb9c075ea87432eaf0d211b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EXR: RGB / YC subtype support. &lt;a target="_blank" href="https://commits.kde.org/kimageformats/0862db49b88a92fa9dc1b9c543ca259f57bf1e1e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KIO"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kio"&gt;KIO&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use d-pointer for RenameFileWarningDialog. &lt;a target="_blank" href="https://commits.kde.org/kio/2dd4bdc916a6f46d297d8788f5b628181483315d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kfileplacesview: elide the name of a place once, not on every paint. &lt;a target="_blank" href="https://commits.kde.org/kio/8cdcec721525445bb38cb21629877a83c07fbcb5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KFileItem: share one QMimeType per name across items. &lt;a target="_blank" href="https://commits.kde.org/kio/ccf43db6a23bd6986a826517f1a7f0c82b50b32c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Renamefiledialog: let Enumerate keep the old file name. &lt;a target="_blank" href="https://commits.kde.org/kio/e9eb4155fbcaeb8ef8f785458d534fe62c6cc882"&gt;Commit.&lt;/a&gt; See bug &lt;a target="_blank" href="https://bugs.kde.org/460626"&gt;#460626&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ktrash: report errors and exit non-zero on --empty/--restore failure. &lt;a target="_blank" href="https://commits.kde.org/kio/fb5a887754b4b8daff97ef9c40f4f8e2806a19b1"&gt;Commit.&lt;/a&gt; See bug &lt;a target="_blank" href="https://bugs.kde.org/444719"&gt;#444719&lt;/a&gt;. See bug &lt;a target="_blank" href="https://bugs.kde.org/413360"&gt;#413360&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;File_unix: unify FSTAT declaration. &lt;a target="_blank" href="https://commits.kde.org/kio/841c3e7cafe724ef00dea4fa899edf1afb144892"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Deletejobtest: watch the file tree, not the progress reports. &lt;a target="_blank" href="https://commits.kde.org/kio/96043842027bd9a32b010732acdafed821178cf3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kdirlistertest: share the worker that lists a search result. &lt;a target="_blank" href="https://commits.kde.org/kio/970cbbbc5f80e56b71c9f32b1d333abac24a7770"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix build with Qt 6.11.2 on Android. &lt;a target="_blank" href="https://commits.kde.org/kio/c13ace9a9d0f2b0a2d5776f083cfdec62b6df756"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kurlnavigator &amp;quot;Copy Location&amp;quot; is the text used when you right click on file. &lt;a target="_blank" href="https://commits.kde.org/kio/d58d788ca67188135fdeada8dcbe3bc5497b7b66"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KCoreDirLister: update search results when a file is deleted or renamed. &lt;a target="_blank" href="https://commits.kde.org/kio/8e0681b85ca1edbb34137d2d4f4f3de573e93964"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/392456"&gt;#392456&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thumbnail cache: Prevent repeated creation of already created thumbnails. &lt;a target="_blank" href="https://commits.kde.org/kio/9dc6216c9541daefdff2f234c9305d3fb069ab2c"&gt;Commit.&lt;/a&gt; See bug &lt;a target="_blank" href="https://bugs.kde.org/526038"&gt;#526038&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Krecentdocument: Reuse an already-known MIME type for recent-documents bookkeeping. &lt;a target="_blank" href="https://commits.kde.org/kio/0b8b118bfc2616cb1e3f1c872ad5d1f357486fc4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kmountpoint: Consider all non-local fuse filesystems as slow in KMountPoint::probablySlow. &lt;a target="_blank" href="https://commits.kde.org/kio/0d477be2e668039a022b05199da9367b32849edb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KNewFileMenu: resolve symlink targets when creating a new link. &lt;a target="_blank" href="https://commits.kde.org/kio/06131ed7419a63e2e3d1ecfe83016a05da28af9f"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525084"&gt;#525084&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: add a private header for tests. &lt;a target="_blank" href="https://commits.kde.org/kio/606b6ae05ff88835371984ead465b12be361f271"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[ftp] Synthesize missing '.' directory entries. &lt;a target="_blank" href="https://commits.kde.org/kio/27117060ecd26efb2173e9ab7876de181e3f490e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kio/287babe622fec9a5dad157e03041ea872e23a54e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix since version for rename warning API. &lt;a target="_blank" href="https://commits.kde.org/kio/86981bf89005a969be467b69d549ed455341cbf3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Workers/ftp: implement proper file modification timestamps using RFC3659. &lt;a target="_blank" href="https://commits.kde.org/kio/fe8d690bd70dccdf102c86222e622473148aeddc"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/510976"&gt;#510976&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kdirlister: keep entries that share a name but not a url. &lt;a target="_blank" href="https://commits.kde.org/kio/7b29ffa2aa1e0486c323eed496cb891f613501cc"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/524791"&gt;#524791&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kemailclientlauncherjob: handle characters % , '. &lt;a target="_blank" href="https://commits.kde.org/kio/451a8c8a3199f02713ce25df9e7792eb5235dfd6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kurlrequester: Fix mem leak in slotOpenDialog. &lt;a target="_blank" href="https://commits.kde.org/kio/de394d9d172d0fc27a07f93ad42061e58dc6204f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Git-blame-ignore-revs: add insertServices reorganisation commit. &lt;a target="_blank" href="https://commits.kde.org/kio/204df7afb8bebde2f805ab59d1c5252ed42ea909"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kfileitemactions: move insertServices and insertServicesSubmenus closer to where they are used. &lt;a target="_blank" href="https://commits.kde.org/kio/88de4acbe5a719611f272befe1f35996221372d5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ftpd: expand the directory the mock server is given. &lt;a target="_blank" href="https://commits.kde.org/kio/869875f3cce6f616abfd0f8463c3087119b9d5d6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ftpd: require stringio for the mock server. &lt;a target="_blank" href="https://commits.kde.org/kio/a1c1224cda4892d9c5cab8655600b312ab0df716"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Widgets: Update RenameFileWarningDialog since version. &lt;a target="_blank" href="https://commits.kde.org/kio/4487909abd599c454b8e9a3b69de022ee98e4c01"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Widgets: Rename RenameFileWarning to RenameFileWarningDialog. &lt;a target="_blank" href="https://commits.kde.org/kio/0914b46aa74e0fd5c130d2c42291d212462fc416"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Widgets: rely on KConfig autosync for rename warnings. &lt;a target="_blank" href="https://commits.kde.org/kio/d2e359bbf825f6aa8f83d8d21bff3612f8c30885"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Widgets: make rename warning dialogs window-modal. &lt;a target="_blank" href="https://commits.kde.org/kio/dab1929e607cc02a94950288c39db9d8493185de"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Widgets: replace rename warning callback with QObject API. &lt;a target="_blank" href="https://commits.kde.org/kio/b76003dcbedef750d3bba2232d158957c383e4ba"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kio: use 'accepted' instead of 'proceed' in confirmRenameWarning. &lt;a target="_blank" href="https://commits.kde.org/kio/0aed63e35545142a08bd83df9fc578a673e7c8e9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add KIO::confirmRenameWarning() helper for consistent rename confirmations. &lt;a target="_blank" href="https://commits.kde.org/kio/4cf7d5bd6d70017be172ee12113d08c9a83340fd"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;File: copy one file through one routine. &lt;a target="_blank" href="https://commits.kde.org/kio/bb6af4b97e5a999daf7922437854663828e51f3c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;File: put the content transfer of a copy in one place. &lt;a target="_blank" href="https://commits.kde.org/kio/890f57ec806b5c88c5a6344f31dcb11a7b5a723e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix build error by adding &lt;QUrl&gt; include in file_unix_copy.cpp. &lt;a target="_blank" href="https://commits.kde.org/kio/610e62275dc55c7d58b014fd355c88ef8451b876"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;File: move the copying code to its own source file. &lt;a target="_blank" href="https://commits.kde.org/kio/8f3af21890131151272cb410242de590b0f780e4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: stop counting the file being copied as one that is done. &lt;a target="_blank" href="https://commits.kde.org/kio/93c22f765c5f81c6e76ae9c971e2192ce614235c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: report one percentage per report. &lt;a target="_blank" href="https://commits.kde.org/kio/59333f88e94e787ab391d248936547a476745d0f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kurifiltersearchprovider: parent QActionGroup to the actions menu. &lt;a target="_blank" href="https://commits.kde.org/kio/b2c327f67b928fdcc4dbf2b9d3e22a576d5c54b4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: three corrections to taking a skipped file off the byte total. &lt;a target="_blank" href="https://commits.kde.org/kio/014ca208d7bb2c9e29aa4ec6787d77138b710865"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KFileItem: detect locally mounted remote filesystems in isSlow(). &lt;a target="_blank" href="https://commits.kde.org/kio/741f40da195022b5d426b5459734eae42ec4df5e"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/460127"&gt;#460127&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Trash: Watch physical trash directories for changes. &lt;a target="_blank" href="https://commits.kde.org/kio/876c545037f6565fab1301d9d6b9b1d4e58ee3ee"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/465581"&gt;#465581&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: stop counting a skipped directory as one that was processed. &lt;a target="_blank" href="https://commits.kde.org/kio/12351b275399fc31c6fab067d73176a11fd66b45"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: take a skipped file out of the byte total. &lt;a target="_blank" href="https://commits.kde.org/kio/c2391d5a5c32f658be60241bcd13569e427ec64a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: count a file the user skipped as one the job is done with. &lt;a target="_blank" href="https://commits.kde.org/kio/fd744ddeb95c2463feaae6f3437f1a3185f71fdb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: publish the byte total whichever way the stating phase ends. &lt;a target="_blank" href="https://commits.kde.org/kio/88999910b7ea0d211792593024517ee3ee894a66"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: keep the percentage of a move inside 100. &lt;a target="_blank" href="https://commits.kde.org/kio/c33999bbc1d80fbf511e19da8598f175e9841a2b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: let a test say how often a job reports. &lt;a target="_blank" href="https://commits.kde.org/kio/6b876319c5703235f5dc594dc164b41c857eaa65"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copyjob: count the files a move skipped, not the sources it renamed. &lt;a target="_blank" href="https://commits.kde.org/kio/fe41a31b08286ca211ad9a45e95051d44b59deff"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Unexport private method in PreviewJob. &lt;a target="_blank" href="https://commits.kde.org/kio/aaa5267be11d30c352374fa43d818f085a1d637d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix documentation syntax. &lt;a target="_blank" href="https://commits.kde.org/kio/ff6e02584f2e5a064a6f792b1d034b15ef3f7549"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Kirigami"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kirigami"&gt;Kirigami&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;GlobalDrawerActionItem: port away from QQC Impl. &lt;a target="_blank" href="https://commits.kde.org/kirigami/0e3a438511702890996815e4b832de9aa4c41ae3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Forms/cards: Fix label visibility for &lt;code&gt;fullWidth&lt;/code&gt; form entries. &lt;a target="_blank" href="https://commits.kde.org/kirigami/fead580c77c2a60f67e9e6075ec700f745983be3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Forms: Don't indent other form entries for &lt;code&gt;fullWidth: true&lt;/code&gt;. &lt;a target="_blank" href="https://commits.kde.org/kirigami/e3dc15aa3b8bf7a5f3dfc33dbf656adf01b362a2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delegates/TitleSubtitleWithActions: Pass through textFormat. &lt;a target="_blank" href="https://commits.kde.org/kirigami/c8a8a9ad507be64c0994faeb0435a0c884ff6238"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Columnview: Fix rapid touch taps not working by fasttracking anim. &lt;a target="_blank" href="https://commits.kde.org/kirigami/0810418b1109e06a17f615dcf4b41ffcc1962ccd"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/523866"&gt;#523866&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Check whether applicationWindow is a function and not undefined. &lt;a target="_blank" href="https://commits.kde.org/kirigami/ca7d6361556c21d33dac784b646c7f257079cc7a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kirigami/786f8098946a0ccbb7251e78be43062ecb3287f4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Set CMAKE_MODULE_PATH directly to ECM_MODULE_PATH. &lt;a target="_blank" href="https://commits.kde.org/kirigami/17a569af69723f04f4ae0aed7085a5cc9362f330"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kirigami_add_tests: initialize _extra_args variable in all cases. &lt;a target="_blank" href="https://commits.kde.org/kirigami/9726585c7b0ec8a113956f7aa61229e9765239c0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove unused Kirigami_EXTRA_LIBS variable. &lt;a target="_blank" href="https://commits.kde.org/kirigami/8477d47065d3384e1952ff9a3d044c78cff9acd5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix usage of misnamed KF_INSTALL_TARGETS_DEFAULT_ARGS. &lt;a target="_blank" href="https://commits.kde.org/kirigami/0ea8b625ba132e80e8495e568317164ff313799e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Enums: Add api doc for MessageType. &lt;a target="_blank" href="https://commits.kde.org/kirigami/414f82081890b358803546bcf75088c64258797a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: adjust example for Badge and add screenshot. &lt;a target="_blank" href="https://commits.kde.org/kirigami/97753e97bbea237846275117c9f591923fcce488"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: fix broken example of PlaceholderMessage. &lt;a target="_blank" href="https://commits.kde.org/kirigami/78daf088dfdff88d09b593ebc1d0bbd66b3dda7d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: adjust example for Chip and add screenshot. &lt;a target="_blank" href="https://commits.kde.org/kirigami/2bf13894f63ed04870372a0bf56043c15bac581b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ActionsMenu: Tie loader's visibility to its action's visibility. &lt;a target="_blank" href="https://commits.kde.org/kirigami/20b5113014e151754c60f4bf39bf312ef6dfe95e"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525225"&gt;#525225&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ActionsMenu: Tie separator's visibility to its action's visibility. &lt;a target="_blank" href="https://commits.kde.org/kirigami/c40d2488b4b6059ca8ca5387998f63cdfd528191"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525225"&gt;#525225&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Controls: fix submenus on collapsed GlobalDrawer. &lt;a target="_blank" href="https://commits.kde.org/kirigami/94a7f36a4da4a10faab5ebe7a6daac53dd51c410"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Controls: avoid shadowing property. &lt;a target="_blank" href="https://commits.kde.org/kirigami/d250cf64cdd35ca96368ef67d516977385a7eca9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Controls: avoid unqualified lookups in private drawer items. &lt;a target="_blank" href="https://commits.kde.org/kirigami/fd297414d208ffd287855c876651a792966d2e5d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove unused imports. &lt;a target="_blank" href="https://commits.kde.org/kirigami/e62ebeb21201663051dd0af60e3949eaa6d558a8"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Forms: use application singleton. &lt;a target="_blank" href="https://commits.kde.org/kirigami/f60fdca4e6ee48810fcd0f1604b21b1392fa2465"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Assert types. &lt;a target="_blank" href="https://commits.kde.org/kirigami/4310b0938322cea3cdae9cdb4011d6954cf1ce30"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use stronger types. &lt;a target="_blank" href="https://commits.kde.org/kirigami/e1451ac6cef0a85302ed8049d62ae4dfda6d8699"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Controls/private: make CallBackWrapper named type. &lt;a target="_blank" href="https://commits.kde.org/kirigami/8e5db7f18f0dad168b99d8d5cdabf0905efb67bc"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Controls: qualify parent properties. &lt;a target="_blank" href="https://commits.kde.org/kirigami/9f4a690ede70a5a9d8bed04f36f7a4c5ddac5ef7"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add textFormat property to other delegates. &lt;a target="_blank" href="https://commits.kde.org/kirigami/6ce8f494ccdace0398ade447815fbb37b2684edd"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delegates/IconTitleSubtitle: Add textFormat property and pass through to TitleSubtitle. &lt;a target="_blank" href="https://commits.kde.org/kirigami/746fb9553dfd50da35d71048dd05f9639011f64b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PlatformTheme: Insert frameContrast to the data. &lt;a target="_blank" href="https://commits.kde.org/kirigami/e871df6f733ea34fd811aed0687b6fcc06a39707"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525364"&gt;#525364&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KItemModels"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kitemmodels"&gt;KItemModels&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Add more missing doc for QML interfaces. &lt;a target="_blank" href="https://commits.kde.org/kitemmodels/37ef4baf9e184452e1e366d835630322561334af"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksortfilterproxymodel: Improve documentation. &lt;a target="_blank" href="https://commits.kde.org/kitemmodels/c9e585c506221e0119e7a83e3e2746a5e789dbaa"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kitemmodels/6907fade2deb99eed74c8478b0c02ef886f796c1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KItemViews"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kitemviews"&gt;KItemViews&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kitemviews/5d6f8581fcb3d41c3f4bd69a8b30034296912181"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KJobWidgets"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kjobwidgets"&gt;KJobWidgets&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kjobwidgets/127d2a5095ad5bca242f18849c23ec9a05f03f9f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KMime"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kmime"&gt;KMime&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kmime/abfe8ab0dcd0c14f5e75b72bf30fc242afe9e140"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KNewStuff"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/knewstuff"&gt;KNewStuff&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/knewstuff/65508b6234e176a0d128de61c3346fd783d945b9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KNotifications"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/knotifications"&gt;KNotifications&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix handling of deleted audio notifications. &lt;a target="_blank" href="https://commits.kde.org/knotifications/40edfe471753c345e049708d6fe05ba6b548d8e1"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525380"&gt;#525380&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/knotifications/8b12620b16a2f0d5c3b446259251679778ce87ea"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CMake config file: ensure ECM's Canberra find module w/ static builds. &lt;a target="_blank" href="https://commits.kde.org/knotifications/d6ad149892c4271ff298bb8a344631a6900031fc"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Merge audio plugin into other plugins. &lt;a target="_blank" href="https://commits.kde.org/knotifications/dc38e727139c5e6db45b3b0b0effc4c3b5b88a08"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KNotifyConfig"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/knotifyconfig"&gt;KNotifyConfig&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/knotifyconfig/72ba0d79cf53eebd3f41c88d9d0da9ef3165eb1a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KPackage"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kpackage"&gt;KPackage&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kpackage/cd7a92eee9a9645f33a7bd8de4fadff7133cce84"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KParts"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kparts"&gt;KParts&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kparts/b0d3c7123688263c3aa73a4b974652b5efc616d1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KPeople"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kpeople"&gt;KPeople&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Remove no longer needed moc include. &lt;a target="_blank" href="https://commits.kde.org/kpeople/01e22bcb67fef552050cfc4f21d74d7814f4cb53"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kpeople/2c372b00d03603a893a5f664f8e5346d58119948"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KPlotting"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kplotting"&gt;KPlotting&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kplotting/27515b3843576a8f59b3143d1b1927ac432a7714"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KPTY"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kpty"&gt;KPTY&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kpty/2e50c36aa8db7cec3c58c4b200e7a977a33de70e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KQuickCharts"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kquickcharts"&gt;KQuickCharts&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;LegendDelegate: Force name to be plain text. &lt;a target="_blank" href="https://commits.kde.org/kquickcharts/7887772cb98ab237af7ccb4229bb7f5f7b209b94"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KRunner"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/krunner"&gt;KRunner&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;AbstractRunnerTest: Utilize std::make_unique rather than calling .reset. &lt;a target="_blank" href="https://commits.kde.org/krunner/a50e7c143e17890012ac3e2142f520d6ef1ed213"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Port away from deprecated QSortFilterProxyModel::invalidateFilter. &lt;a target="_blank" href="https://commits.kde.org/krunner/e0798e08fdc9415e0832f004d1ec4eb994d0dd30"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/krunner/78be96a7ca1aa56ef52d9476cc4018369412902b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KService"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kservice"&gt;KService&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kservice/ab3913c72904d34a89ca7c3c47217a1ac5a23c35"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Keep the shortest inheritance level when merging duplicate offers. &lt;a target="_blank" href="https://commits.kde.org/kservice/9e9f4de626cabb801c08f326cf8af7d1c21ebec5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KStatusNotifieritem"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kstatusnotifieritem"&gt;KStatusNotifieritem&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kstatusnotifieritem/9491500f16952a3ccf32c5a97af7af3f42274f16"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove unimplemented method + not existing forward declaration. &lt;a target="_blank" href="https://commits.kde.org/kstatusnotifieritem/c958750aa78921968f1ecf5f2f1415c46d007849"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KSVG"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/ksvg"&gt;KSVG&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/ksvg/99677728d952b5cf56843d5ea20f31be3174f183"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KTextEditor"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/ktexteditor"&gt;KTextEditor&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Autotests: Verify when opening test files. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/17d1cc056d1a956ae3659e9d03ae006b098c9b71"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vi-mode: Allow numpad digits to be used as count. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/c54823e55d05ec4bb60a4721d439f795cdefd750"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;.kde-ci.yml - use run-installed-library-check-on with platform list. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/ece6f27c557636563fd0d4aae675ee73149234c1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Keep m_cursor &amp;amp; m_displayCursor better in sync. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/4c3c390bc40c978247aee003e98c9dada9957099"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525170"&gt;#525170&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A11y: Fix text boundary offsets. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/8b47766b6bf3405de65f68400612b91627d02271"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/523883"&gt;#523883&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vi-mode: Add binary format to addition commands. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/40054f595207bb57405d746bd284989a45101df6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vi-mode: Fix behavior of operation commands on numbers. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/ad1376d02b1c81a0d079b5104ffc475c8ccefda1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vi-mode: Implement addition/substraction commands for visual modes. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/8a8e857113909122c0e85db7affa27082ffcc7f0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ensure we do some initial reload if we just enabled auto reload in the prompt. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/5aa7c9a2afdcd5070123068261f06964a6877c5a"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/524241"&gt;#524241&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Move color theme selector to 'View' as that is view local. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/e05427528407321947cb83b4783c94c083053957"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/518920"&gt;#518920&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/24f63ba1dbff9440df0c2191a29afb27e2c35d89"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vi-mode: Fix motion for the backspace key. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/f7859f0a14d542b676bdef0ef4edb10d36d498db"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KateIconBorder: Fill the blank area at the end. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/6e92823aacae339eaa6afd2aa3d0e87222a86778"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Escape file path before using it as error text. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/5755b8021e297d796960e87232ddcf2e6bdb7edf"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add missing &lt;vector&gt; include. &lt;a target="_blank" href="https://commits.kde.org/ktexteditor/c7e178fa4141861c4d7af934e51deb7695bfb5da"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KTextTemplate"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/ktexttemplate"&gt;KTextTemplate&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/ktexttemplate/2c54e8bb3cb83604fe85f71c444e97acd9a65454"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KTextWidgets"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/ktextwidgets"&gt;KTextWidgets&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/ktextwidgets/094d0534221a6d40302e53e1858fae1dc564e388"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KUnitConversion"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kunitconversion"&gt;KUnitConversion&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kunitconversion/53b6e895c16a858cade3d031e783b1ca4b199391"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CMake config file: add missing dep checks for static builds. &lt;a target="_blank" href="https://commits.kde.org/kunitconversion/9a0fc46b9ec1913b3654efbfacebf98737f1f115"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix typos. &lt;a target="_blank" href="https://commits.kde.org/kunitconversion/2d33292035dfc763f300d93c5fc5a88c968ec59c"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KUserFeedback"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kuserfeedback"&gt;KUserFeedback&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kuserfeedback/4c3be9bf848aefef255215afeb9865acb5111203"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KWallet"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kwallet"&gt;KWallet&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kwallet/8751b7e33efcccb232b53bf3ed2cee94c28f9bd9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Rename setter for clarity. &lt;a target="_blank" href="https://commits.kde.org/kwallet/b1667ace834affb1996b7d077abbdc807bb00961"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use enum instead of int in function signature. &lt;a target="_blank" href="https://commits.kde.org/kwallet/e3473b0cf4a17c6b8a286ee2f83cc2ad4d9a702b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Drop unused entryUpdated signal. &lt;a target="_blank" href="https://commits.kde.org/kwallet/407b1998d5a80038bef729fadaa110209cd4feb3"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Don't call emitEntryUpdated in writePassword. &lt;a target="_blank" href="https://commits.kde.org/kwallet/238e0292c2cb3719ae57a005efd05047856b9546"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Drop redundant writeEntry function. &lt;a target="_blank" href="https://commits.kde.org/kwallet/2ae323c8d2546fd78ee7ebf550d0d9ea52e6819d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Preserve entry type in setLabel. &lt;a target="_blank" href="https://commits.kde.org/kwallet/c8eff4b3dfbbd9e31d23f16ecf41bd0999592b28"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Remove unneeded null check in internalClose. &lt;a target="_blank" href="https://commits.kde.org/kwallet/1160c680e79f87acb9572ec2cab464800a9bdf3b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Use find_if in KSecretD::findWallet. &lt;a target="_blank" href="https://commits.kde.org/kwallet/e88936ede396311a497682fd27d81ecf50e71d3b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Simplify destruction. &lt;a target="_blank" href="https://commits.kde.org/kwallet/5c88a120846b09def8e4c4862a5abbe2b7a967f1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Drop KWalletTransaction::OpenFail. &lt;a target="_blank" href="https://commits.kde.org/kwallet/b6408175f3b6d56f158cc685fc95f3c743a5c98b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Manage KWalletTransaction as move-only type. &lt;a target="_blank" href="https://commits.kde.org/kwallet/aa3aae4500b26619665bd88f3a88d63625117da7"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Use QScopedValueRollback. &lt;a target="_blank" href="https://commits.kde.org/kwallet/6279b4eeb33e6e5969ccb58c6e46e8489b7ed18d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Remove empty KWalletTransaction dtor definition. &lt;a target="_blank" href="https://commits.kde.org/kwallet/59d4183795470399ed11a3fd745198e0a741e5fc"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Drop Unknown transaction type. &lt;a target="_blank" href="https://commits.kde.org/kwallet/349a543c5d984eb9f8099b83c54a2bf731a0e6e5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Drop dead code in transaction handling. &lt;a target="_blank" href="https://commits.kde.org/kwallet/df129bc2e12181e911eab414c3eba0127b68d575"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Use QFuture for changing password. &lt;a target="_blank" href="https://commits.kde.org/kwallet/d9e5a34be9f0a13ed6146406842c650d4b5a20d4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ksecretd: Use QFuture for opening the wallet. &lt;a target="_blank" href="https://commits.kde.org/kwallet/88cd091601586dc29edd2b1c8fcf8e9032eff540"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KWidgetsAddons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kwidgetsaddons"&gt;KWidgetsAddons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;KActionMenuTest::testActionMenu: fix leaking util widget instance. &lt;a target="_blank" href="https://commits.kde.org/kwidgetsaddons/5d6eb7588c500c23f89f0b06022116f8e19d7985"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KDatePickerTest/KDateComboBoxTest: use QTest's static initMain() utility. &lt;a target="_blank" href="https://commits.kde.org/kwidgetsaddons/6666882f8b941abf03117bf8072a39c563a1470a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kwidgetsaddons/2d966cfa5ecb7f396a81d4cc402efacbc2c91b91"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KCharSelectData::openDataFile: Check open succeeds. &lt;a target="_blank" href="https://commits.kde.org/kwidgetsaddons/614eff33637f21f1d68b5c447626191f6a87deeb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KWindowSystem"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kwindowsystem"&gt;KWindowSystem&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kwindowsystem/b078fffb7d70f434f8eee22f866f6c4b133df344"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="KXMLGUI"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/kxmlgui"&gt;KXMLGUI&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Kxmlguiwindow: don't hardcode bug report address. &lt;a target="_blank" href="https://commits.kde.org/kxmlgui/7084fc92af584b727af02a29759582d5d9be53b8"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Only add noMerge to the menu if we're really saving a merged menu. &lt;a target="_blank" href="https://commits.kde.org/kxmlgui/786687a02a352f71167622bab9567fc6d404b941"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/kxmlgui/0f32aacffcecc412e62944936f22c0a2aa50ac85"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Modem Manager Qt"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/modemmanager-qt"&gt;Modem Manager Qt&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Fix since version in documentation. &lt;a target="_blank" href="https://commits.kde.org/modemmanager-qt/d83b39474bae44dda0a7e4264477341bf36fe31b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update manager interface to latest MM API. &lt;a target="_blank" href="https://commits.kde.org/modemmanager-qt/feeef1f6d7b50e9f92001f8a9d1a808ea69cd52d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/modemmanager-qt/2d7d6df9277c8a6cef4969a3ab8c37a007cf4336"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Network Manager Qt"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/networkmanager-qt"&gt;Network Manager Qt&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/networkmanager-qt/41c402d340caf8a786a8d1398893c9e6f808570b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Oxygen Icons"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/oxygen-icons"&gt;Oxygen Icons&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;48x48 and 64x64 versions of the koko app icon. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/ff66cdd24c4883f18750c99d8ef25230e242d1df"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add scalable svgz variant of koko icon. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/11ab46615a7819b26467cc92f91af08d5ef6d827"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add koko icon. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/c0c71a179bfa42f8c5ceee9b12f4f959abd81595"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Initial experiment on plasma-studio icon. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/c53f252410caf891cfb398db653ef10399e65dfa"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Improved version. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/4da61786cbbe2520a0667836642fbc1e9db5014b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix missing fill:none on zeal-tray symbolic icon. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/deca437c9d7d6fc7ee3532f7b63de381c9819ce5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix hardcoded black stroke color in disk/drive 32x32 symbolic icons. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/53fb5cefe2ce6ec9b70d1a1332eb48194c71ff41"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;New icons. &lt;a target="_blank" href="https://commits.kde.org/oxygen-icons/f1c5d5c25ee3a03f7aa1dfabf47661709a5b55fb"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Prison"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/prison"&gt;Prison&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/prison/8f3d36f488f6efbf41009347502a43b466a08042"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add separate CMake config file for KF6PrisonScanner. &lt;a target="_blank" href="https://commits.kde.org/prison/ab1fca236ff7980b9dcb2ca077fa3385a212fd64"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Purpose"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/purpose"&gt;Purpose&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;JobDialog: Fix translation call when cancelling. &lt;a target="_blank" href="https://commits.kde.org/purpose/504327ae9f45390a8d089c1c5fe1dc14fe9be7aa"&gt;Commit.&lt;/a&gt; See bug &lt;a target="_blank" href="https://bugs.kde.org/525866"&gt;#525866&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/purpose/f8d717630f3ec860f64ed5029a962c52c3282b3f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Plugins/bluetooth: Escape html. &lt;a target="_blank" href="https://commits.kde.org/purpose/fad1e62b43b0b783d833378ed89513365b32cc1d"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="QQC2 Desktop Style"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/qqc2-desktop-style"&gt;QQC2 Desktop Style&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Add DoubleSpinBox. &lt;a target="_blank" href="https://commits.kde.org/qqc2-desktop-style/dccdb6399e6df6aa0a4389b48c3425aec6104b30"&gt;Commit.&lt;/a&gt; Fixes bug &lt;a target="_blank" href="https://bugs.kde.org/526008"&gt;#526008&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Solid"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/solid"&gt;Solid&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/solid/67a2cef11590bbdf91a12d9bf70e2bab088ed3a6"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Always check that we don't pass a nullptr to CFRelease. &lt;a target="_blank" href="https://commits.kde.org/solid/4e9eab908ce94423b50f9b8cf877f7fe4515fc1f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Sonnet"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/sonnet"&gt;Sonnet&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Core/Settings: Make a few functions invokable. &lt;a target="_blank" href="https://commits.kde.org/sonnet/506c4fc34676b19841a219fc5cbea6774dce59c8"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/sonnet/3750a0d3b550e1c8fd05f89db5af0342d976663a"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Syndication"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/syndication"&gt;Syndication&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/syndication/0136f8cdb01e3259866465541fe43adbcc72e6b1"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Syntax Highlighting"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting"&gt;Syntax Highlighting&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Perl: Missing operators, fix END section, operators style, heredoc languages, POD fix. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/ac8eb1176b86c95f85f4c69e9a77a8a87cc18e68"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Systemd unit: update to systemd v262. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/c28970cb3462ce61eea50453a3a711b35c95da63"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/95c6a33e08e999900f2d6630dde22b19008393be"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: prefer 'Parameter Expansion Operator' to 'Control' for ',' in subscript (i.e. $foo[1,2]). &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/edca189f58ee032bdcce04d18d7fd56c85e97e0e"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: remove identical contexts or replaces rules with &lt;IncludeRules/&gt;. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/ffe1652c5c301d4b79061534350664272ca47c1b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix some forms of floating number using separator. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/800c41b0dd2780ca057aa0361ce244d503466cb9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: use Base style for anything that refers to base change and BaseN for associated numbers. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/9848c8f4e9cab31b843c266f2437d3d0046fb8c0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: use 'Replacement String' style in $&amp;#123;foo/patt/rep}. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/f7d20d8d62d0d8744a09015c7dd56ccfa1fa3749"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: glob: enclosed characters: fix ']', '-' and '!' at the beginning of the pattern. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/58eceaaa4c687a6ce791f506d4508972d4d73464"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: replace ' &amp;amp;tab;' with '&amp;amp;ws;' entity. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/021d070ce922e5eaa74c64909af9d20f1b4bf071"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix subscripting expansion followed by modifier (i.e. $&amp;#123;s:1:4:h}). &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/3443e4225156a9d15054f8bea2870c19a60da0a4"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: glob modifier: add :f, :F, :w and :W ; :s behaves like with brace parameter. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/141d905ed7d7b44c601fba2389394e5f201abcac"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: add f, F, w and W modifiers with variable when braces are absent. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/98e1cfa5012c00004e63e03529b73edf9efc9d3f"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: remove :x and :&amp;amp; modifier with variable when braces are absent. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/ea488c1bb7b7021ae7549cbb41c30c13162f7cbc"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix :s modifier with variable when braces are absent. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/9577978d22aad2594097513fa0ba7618240a6364"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix subscript chain with variable when braces are absent, the second and subsequent ones are patterns. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/1bd0846261b173f4e777d390e91a4d9ddd281507"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: remove VarNameParam+ context and replace its use with VarNameSubstLen. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/afcbb3a1d2184d1eaa4ee3140fadb1b8b38f0895"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: add brace command substitution of zsh-5.10: &lt;code&gt;$&amp;#123; cmd }&lt;/code&gt;, &lt;code&gt;$&amp;#123;|cmd}&lt;/code&gt; and &lt;code&gt;$&amp;#123;&amp;#123;param} cmd}&lt;/code&gt;. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/af0b8a8155bc151559a4566ed85a110e398c84d5"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: add &lt;code&gt;$[...]&lt;/code&gt; equivalent to arithmetic expansion &lt;code&gt;$((...))&lt;/code&gt;. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/7f3b47f5ccfa534534bbe9895e9da07f120e29a9"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix subscript and variable substring. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/650bebdf93b1cc9ff491d6c40bd9ace8f2387e41"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix glob subscript after modifier when braces are absent (i.e. $x:h[...]). &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/68796efcb178263113b70fcb0e7854095494333b"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix digits after modifiers h and t when braces are absent (i.e. $foo:h3). &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/41e95dc638cb330c5cb5cdf7b50950827425d355"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zsh: fix value of character in arithmetic context (i.e. ##c and #word). &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/389cc49c290b753b8689167bc45d379faec961d2"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use offscreen plugin for the one UI test. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/22ade4431aeef8344506ecbfce3a46d6aeff6567"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add LRC Lyrics syntax highlighting. &lt;a target="_blank" href="https://commits.kde.org/syntax-highlighting/f37945b0850af3398269463c0eef944fc0e8de18"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details open="true" id="Threadweaver"&gt;
&lt;summary class="h4"&gt;&lt;a target="_blank" href="https://commits.kde.org/threadweaver"&gt;Threadweaver&lt;/a&gt;&lt;/summary&gt;&lt;ul&gt;
&lt;li&gt;Use ECMInstalledLibraryCheck. &lt;a target="_blank" href="https://commits.kde.org/threadweaver/c5f60d39bf206137520ae0ad34dbe35400cd1bb0"&gt;Commit.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;</description><author>KDE Community</author></item><item><title>Introducing the QML Live Preview MCP Tool for Agentic Development of Embedded Devices</title><link>https://www.qt.io/blog/introducing-the-qml-live-preview-mcp-tool-for-agentic-development-of-embedded-devices</link><pubDate>Thu, 08 Oct 2026 11:34:35 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/introducing-the-qml-live-preview-mcp-tool-for-agentic-development-of-embedded-devices</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/introducing-the-qml-live-preview-mcp-tool-for-agentic-development-of-embedded-devices?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/QMLPreviewMCP%20Hero%20Image.png" alt="Introducing the QML Live Preview MCP Tool for Agentic Development of Embedded Devices" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt;
&lt;/div&gt;
&lt;h2 style="color: #0f4761;"&gt;Agents Edit QML, But Don’t See the Result Without Building, Compiling, and Running&lt;/h2&gt;
&lt;p&gt;AI agents can make many UI changes in a single iteration. AI agents edit files, maybe run a build, and then report success. Every change can costs a full rebuild and relaunch, or it goes unchecked by the developer. Qt's QML Live Preview MCP tool makes autonomous AI agent work transparent for the developer at a low token expense: it runs the app and hot reloads changed QML files, without a rebuild and without a restart.&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fintroducing-the-qml-live-preview-mcp-tool-for-agentic-development-of-embedded-devices&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>KDE Gear 26.08.2</title><link>https://kde.org/announcements/gear/26.08.2/</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://kde.org/announcements/gear/26.08.2/</guid><description>&lt;p&gt;Over 180 individual applications plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.&lt;/p&gt;
&lt;p&gt;Today they all get new bugfix source releases with updated translations, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kdev-python: Fix undefined behavior in popExpression() (&lt;a target="_blank" href="https://commits.kde.org/kdev-python/7cadd08078f655566cca72fbc7c373d82a214124"&gt;Commit&lt;/a&gt;, fixes bugs &lt;a target="_blank" href="https://bugs.kde.org/525418"&gt;#525418&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;kmail: Fix a crash when sending signed email (&lt;a target="_blank" href="https://commits.kde.org/messagelib/9ebf00bc8d368aa0147d20524ad51fc7b757a775"&gt;Commit&lt;/a&gt;, fixes bugs &lt;a target="_blank" href="https://bugs.kde.org/525868"&gt;#525868&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plasmatube: Fix protocol being chopped off urls (&lt;a target="_blank" href="https://commits.kde.org/plasmatube/2056027bd4640fe7fd92e306425362729a60f0a1"&gt;Commit&lt;/a&gt;, fixes bug &lt;a target="_blank" href="https://bugs.kde.org/525299"&gt;#525299&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Distro and app store packagers should update their application packages.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="https://community.kde.org/KDE_Gear/26.08_Release_notes"&gt;26.08 release notes&lt;/a&gt; for information on tarballs and known issues.&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="https://community.kde.org/Get_KDE_Software_on_Your_Linux_Distro"&gt;Package download wiki page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="https://kde.org/info/releases-26.08.2/"&gt;26.08.2 source info page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="https://kde.org/announcements/changelogs/gear/26.08.2/"&gt;26.08.2 full changelog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><author>KDE Community</author></item><item><title>Qt for MCUs 2.12.3 LTS Released</title><link>https://www.qt.io/blog/qt-for-mcus-2.12.3-lts-released</link><pubDate>Wed, 07 Oct 2026 12:00:01 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-for-mcus-2.12.3-lts-released</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/qt-for-mcus-2.12.3-lts-released?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/Screenshot%202026-10-07%20at%2011.13.19.png" alt="Qt for MCUs 2.12.3 LTS Released" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Qt for MCUs 2.12.3 LTS has been released and is available for download.&lt;span&gt; This patch release provides several bug fixes and other improvements while maintaining source compatibility with Qt for MCUs 2.12 (see &lt;a target="_blank" href="https://www.qt.io/blog/qt-for-mcus-2.12-lts-released?hsLang=en"&gt;Qt for MCUs 2.12 LTS released&lt;/a&gt;). This patch release is stability and user workflow focused and does not add any new functionality.&lt;/span&gt;&lt;span&gt; Below are some highlights of the improvements introduced. A comprehensive list of changes can be found &lt;a target="_blank" href="https://doc.qt.io/QtForMCUs/qtul-changes.html#qt-for-mcus-v2-12-3"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fqt-for-mcus-2.12.3-lts-released&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>From Figma to Qt: A Comparison Between Manual and Assisted Workflows</title><link>https://www.qt.io/blog/from-figma-to-qt-a-comparison-between-manual-and-assisted-workflows</link><pubDate>Tue, 06 Oct 2026 12:29:47 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/from-figma-to-qt-a-comparison-between-manual-and-assisted-workflows</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/from-figma-to-qt-a-comparison-between-manual-and-assisted-workflows?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/Figma-to-Qt-UXDivers-study-thumbnail.png" alt="The cover of the whitepaper by UXDivers introducing the results of the Figma to Qt study." class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We know that one of the biggest challenges for embedded UI/UX designers is to see their design vision through to the final product. That’s why earlier this year, we launched &lt;a target="_blank" href="https://www.qt.io/development/gui-design-figma?hsLang=en"&gt;Figma to Qt:&lt;/a&gt; a plug-in that helps designers craft, preview, verify, and approve Qt applications without ever leaving Figma.&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Ffrom-figma-to-qt-a-comparison-between-manual-and-assisted-workflows&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>My Notes from Akademy 2026</title><link>https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/</guid><description>&lt;p&gt;Writing this blog today feels a bit unreal. Six months ago, if you had told me I'd be attending Akademy in-person, 3000 miles from home - I probably wouldn't have believed you. And yet, here we are.&lt;/p&gt;
&lt;p&gt;So I attended Akademy 2026, in Graz - and my experience was truly remarkable. I learnt a lot about the KDE Community, met some amazing people and returned with a fresh boost of motivation to keep contributing to the KDE Community! It also happened to be my first trip to Europe, and it really lived up to the expectations!&lt;/p&gt;
&lt;h3 id="the-conference"&gt;The Conference&lt;/h3&gt;
&lt;figure&gt;
&lt;img class="img-fluid" src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/akademy.webp"
style="max-width: 100%; height: auto"
/&gt;
&lt;/figure&gt;
&lt;p&gt;The talks were fun &amp;amp; informative and gave us a chance to catch up with everything going on in the community, which happens to be quite vast. Some talks went deep into technical aspects, some gave us rapid fire project updates, some discussed future plans and goals, whereas some were about the community and its values. The new KDE goals were also revealed, which was cool to witness live!&lt;/p&gt;
&lt;p&gt;Out of all, some talks really stood out to me, including the one on desktop UX by Scott Jenson, KaDAI by Eva Brucherseifer
&amp;amp; Jan Mühlig, and the history of KDE code by Cornelius Schumacher.&lt;/p&gt;
&lt;p&gt;But what was more interesting were the many conversations, short and long, that happened with various people. It was also a pleasure to finally meet my SoK mentor, Carl Schwan in person! It was fun meeting some experienced people from the community, including Lydia, Bhushan, Aniqa, Richard Gustavsen from Qt, Áron and many more!&lt;/p&gt;
&lt;h3 id="everything-else"&gt;Everything Else&lt;/h3&gt;
&lt;p&gt;With how beautiful Austria is, whatever time we had to explore felt too little. Still, we managed to see around Graz, Vienna, Hallstatt and Riegersburg. Cycling around Graz was really fun, especially in the mountainous outskirts. Vienna and its buildings were as grand as one would imagine. The Graz old town was also quite happening and picturesque. Hallstatt (albeit really cold) was absolutely beautiful and pristine. Riegersburg offered a glimpse into rural Austria and the Zotter chocolate factory.&lt;/p&gt;
&lt;p&gt;Apart from the conference there were some other fun events also part of Akademy, including the welcome event, KDE's 30th birthday party and a day trip.&lt;/p&gt;
&lt;p&gt;Here are some of my best clicks from the trip :)&lt;/p&gt;
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;div class="swiper-slide swiper-slide-active"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/1.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/2.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/3.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/4.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/5.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/6.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/06/my-notes-from-akademy-2026/7.webp" alt="Screenshot of &amp;lt;nil&amp;gt;" lazy class="rounded"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;p&gt;I am really grateful to the KDE e.V. for sponsoring my trip, without which it wouldn't have been possible! Also, huge shoutout to my companions and new found friends - Srisharan V. S., Tushar Gupta, Ansh Singhal and Ojas Maheshwari :)&lt;/p&gt;
&lt;p&gt;Looking forward to working with the community and making this my first Akademy of many more to come!&lt;/p&gt;</description><author>Siddharth Chopra</author></item><item><title>2026-10-05 Fossy Camp KDE</title><link>https://sfalken.tech/posts/2026-10-05-fossy-kde/</link><pubDate>Mon, 05 Oct 2026 14:19:57 +0000</pubDate><guid isPermaLink="true">https://sfalken.tech/posts/2026-10-05-fossy-kde/</guid><description>&lt;h1 id="camp-kde-at-fossy-2026-vancouver-edition"&gt;Camp KDE at FOSSY 2026: Vancouver Edition&lt;/h1&gt;
&lt;p&gt;I just got to writing this blog post, regarding FOSSY 2026 in Vancouver, where I co-ran the Camp KDE track, gave a talk, sat on a panel, and spent a decent chunk of the weekend standing behind a table full of stickers. Here&amp;rsquo;s how it went.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://sfalken.tech/img/2026-10-05/PXL_20260809_201224507.jpg"
alt="The Camp KDE booth at FOSSY 2026 with everyone who helped out"/&gt; &lt;figcaption&gt;
&lt;p&gt;The Camp KDE booth at FOSSY 2026 with everyone who helped out&lt;/p&gt;</description><author>Shawn W Dunn</author></item><item><title>Celebrating 30 years of KDE at Akademy 2026</title><link>https://www.qt.io/blog/celebrating-30-years-of-kde-at-akademy-2026</link><pubDate>Mon, 05 Oct 2026 08:53:56 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/celebrating-30-years-of-kde-at-akademy-2026</guid><description>&lt;p&gt;&lt;span style="line-height: 25.575px;"&gt;Two weeks ago, several of us from Qt Group travelled to Graz for Akademy 2026, KDE's annual summit. The conference was hosted by Graz University of Technology (TU Graz). This year’s conference was extra special: it marked KDE's 30th birthday. Happy birthday, KDE!&lt;/span&gt;&lt;span style="line-height: 25.575px;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fcelebrating-30-years-of-kde-at-akademy-2026&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>Figma to Qt 1.1: Test Design Live, Ship It Anywhere</title><link>https://www.qt.io/blog/figma-to-qt-1.1-test-design-live-ship-it-anywhere</link><pubDate>Mon, 05 Oct 2026 07:52:40 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/figma-to-qt-1.1-test-design-live-ship-it-anywhere</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/figma-to-qt-1.1-test-design-live-ship-it-anywhere?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/Figma%20to%20Qt%20Blog%20Header-1.png" alt="Figma to Qt 1.1:&amp;nbsp;Test Design Live, Ship It Anywhere" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt;
&lt;/div&gt;
&lt;p style="font-weight: bold;"&gt;Click, drag, and tweak your design in Live Preview before a developer builds it. Ship the same workflow to flagship touchscreens and microcontrollers. And get more of what you draw back as native QML.&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Ffigma-to-qt-1.1-test-design-live-ship-it-anywhere&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>A new initiative: Tagoross Circle of Practice</title><link>https://toscalix.com/2026/10/05/a-new-initiative-tagoross-circle-of-practice/</link><pubDate>Mon, 05 Oct 2026 07:00:00 +0000</pubDate><guid isPermaLink="true">http://toscalix.com/?p=3328</guid><description>I introduce Tagoross Circle of Practice, a safe harbor environment for professionals moving their organizations from reactive open source risk management to open source as strategy. In this post I explain why I created it and where it stands today.</description><author>Agustín Benito Bethencourt</author></item><item><title>Harmonicon's song editor, explained with one song about a jumping harmonica</title><link>https://tcanabrava.github.io/harmonicon-song-editor/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://tcanabrava.github.io/harmonicon-song-editor/</guid><description>&lt;p&gt;This one is about the song editor. Harmonicon has a song editor, it’s had one
for a while, I just never sat down and explained what all the little buttons
do, and there are a lot of little buttons. The game says four hundred and
thirty one, but most of those are notes pretending to be buttons, so it’s less
than that.&lt;/p&gt;
&lt;p&gt;So I’m going to load a song into it and walk around the screen.&lt;/p&gt;
&lt;h2 id="the-song"&gt;The song&lt;/h2&gt;
&lt;p&gt;The song is O Pulo da Gaita, or “The harmonica’s jump” in english.
It’s a folk theme from the Northeast of Brazil, people know it from “O Auto da
Compadecida”, and the Northeast is where I’m from, Salvador, so I’m a bit
biased.&lt;/p&gt;
&lt;p&gt;It’s a good song to show the editor with because it’s busy without being
hard. Two hundred and thirty nine notes in a bit over a minute, on a C
diatonic, in 2/4, at 100 bpm, and eighteen of those notes are bends. And the
whole tune hangs on one move: you bend the 3 draw down half a step and then let
it go, back up to the plain B. Bend, release. Remember that, it comes back.&lt;/p&gt;
&lt;h2 id="the-whole-screen"&gt;The whole screen&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-overview.png" alt="The song editor with O Pulo da Gaita loaded: a tool sidebar on the left, the note grid in the middle with one lane per harmonica hole, and a music staff underneath" /&gt;&lt;/p&gt;
&lt;p&gt;There are three things on this screen, and once you know that it stops being
four hundred and thirty one things.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Down the left&lt;/strong&gt; there’s the sidebar, which is two columns. The left column is
about the song and the tools: going back, the Edit / Record / Play modes, the
lock, undo and redo, copy and paste, the tools for selecting and erasing ranges
of time, tempo and meter changes, repeats and endings, the metronome, the
legend, save and load. The right column is about &lt;em&gt;the note&lt;/em&gt;. The one you have
selected, or if you have nothing selected, the next one you’re going to place.
Blow or draw, bend, overblow, overdraw, wah, vibrato and how deep, call and
response, split, the phrase editor, delete. So the left column is “what am I
doing” and the right column is “to which note”.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In the middle&lt;/strong&gt; is the grid. One lane per hole, ten of them because it’s a
ten hole harmonica, numbered down the side. Time goes left to right, and along
the top there’s the ruler, counting bars and beats. This song is in 2/4, so
the ruler goes “1 &amp;amp; 2 &amp;amp;” and then starts a new bar. Every note is a little
block on the lane of the hole you play it on, with an arrow on it, up for blow,
down for draw.&lt;/p&gt;
&lt;p&gt;Under the last lane there’s a thin strip that says Silence, which shows the gaps
between notes so you can spot a rest you didn’t mean. And under &lt;em&gt;that&lt;/em&gt; there’s a
scrollbar that’s also a tiny map of the whole song, every note drawn as a
coloured speck, with a gold bit showing where you’re looking right now. In this
screenshot the gold bit is about a fifth of the way along, so the song is
roughly five screens long.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Along the bottom&lt;/strong&gt; is a music staff, the same notes as sheet music. It
follows the grid when you scroll, so you can read it as a harmonica player
(holes and arrows) or as a musician (dots on lines), or both.&lt;/p&gt;
&lt;h2 id="colours-and-how-i-got-them-wrong"&gt;Colours, and how I got them wrong&lt;/h2&gt;
&lt;p&gt;Now look at hole 3 in that first screenshot. There’s a blue one, then an orange
one, then a sort of mauve one, and then another blue. And I looked at that and
I thought, the mauve one is the bend, and I wrote a paragraph about it.&lt;/p&gt;
&lt;p&gt;Then I opened the Details tab, which has the colour legend in it, and the
legend said: orange is the bend. Deeper bends get redder. And the mauve isn’t a
technique at all, it’s a red &lt;em&gt;tint&lt;/em&gt;, and it means “this note is outside the
song’s scale”.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-bend-closeup.png" alt="Close-up of the first bars: on hole 3, an orange bent draw note followed by a mauve plain draw note with a gold selection border and two round drag handles" /&gt;&lt;/p&gt;
&lt;p&gt;So that’s the bend and the release, right there. The orange one is the 3 draw
bent down half a step. The mauve one is the 3 draw let go, back up to B, and B
gets the tint because the editor is checking every note against a blues scale
on C, and there’s no B in it. It’s not an error, it’s just the editor pointing
it out. The tune does it on purpose, fifteen times, I counted: fifteen bends on
the 3 draw, fifteen releases. The other three bends, to make up the eighteen,
are on the 2 draw, down at the end, where the song answers itself.&lt;/p&gt;
&lt;p&gt;And the same two notes show up again in bar 3. And again later. Bend, release.&lt;/p&gt;
&lt;h2 id="picking-a-note"&gt;Picking a note&lt;/h2&gt;
&lt;p&gt;In that close-up I’ve got the mauve one selected. A selected note gets a gold
border and two little round handles, one on each end, and you drag those to
make the note longer or shorter. Drag the middle of it and it moves. Click it
and you hear it, the editor plays a short blip of exactly that note, bend and
all, so you can check a bend sounds like a bend without picking up the
harmonica.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-selected-note.png" alt="The editor with one note selected: the note on the grid has a gold border, the matching note on the staff below is drawn in gold, and the Draw button in the sidebar is lit" /&gt;&lt;/p&gt;
&lt;p&gt;The other thing selecting does is it goes and finds the note on the staff and
paints it gold too, so you can see where you are in the actual music. And the
right column of the sidebar lights up Draw, because that’s what the note is.
Click Blow and it would turn into a blow note.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-staff-closeup.png" alt="Close-up of the staff: the notation for the opening bars, with the selected note drawn in gold" /&gt;&lt;/p&gt;
&lt;h2 id="phrases"&gt;Phrases&lt;/h2&gt;
&lt;p&gt;Up in the header, above the lanes, there are these gold labels, “§ A” at the
start and “§ A again” at bar 9. Those are phrase markers, and you can click one
and it opens a little panel right there.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-phrase-panel.png" alt="The phrase panel open at bar 9, titled “Phrase at 9.1”, with Section filled in as “A again” and empty Chord, Groove and Lyric fields" /&gt;&lt;/p&gt;
&lt;p&gt;Section is the name of the bit of the song. Chord is the chord under it, if you
want the player to know. Groove is how it should feel, something like “laid
back”, in words, for humans. And Lyric is the syllable that’s sung when those
notes start, which then shows up karaoke style during the game. This chart
doesn’t have chords or lyrics filled in yet, which is why those three boxes are
empty.&lt;/p&gt;
&lt;h2 id="details"&gt;Details&lt;/h2&gt;
&lt;p&gt;The other tab is Details, and it’s where the song keeps its paperwork.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tcanabrava.github.io/harmonicon-song-editor/editor-details.png" alt="The Details tab: song metadata on the left, scoring and loop settings in the middle, and the full colour legend on the right" /&gt;&lt;/p&gt;
&lt;p&gt;On the left there’s everything about the song itself: the harmonica type, the
key (C), the position (1st), the tempo (100), the grid snap, who wrote it
(Traditional), the genre, the difficulty, where the transcription came from,
and the licence. In the middle there’s how strict the game is when it scores
you: how many milliseconds count as perfect, as good, as a miss, how the combo
multiplier works, and which phrases loop. And on the right is the legend, which
I should have read first.&lt;/p&gt;
&lt;p&gt;The status line at the bottom says where the chart was loaded from.&lt;/p&gt;
&lt;p&gt;So that’s the editor. Three parts, two tabs, one legend, and a song that bends
the 3 draw and lets it go, and bends it and lets it go. You can play it, it’s in
the song pack, and it’s on &lt;a rel="external" target="_blank" href="https://github.com/tcanabrava/harmonicon"&gt;GitHub&lt;/a&gt;
with everything else.&lt;/p&gt;
&lt;p&gt;Bend, release.&lt;/p&gt;</description><author>Tomaz Canabrava</author></item><item><title>Akademy 2026 in Graz</title><link>https://carlschwan.eu/2026/10/03/akademy-2026-in-graz/</link><pubDate>Sat, 03 Oct 2026 15:05:00 +0000</pubDate><guid isPermaLink="true">https://carlschwan.eu/2026/10/03/akademy-2026-in-graz/</guid><description>&lt;p&gt;Two weekends ago, I spent around 24 hours in a train to go to and back from Graz to
attend Akademy. This year was a bit special since we are celebrating the 30
years of KDE and this was also my first time attending as a member of the KDE
e.V. board.&lt;/p&gt;
&lt;p&gt;Unfortunately I could only attend the weekend as I was also expected at the
Nextcloud Community Conference in Berlin during the week.&lt;/p&gt;
&lt;p&gt;I attended a bunch of talks, one of my favorite was &lt;a class="link" target="_blank" href="https://media.ccc.de/v/kde2026-7-are_we_really_going_to_use_the_same_desktop_ux_forever" target="_blank" rel="noopener"
&gt;&amp;ldquo;Are we really going to
use the same Desktop UX forever?&amp;rdquo; from Scott
Jenson&lt;/a&gt;,
which I found super interesting and insightful. It really was a call for us to
try to innovate and experiment with new UX concepts and he proposed some
interesting directions, where we could be going. A good wake up call that now that macOS and Windows are not inventing anything anymore on the desktop we should be driving UX changes forward.&lt;/p&gt;
&lt;p&gt;I also very much liked the talk &lt;a class="link" target="_blank" href="https://media.ccc.de/v/kde2026-11-what_has_been_brewing_in_kde_pim_land" target="_blank" rel="noopener"
&gt;&amp;ldquo;What Has Been Brewing in KDE PIM Land?&amp;rdquo; from
Dominique Michel and arnaud
chirat&lt;/a&gt;.
As a fellow PIMster, it is great to see some real progress on fixing some
longstanding issue in the backend. It&amp;rsquo;s great to see the Sovereign Tech Agency
investing in this core technology. This also motivated me to spend some time on
improving Merkuro again (more on that in a separate post).&lt;/p&gt;
&lt;p&gt;Aside from that, as always it&amp;rsquo;s great to meet up with my fellow KDE developers,
share some drinks, exchange ideas or just catch up.&lt;/p&gt;
&lt;p&gt;On Saturday evening, I attended the sponsors dinner to discuss a bit with
our sponsors. Akademy is a free event to attend and we are very grateful about
companies sponsoring us to make it happen.&lt;/p&gt;
&lt;p&gt;Sunday morning, I went for a short stroll across the city, because while I was
only staying for the weekend, I still wanted to discover Graz at least a bit.&lt;/p&gt;
&lt;section class="swiper d-flex mb-5" aria-label="" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;div class="swiper-slide swiper-slide-active"&gt;
&lt;img src="https://carlschwan.eu/photography/2026-graz/DSCF9033.JPG" alt="The famous clock tower of graz" lazy class="rounded swipe-img"&gt;
&lt;figcaption&gt;The famous clock tower of graz&lt;/figcaption&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://carlschwan.eu/photography/2026-graz/DSCF9089.jpg" alt="Music" lazy class="rounded swipe-img"&gt;
&lt;figcaption&gt;Music&lt;/figcaption&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://carlschwan.eu/photography/2026-graz/DSCF9160.jpg" alt="Konqi" lazy class="rounded swipe-img"&gt;
&lt;figcaption&gt;Konqi&lt;/figcaption&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://carlschwan.eu/photography/2026-graz/IMG_20260924_105403.jpg" alt="View from Graz" lazy class="rounded swipe-img"&gt;
&lt;figcaption&gt;View from Graz&lt;/figcaption&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;</description><author>Carl Schwan</author></item><item><title>Kirigami Addons 1.15.0</title><link>https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/</link><pubDate>Sat, 03 Oct 2026 15:00:00 +0000</pubDate><guid isPermaLink="true">https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/</guid><description>&lt;p&gt;After a few weeks of work, I am happy to announce that Kirigami Addons 1.15.0
is out. Kirigami Addons is a collection of many useful modules for your QML and
Kirigami applications. I have been working more on Merkuro lately (more on that
in a separate blog post) and as always when working on an application, it is
also the occasion to improve Kirigami Addons even more :)&lt;/p&gt;
&lt;h2 id="formcard"&gt;FormCard&lt;/h2&gt;
&lt;p&gt;The FormCard module received a new component, &lt;code&gt;FormSliderDelegate&lt;/code&gt;, which is a
form delegate for sliders.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/slider.png" data-size="551x141"&gt;
&lt;img src="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/slider.png" width="551" height="141" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Another nice improvement in terms of usability is that &lt;code&gt;FormCard&lt;/code&gt; has a new
property, &lt;code&gt;autoSeparators&lt;/code&gt;, to automatically add and manage separators between
delegates. This allows simplifying some code and in particular code involving
&lt;code&gt;Repeater&lt;/code&gt;. Internally, the &lt;code&gt;AboutPage&lt;/code&gt; component already uses it.&lt;/p&gt;
&lt;p&gt;Speaking of &lt;code&gt;AboutPage&lt;/code&gt;, this component will now indicate when a new version
is available and no longer shows &amp;ldquo;unknown&amp;rdquo; as the distribution mechanism. Additionally,
the links now use &lt;code&gt;FormGridContainer&lt;/code&gt; and we fixed the sizing of its internal dialogs.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/aboutpage.png" data-size="670x698"&gt;
&lt;img src="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/aboutpage.png" width="670" height="698" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;In terms of mobile UI, &lt;code&gt;FormTextFieldDelegate&lt;/code&gt; and &lt;code&gt;FormPasswordFieldDelegate&lt;/code&gt; now have
a special mobile design where the text field is hidden until clicked. On top
of being a bit more compact, this also improves the input interaction and scrolling
on mobile.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/textfieldmobile.png" data-size="398x319"&gt;
&lt;img src="https://carlschwan.eu/2026/10/03/kirigami-addons-1.15.0/textfieldmobile.png" width="398" height="319" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;h2 id="date-and-time"&gt;Date and time&lt;/h2&gt;
&lt;p&gt;The date and time popup can now be reset when &lt;code&gt;resettable&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt;.
Before, you could only set a new value but not reset it to an unset state. This
is useful in Merkuro Contact, where we can unset a birthday or anniversary for a
contact.&lt;/p&gt;
&lt;p&gt;There are more changes planned around the date and time module, and I have a huge
pending merge request for using proper date and time objects instead of JS dates,
which should fix a lot of edge cases.&lt;/p&gt;
&lt;h2 id="kirigamiapp"&gt;KirigamiApp&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;KirigamiAppDefaults&lt;/code&gt; has a new &lt;code&gt;load()&lt;/code&gt; function. It loads your main QML
module and, if loading fails, shows the QML errors to the user instead of
silently exiting. On desktop the errors are displayed in a native message box,
and on Android a Qt Quick dialog is used so you don&amp;rsquo;t need to depend on Qt
Widgets. This makes debugging startup issues a lot easier, especially when
the application is launched outside of a terminal.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;QQmlApplicationEngine&lt;/span&gt; &lt;span class="n"&gt;engine&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;KLocalization&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;setupLocalizedContext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;engine&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;KirigamiAppDefaults&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.kde.myapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;u&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;engine&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;&amp;#123;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;EXIT_FAILURE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="documentation"&gt;Documentation&lt;/h2&gt;
&lt;p&gt;This release also includes various improvements to the
&lt;a class="link" target="_blank" href="https://api.kde.org/kirigami-addons-index.html" target="_blank" rel="noopener"
&gt;documentation&lt;/a&gt; with some
module overviews and cleanups of the existing documentation. For example, here are
the overview pages for the
&lt;a class="link" target="_blank" href="https://api.kde.org/org-kde-kirigamiaddons-formcard-qmlmodule.html" target="_blank" rel="noopener"
&gt;formcard&lt;/a&gt;,
&lt;a class="link" target="_blank" href="https://api.kde.org/org-kde-kirigamiaddons-actions-qmlmodule.html" target="_blank" rel="noopener"
&gt;actions&lt;/a&gt; and
&lt;a class="link" target="_blank" href="https://api.kde.org/org-kde-kirigamiaddons-settings-qmlmodule.html" target="_blank" rel="noopener"
&gt;settings&lt;/a&gt; modules.&lt;/p&gt;
&lt;p&gt;We also updated the application templates provided by Kirigami Addons to be up
to date with the best practices.&lt;/p&gt;
&lt;h2 id="packager-section"&gt;Packager section&lt;/h2&gt;
&lt;p&gt;Kirigami Addons now requires Qt 6.10 or later.&lt;/p&gt;
&lt;p&gt;You can find the package on
&lt;a class="link" target="_blank" href="https://download.kde.org/stable/kirigami-addons/kirigami-addons-1.15.0.tar.xz.mirrorlist" target="_blank" rel="noopener"
&gt;download.kde.org (kirigami addons)&lt;/a&gt; and it has been signed with my &lt;a class="link" target="_blank" href="https://carlschwan.eu/gpg-02325448204e452a/" &gt;GPG key&lt;/a&gt;.&lt;/p&gt;</description><author>Carl Schwan</author></item><item><title>KStars 3.8.5 Released</title><link>http://knro.blogspot.com/2026/10/kstars-385-released.html</link><pubDate>Sat, 03 Oct 2026 13:10:16 +0000</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-719809040809975458.post-409600926128160803</guid><description>&lt;p&gt;KStars v3.8.5 is released on 2026.10.03 for &lt;a target="_blank" href="https://edu.kde.org/kstars/#download"&gt;Windows, Linux, and MacOS&lt;/a&gt;. We are providing arm64 (Apple Silicon) and x86_64 variants for the MacOS release, but we hope to release a universal binary by the next KStars release.&lt;/p&gt;
&lt;p&gt;For Linux users, it's highly recommended to use the official &lt;a target="_blank" href="https://flathub.org/apps/org.kde.kstars"&gt;KStars Flatpak&lt;/a&gt; hosted at Flathub.&lt;/p&gt;
&lt;p&gt;This release brings major stability improvements, a comprehensive AI Guider overhaul with multi-night training and closed-loop fixes, expanded MCP tool coverage for headless automation, multi-camera support in Analyze, and significant enhancements to the scheduler, capture, and guide modules. Here are some highlights:&lt;/p&gt;
&lt;h2&gt;FITS Viewer Quality of Life improvements&lt;/h2&gt;
You can now drag and drop any FITS/XISF files directly unto the KStars sky map and it would be automatically opened. If you dragged a folder, it would be opened in &lt;i&gt;Blink&lt;/i&gt; mode. Furthermore, when opening FITS files from file manager (e.g. Dolphin), it now re-uses the same KStars instance and does not open a new instance for each new file.
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwHho7nAZqUASFu5mFiLotUwT0Wuq4-QHk5XzBo2MeTYyCJX6yCpBM2ePY05gi9F4hwqUO7b6m8pep_yTZF2A' class='b-hbp-video b-uploaded' frameborder='0'&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;h2&gt;AI Guider: Major Reliability &amp;amp; Performance Overhaul&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Fixed closed-loop RLS divergence in Active mode&lt;/b&gt; — the online phase/amplitude tracker in &lt;code&gt;WormGearGuider&lt;/code&gt; (WORM_GEAR mounts like the EQ8) could re-learn its own leftover prediction error once its output started influencing the applied pulse, making RA guiding measurably worse under Active mode than Standard. The tracker now freezes whenever the applied pulse contains the AI's own prediction, preventing contamination. Confirmed live: RA RMS improved from 3.06" (diverging Active) to 2.41" (frozen Active) vs. a 3.56–5.38" Standard baseline.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Per-axis confidence&lt;/b&gt; — RA and DEC now maintain independent confidence scores instead of sharing one across both axes. A bad prediction on one axis no longer drags the other axis's trust up or down. Verified live: DEC RMS improved 4.75"→1.26" same-session A/B after the split.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Shadow Mode now stays in Shadow Mode&lt;/b&gt; — &lt;code&gt;applyFingerprintToOptions()&lt;/code&gt; was unconditionally switching the guide algorithm to AI on every weights load, defeating Shadow Mode's purpose. Verified live: a 1500+s Shadow session held &lt;code&gt;Standard&lt;/code&gt;/&lt;code&gt;SHADOW&lt;/code&gt; throughout with zero AI-influenced pulses.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multi-night pooling and neural Shape Net for RA&lt;/b&gt; — new offline training scripts (&lt;code&gt;pool_sysid_data.py&lt;/code&gt;, &lt;code&gt;train_shape_net.py&lt;/code&gt;, &lt;code&gt;loocv_shape_net.py&lt;/code&gt;) pool free-drift data across multiple nights, phase-aligning each night to its own fitted period before combining. A small neural net (phase, altitude → predicted RA drift) trained on pooled data beats a fixed 4-harmonic Fourier baseline by a statistically real margin (95% CI excludes zero), winning in 7 out of 7 held-out nights. LOOCV-validated with a night-level cluster bootstrap.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DEC online drift tracker&lt;/b&gt; — adds a 1-state recursive Kalman filter tracking residual DEC rate against the existing physics baseline (refraction + polar drift). First live test achieved r=0.65 then r=0.55 physics_dec vs actual DEC error — the strongest correlation of the investigation. Matched-altitude live A/B testing found real altitude-dependent patterns (~29% DEC RMS improvement at low altitude, reversing to ~22% worse at mid altitude). Per-mount opt-in via &lt;code&gt;weights.json&lt;/code&gt;'s new &lt;code&gt;residual_filter&lt;/code&gt; section.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multi-harmonic PE model&lt;/b&gt; — extended from a single sinusoid to 4 independently-tracked harmonics (RA), mirrored in the offline trainer's physics model. Real free-drift data shows significant power through the 4th harmonic that a single-sinusoid model structurally cannot represent.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Safer AI/PID pulse blending&lt;/b&gt; — fixed a chronic RA under-correction bug where proportional gain was backed off by a flat confidence-scaled fraction regardless of whether the AI's feed-forward term was large enough to replace the P-authority being removed. Replaced with a capped backoff that only removes as much P as the AI term demonstrably reinforces, proven via unit tests to never weaken the blend below plain P+I when the AI term doesn't justify it.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PID Auto-Tune improvements&lt;/b&gt; — cold vs. warm pulses now distinguished (3 consecutive pulses per direction instead of alternating), and &lt;b&gt;Andreas R.&lt;/b&gt; added a short-exposure switch during &lt;code&gt;pulse_response&lt;/code&gt; phases (0.25s) so the default ~2s guide cadence can actually sample the dead-time transient the fitter needs. DEC auto-tune timing tightened (12 response frames/10s settle → 6/2s) to keep the axis closer to continuously engaged.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PE period detection fixed&lt;/b&gt; — &lt;code&gt;train_worm_gear.py&lt;/code&gt; was picking a 2nd-harmonic peak (~100s) over the true fundamental (~198–201s) via a bare &lt;code&gt;argmax()&lt;/code&gt; over one Lomb-Scargle periodogram. Now walks toward longer periods when a comparably-strong harmonic relationship exists, gated on ≥2.5 cycles resolved.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;k_ref&lt;/code&gt; (RA refraction term) loaded from &lt;code&gt;weights.json&lt;/code&gt; but never read by &lt;code&gt;physicsRA()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;RLS cold-start now warm-starts from the offline-trained physics fit instead of zero, with anisotropic covariance&lt;/li&gt;
&lt;li&gt;AI Guide Wizard slew-skip bug fixed — a restarted session could silently skip its slew by matching a stale target position&lt;/li&gt;
&lt;li&gt;Data-collection phases now target a frame COUNT (with wall-clock as a 3x backstop) instead of fixed duration, so slower Debug-build cadence doesn't silently halve the frame count&lt;/li&gt;
&lt;li&gt;AI debug CSV logging added for dark-guiding pulses (previously only visible via verbose qCDebug)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Scheduler &amp;amp; Observatory Automation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Fixed scheduler not shutting down when a safety alert outlasts the job&lt;/b&gt; — with the weather grace period set to wait indefinitely, an alert lasting past a job's completion constraint left the observatory open (reported in daylight in one incident). The monitoring branch now releases the active job when a soft shutdown starts, re-evaluates jobs before any post-startup task, and runs the full shutdown when no job is left.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed internal guider not guiding after the scheduler restarts it while suspended&lt;/b&gt; — when a scheduler job repeats and its sequence ends with non-light frames (e.g. flats), guiding is still suspended when the next iteration starts. The cgmath suspend flag set by &lt;code&gt;suspend()&lt;/code&gt; was never cleared, so every guide frame was skipped for the rest of the night. BUG: 526397&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed scheduler retrying autofocus on an optical train without focuser&lt;/b&gt; — when a Focus tab switched to an optical train without a focuser, &lt;code&gt;canAutoFocus()&lt;/code&gt; kept reporting the capability of the previously selected focuser. The scheduler then started autofocus on the train without focuser, which aborted and was retried until the job aborted and rescheduled, oscillating between Scheduled and Running.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed scheduler double-counting captured frames for targets with a dot in the name&lt;/b&gt; — &lt;b&gt;Wolfgang Reissenberger&lt;/b&gt; fixed &lt;code&gt;PlaceholderPath::getCompletedFiles()&lt;/code&gt; deriving its file-matching pattern by stripping everything from the last &lt;code&gt;.&lt;/code&gt; onward. A target like &lt;code&gt;SNR_G108.2-0.6&lt;/code&gt; got truncated right after that dot, discarding camera, filter, exposure, date tokens. Two optical trains capturing the same target into a shared directory each reported the combined frame count instead of its own.&lt;/li&gt;
&lt;li&gt;Fixed UI test startup D-Bus service name and location — &lt;code&gt;locationNamed("Greenwich")&lt;/code&gt; returns Greenwich, Connecticut with US DST rules while tests expect Greenwich, UK&lt;/li&gt;
&lt;li&gt;Fixed greedy scheduler tests using the standard-time UTC offset instead of DST&lt;/li&gt;
&lt;li&gt;Fixed scheduler not creating the Ekos Manager while loading sequence files (crashed &lt;code&gt;testschedulerunit&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Added scheduler and test pitfalls to &lt;code&gt;AGENTS.md&lt;/code&gt; — notes for AI agents from the scheduler weather work&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Thomas Nemer&lt;/b&gt; added MCP scheduler tool family: &lt;code&gt;scheduler_status&lt;/code&gt;, &lt;code&gt;scheduler_jobs&lt;/code&gt;, &lt;code&gt;scheduler_current_job&lt;/code&gt;, &lt;code&gt;scheduler_start&lt;/code&gt;/&lt;code&gt;scheduler_stop&lt;/code&gt;, &lt;code&gt;scheduler_load&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Camera &amp;amp; Capture&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Fixed follower camera hanging after focusing&lt;/b&gt; — &lt;b&gt;Wolfgang Reissenberger&lt;/b&gt; fixed a multi-camera bug where a follower camera could get stuck after re-focusing if the camera was paused while the lead camera dithered and a re-focus became due at the moment the sequence continued. Resuming a paused sequence now retries pending actions instead of giving up after the first attempt.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed capture status label stuck at "Focus Offset"&lt;/b&gt; — &lt;b&gt;Wolfgang Reissenberger&lt;/b&gt; fixed the status label over the capture preview keeping "Focus Offset" while the frame is being exposed instead of switching back to "Capturing".&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Capture: do not restart an aborted sequence when dithering ends&lt;/b&gt; — &lt;b&gt;Wolfgang Reissenberger&lt;/b&gt; fixed capturing that was stopped while a dithering run is still in progress restarting on its own as soon as the dithering finishes. Only capturing that was paused for the dithering itself is now resumed.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Unified Temperature with Gain/Offset "no value" semantics&lt;/b&gt; — removed the separate enforce checkbox (could fall out of sync with the spinbox's own value) and gave Temperature the same special-value convention Gain/Offset already use: the spinbox itself carries a "--" sentinel (min - step) for "no target temperature".&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed dark frame matching to use the target chip's camera, not the dialog's&lt;/b&gt; — &lt;code&gt;DarkLibrary::findDarkFrame()&lt;/code&gt; read gain/temperature from the camera tied to the optical train selected in the Dark Library dialog, not the camera that owns the chip being matched. For setups with a dedicated guide camera, this caused valid dark frames to be rejected on a gain mismatch that never existed.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multi-camera bug fixed: disconnect from old camera device if device changes&lt;/b&gt; — &lt;b&gt;Wolfgang Reissenberger&lt;/b&gt; fixed the camera tab not disconnecting from its former device if the device has been changed (e.g. optical train switched). Turning off cooling on the first camera appeared to turn off cooling on the second camera as well (the INDI driver showed cooling was still on).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;jc tk&lt;/b&gt; added camera name and optical train placeholders for filename generation: &lt;code&gt;%opticaltrain&lt;/code&gt;/&lt;code&gt;%o&lt;/code&gt; and &lt;code&gt;%cameraname&lt;/code&gt;/&lt;code&gt;%c&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; added stream depth selector for video sequences — a combo box (Stream OFF / 16-bit / 8-bit) in the capture sequence editor for video frame type, allowing users to specify bit depth directly in the sequence file&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Thomas Nemer&lt;/b&gt; added MCP capture sequence tool family: &lt;code&gt;capture_status&lt;/code&gt;, &lt;code&gt;capture_get_jobs&lt;/code&gt;, &lt;code&gt;capture_start&lt;/code&gt;/&lt;code&gt;capture_stop&lt;/code&gt;/&lt;code&gt;capture_abort&lt;/code&gt;, &lt;code&gt;capture_suspend&lt;/code&gt;/&lt;code&gt;capture_pause&lt;/code&gt;/&lt;code&gt;capture_resume&lt;/code&gt;, &lt;code&gt;capture_load_sequence&lt;/code&gt;, &lt;code&gt;capture_set_target&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Guide&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Warn when mount stops tracking while guiding is active&lt;/b&gt; — if the mount reports &lt;code&gt;MOUNT_IDLE&lt;/code&gt; or &lt;code&gt;MOUNT_ERROR&lt;/code&gt; while guiding/dithering is running, Guide now fires a loud GuideFailed notification instead of silently guiding into a wall (e.g. AM5N mounts spontaneously losing tracking mid-session per user reports).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; added reset calibration when the field rotates — an opt-in option that invalidates a completed/stored guide calibration when the field has rotated (detected via the Align module's plate-solved position angle), so a fresh calibration is measured on the next guide start instead of guiding on a stale, rotated one. Handles both electronic rotator moves and manual camera rotation. Works with the internal guider and PHD2. Meridian flip changes are explicitly excluded via pier-side tracking and a 180° magnitude fallback.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; added a Stream OFF/16-bit/8-bit selector (per optical train) — replaces the guide module's Stream checkbox with a stream mode combo box offering three choices. The selection is saved per optical train. Includes &lt;code&gt;Camera::setStreamDepth(int)&lt;/code&gt; helper (0 = 8-bit, 1 = 16-bit).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; fixed GUI freeze on streaming guide + normal dither (self-join deadlock) — a hard GUI freeze with the internal guider in streaming mode when the capture module requests a normal (multi-pulse) dither. Ekos locks up the instant "Dithering…" is logged. Root cause: a stream frame processed on the GUI thread spins a nested QEventLoop during star extraction, which dispatches the imaging camera's queued &lt;code&gt;newImage&lt;/code&gt; → &lt;code&gt;dither&lt;/code&gt; → synchronous &lt;code&gt;InternalGuider::dither()&lt;/code&gt; → &lt;code&gt;findStars&lt;/code&gt; on the same FITSData whose extraction future is still running inline → deadlock. Streaming normal dither now uses the same deferred path as single-frame guiding.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; made calibration always run single-frame; stream only while guiding — streaming guide calibration produces erratic results (scattered plots, mis-estimated pulse rates, "Lost track of the guide star" aborts) because calibration is frame-driven and assumes each frame reflects a completed, settled pulse. With the default 1000 ms calibration pulse longer than the exposure, pulses overlap and the mount never settles. &lt;code&gt;Guide::calibrate()&lt;/code&gt; now stops any active stream before &lt;code&gt;buildOperationStack()&lt;/code&gt;, so the whole calibration runs on the single-frame path; the stream starts automatically when active guiding begins.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Andreas R.&lt;/b&gt; applied dark/defect-map correction to streaming guide frames — in streaming mode the &lt;code&gt;GUIDE_DARK&lt;/code&gt; operation step is skipped, so the "Dark" checkbox was a no-op. The correction is now applied inline in &lt;code&gt;processData()&lt;/code&gt; for streaming frames via new &lt;code&gt;DarkProcessor::denoiseSynchronous()&lt;/code&gt; before the frame is loaded into the guide view or handed to the guider. Verified on real hardware (PlayerOne Xena 585M): glow pedestal and gradient removed, edge-spread 5.0 → 0.2/0.7.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Alignment &amp;amp; Mount Modeler&lt;/h2&gt;
&lt;div class="separator" style="clear: both;"&gt;&lt;a target="_blank" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzCT7E_GrfN2LVeL-Sb3Q-JFtDEnrF-YcZCQQRMGfTKwhkwc2UOwm0ZlVcjX9cvfNdWZY80iGBSWPzO2UPA9J2ZrKWHahQyHy2-sxofllydzgEhROKHeKHB00VHKa6B1VEk2sEI3jnqWCSKSAMSexUWcavQvfPWcTLBL690RhGA0QSyBoKFWURI-n0FRg/s903/Screenshot_20261003_092707.png" style="display: block; padding: 1em 0; text-align: center; "&gt;&lt;img alt="" border="0" width="320" data-original-height="738" data-original-width="903" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzCT7E_GrfN2LVeL-Sb3Q-JFtDEnrF-YcZCQQRMGfTKwhkwc2UOwm0ZlVcjX9cvfNdWZY80iGBSWPzO2UPA9J2ZrKWHahQyHy2-sxofllydzgEhROKHeKHB00VHKa6B1VEk2sEI3jnqWCSKSAMSexUWcavQvfPWcTLBL690RhGA0QSyBoKFWURI-n0FRg/s320/Screenshot_20261003_092707.png"/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Lower the default align check threshold to 10 arcminutes&lt;/b&gt; and improve logging to identify if the actual mount moved between checks&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Account for declination when calculating total alignment error&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Properly display annotated objects after plate-solving an image&lt;/b&gt; from Sky Map objects&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fixed align hang when a slew completes without an observable IPS_BUSY&lt;/b&gt; — some mount drivers finish very short corrective slews within a single status tick and never emit an intermediate &lt;code&gt;IPS_BUSY&lt;/code&gt; for &lt;code&gt;EQUATORIAL_EOD_COORD&lt;/code&gt;. Align's &lt;code&gt;ALIGN_SLEWING&lt;/code&gt; handler only trusted an &lt;code&gt;IPS_OK&lt;/code&gt; once it had witnessed &lt;code&gt;IPS_BUSY&lt;/code&gt;, and the elapsed-timer fallback is only re-evaluated when a new property update arrives. Snapshot the mount's reported RA/DE right before &lt;code&gt;Slew()&lt;/code&gt; commands the move, and also accept an &lt;code&gt;IPS_OK&lt;/code&gt; whose position differs from that snapshot as proof</description><author>Jasem Mutlaq</author></item><item><title>KDE Akademy 2026</title><link>https://www.volkerkrause.eu/2026/10/03/kde-akademy-2026.html</link><pubDate>Sat, 03 Oct 2026 05:45:00 +0000</pubDate><guid isPermaLink="true">https://www.volkerkrause.eu/2026/10/03/kde-akademy-2026</guid><description>&lt;p&gt;Last week I attended this year’s &lt;a target="_blank" href="https://akademy.kde.org/2026"&gt;KDE Akademy&lt;/a&gt; in Graz, Austria,
my 20th in-person Akademy.&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://www.volkerkrause.eu/assets/posts/239/kde-akademy-2026-group-photo.jpg" alt="Group photo of the KDE Akademy attendees." loading="lazy" /&gt;
&lt;figcaption&gt;KDE Akademy 2026 group photo (&lt;a target="_blank" href="https://floss.social/@akademy/117304200666495346"&gt;source&lt;/a&gt;)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="akademy"&gt;Akademy&lt;/h3&gt;
&lt;p&gt;Akademy for me is mainly about meeting the people I otherwise just work with online, and hanging out with
old and new friends. And even 22 years after the first one I’m still excited about that.
This year also happened to be KDE’s 30th anniversary, making this extra special.&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://www.volkerkrause.eu/assets/posts/239/kde-akademy-2026-konqi-cake.jpg" alt="KDE e.V. president and vice-president cutting a cake in the shape of KDE's cute mascot Konqi with a large knife while visibly enjoying what they are doing." loading="lazy" /&gt;
&lt;figcaption&gt;Lydia and Aleix stabbing poor little cake-Konqi (&lt;a target="_blank" href="https://mastodon.social/@matk/117305405387288674"&gt;source&lt;/a&gt;)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Recordings of the talks are &lt;a target="_blank" href="https://media.ccc.de/c/kde2026"&gt;available on media.ccc.de&lt;/a&gt;, recordings of
the BoF wrap-up sessions are on &lt;a target="_blank" href="https://tube.kockatoo.org/c/akademy/videos"&gt;KDE’s PeerTube channel&lt;/a&gt;,
and BoF notes should be in the &lt;a target="_blank" href="https://community.kde.org/Akademy/2026#Birds_of_a_Feather_(BoF)_sessions,_workshops,_and_meetings"&gt;wiki&lt;/a&gt;.
There are also a couple of reports from other attendees already on &lt;a target="_blank" href="https://planet.kde.org"&gt;Planet KDE&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="topics"&gt;Topics&lt;/h3&gt;
&lt;h4 id="qa-and-cd"&gt;QA and CD&lt;/h4&gt;
&lt;p&gt;On Saturday I &lt;a target="_blank" href="https://conf.kde.org/event/11/contributions/319/"&gt;spoke about how continuous delivery (CD) builds help with QA&lt;/a&gt;,
based on the experience with using those for &lt;a target="_blank" href="https://apps.kde.org/itinerary"&gt;Itinerary&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While we see very little testing on pre-releases (betas, release candidates), getting people to
daily-drive the latest CD builds from the main development branch turned out to be
the single biggest improvement to overall quality in recent years.&lt;/p&gt;
&lt;p&gt;It was great to see this was just one in several talks that focused on different aspects of QA this year.&lt;/p&gt;
&lt;h4 id="new-contributor-experience"&gt;New contributor experience&lt;/h4&gt;
&lt;p&gt;Daily-driving CD builds already turns people from users into contributors, becoming part of the QA team,
maybe without even realizing this. A possible next step, sending a first merge request, even if just for something
very small, is currently made way harder than it needs to be though.&lt;/p&gt;
&lt;p&gt;As part of my talk I demonstrated a possible alternative workflow, getting to a modified and fully isolated
version of &lt;a target="_blank" href="https://apps.kde.org/alligator"&gt;Alligator&lt;/a&gt; within a few minutes, without requiring any modification
on the host system or involving any risk of otherwise interfering with that.&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://www.volkerkrause.eu/assets/posts/239/kde-edit-application-action.png" alt="Kirigami Addons about page with a new 'Edit Application' action." loading="lazy" /&gt;
&lt;figcaption&gt;Edit Application action on the about page&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This prototype involved a &lt;a target="_blank" href="https://invent.kde.org/libraries/kirigami-addons/-/tree/work/vkrause/app-edit"&gt;small modification to Kirigami Addons&lt;/a&gt;
to add an “Edit Application…” action to the about dialog, and a &lt;a target="_blank" href="https://invent.kde.org/vkrause/app-edit/"&gt;custom URI handler&lt;/a&gt;
to also make this work for fully sandboxed applications. It’s also currently only
working with GNOME Builder, as none of our editors/IDEs so far have the Flatpak handling integrated seamlessly enough.
Changing that was dicussed with the &lt;a target="_blank" href="https://kate-editor.org"&gt;Kate&lt;/a&gt; later during Akademy then.&lt;/p&gt;
&lt;p&gt;Assuming all that would be integrated, the only thing needed on the application side then is adding a link to the
source code repository in the &lt;a target="_blank" href="https://www.freedesktop.org/software/appstream/docs/"&gt;AppStream metadata&lt;/a&gt;
file (and of course having a Flatpak manifest in its Git repository).&lt;/p&gt;
&lt;h4 id="plasma-mobile"&gt;Plasma Mobile&lt;/h4&gt;
&lt;p&gt;For &lt;a href="//www.volkerkrause.eu/2026/08/15/kde-nfc-integration.html"&gt;NFC support&lt;/a&gt; there’s now an
agreement on where the integration code for Plasma should live
eventually, very similar to how the Bluetooth code is organized. There was also the chance to test the existing
code with a few more NFC-enabled cards/devices, which found a few more (usability) issues to address.&lt;/p&gt;
&lt;p&gt;Shortly before Akademy, support for the &lt;a target="_blank" href="https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tree/main/experimental/xx-cutouts"&gt;xx-cutout-v1&lt;/a&gt;
Wayland protocol &lt;a target="_blank" href="https://codereview.qt-project.org/c/qt/qtbase/+/750528"&gt;landed in Qt 6.13&lt;/a&gt;. This makes
Qt’s &lt;code class="language-plaintext highlighter-rouge"&gt;SafeArea&lt;/code&gt; API work with Wayland compositors supporting that protocol as well,
allowing us to benefit from all the work on supporting that in applications for Android.&lt;/p&gt;
&lt;figure&gt;
&lt;img src="https://www.volkerkrause.eu/assets/posts/239/kde-kweather-display-cutouts.jpg" alt="An unmodified KWeather running in Phosh's compositor with simulated display cutouts and rounded display corners, with all relevant UI elements staying clear of those areas." loading="lazy" /&gt;
&lt;figcaption&gt;KWeather with simulated display cutouts.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;What we were missing still is the compositer-side part of this in &lt;a target="_blank" href="https://commits.kde.org/kwin"&gt;KWin&lt;/a&gt;,
and I expected that to be much more work than the client part in Qt. An expectation the KWin team
defied though, I got to see a prototype for cutout support in KWin already, so this looks very much in reach now.&lt;/p&gt;
&lt;p&gt;We also discussed support for the XDG camera portal with the Qt MultiMedia team. We need that for accessing
the camera from a sandboxed Flatpak application without giving it full device access. It’s something they want
to have as well at least, but there’s no specific timeline yet (ie. we might have to implement it ourselves).&lt;/p&gt;
&lt;h4 id="pim"&gt;PIM&lt;/h4&gt;
&lt;p&gt;There was a &lt;a target="_blank" href="https://media.ccc.de/v/kde2026-11-what_has_been_brewing_in_kde_pim_land"&gt;talk&lt;/a&gt; about
the &lt;a target="_blank" href="https://en.wikipedia.org/wiki/Sovereign_Tech_Agency"&gt;Sovereign Tech Agency (STA)&lt;/a&gt; funded
PIM work, as well as plenty discussion about this in the &lt;a target="_blank" href="https://community.kde.org/Akademy/2026/PIM_BoF"&gt;two-part PIM BoF&lt;/a&gt;,
which was good to see.&lt;/p&gt;
&lt;p&gt;Something I’m particularly excited to see being implemented is &lt;a target="_blank" href="https://unifiedpush.org"&gt;UnifiedPush&lt;/a&gt; support
for CalDav, something which started at a meeting
&lt;a href="//www.volkerkrause.eu/2024/09/28/nextcloud-conference-matrix-conference-2024.html"&gt;two years ago at a NextCloud conference&lt;/a&gt;.
That’ll not only make calendar syncing faster and more efficient, it could also make synchronized
reminder states viable, so dismissing an reminder on one of your devices would also dismiss it on
all other devices.&lt;/p&gt;
&lt;p&gt;Another exciting aspect is work on making calendar and contact data accessible to and from Flatpak
applications. That’s currently an unsolved problem for GNOME and KDE, as both our PIM APIs were designed
as platform APIs at a time before sandboxed applications were a thing. The ultimate goal here would be
an XDG portal API for contact and calendar access, closing a gap that Linux currently still has compared
to most proprietary platforms. This is a huge task though, but there’s several publicly funded efforts currently
addressing parts of this.&lt;/p&gt;
&lt;p&gt;As usual we also talked about the next steps in the repository consolidation work. &lt;a target="_blank" href="https://commits.kde.org/kmime"&gt;KMime&lt;/a&gt; finally
made the move to &lt;a target="_blank" href="https://develop.kde.org/products/frameworks/"&gt;KDE Frameworks&lt;/a&gt; earlier this year, and we are almost done with
dissolving &lt;a target="_blank" href="https://commits.kde.org/kcalutils"&gt;kcalutils&lt;/a&gt; with a mix of up- and downstreaming its content.
The likely next target would then be getting &lt;a target="_blank" href="https://commits.kde.org/kimap"&gt;KIMAP&lt;/a&gt; to Frameworks as well.&lt;/p&gt;
&lt;h3 id="itinerary"&gt;Itinerary&lt;/h3&gt;
&lt;p&gt;Akademy is also the time of some of the most intensive &lt;a target="_blank" href="https://apps.kde.org/itinerary"&gt;Itinerary&lt;/a&gt; usage during the year,
and thus lots of feedback coming in, causing a few improvements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed the unreachable transfer warning not being shown.&lt;/li&gt;
&lt;li&gt;Fixed currency exchange rates shown in the wrong direction.&lt;/li&gt;
&lt;li&gt;Fixed a crash in online post-processing of reservation data commonly observed on Sentry but not easily reproducable.&lt;/li&gt;
&lt;li&gt;Fixed inaccessible entries in the country combo box due to an outdated &lt;a target="_blank" href="https://commits.kde.org/qqc2-breeze-style"&gt;qqc2-breeze-style&lt;/a&gt; in the APK.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Despite efforts following &lt;a href="//www.volkerkrause.eu/2024/09/14/kde-akademy-2024.html"&gt;a previous Akademy&lt;/a&gt;
to avoid a certain unnamed member of the community ending up at the wrong airport, said person got apparently
lost entirely this time and didn’t make it to Akademy at all.
So we still have a lot of work ahead of us to make travel David-proof.&lt;/p&gt;
&lt;h3 id="more-conferences"&gt;More conferences&lt;/h3&gt;
&lt;p&gt;Akademy was the second in a close series of three major conferences for me now, following
&lt;a href="//www.volkerkrause.eu/2026/09/05/osm-sotm-2026.html"&gt;SotM 2026&lt;/a&gt;
and ending with the &lt;a target="_blank" href="https://open-transport.org"&gt;Open Transport Community Conference 2026&lt;/a&gt; starting on Tuesday.
That’s also why the bi-monthly Itinerary update post that would usually appear at this point has to wait a bit.&lt;/p&gt;</description><author>Volker Krause</author></item><item><title>This Week in Plasma: 6.8 Beta 2; Keep Testing!</title><link>https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/</link><pubDate>Sat, 03 Oct 2026 00:00:01 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/</guid><description>&lt;p&gt;Welcome to a new issue of &lt;em&gt;This Week in Plasma!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This week, Plasma 6.8 continues to pass through the bug-fixing process in preparation for its release on October 14th, including the release of &lt;a target="_blank" href="https://kde.org/announcements/plasma/6/6.7.91/"&gt;a second beta version&lt;/a&gt;. So far we still don’t have many &lt;a target="_blank" href="https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&amp;amp;bug_status=CONFIRMED&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED&amp;amp;f1=classification&amp;amp;keywords=regression&amp;amp;keywords_type=allwords&amp;amp;known_name=Plasma%3A%206.7%20regressions&amp;amp;list_id=3597059&amp;amp;o1=notequals&amp;amp;query_based_on=Plasma%3A%206.7%20regressions&amp;amp;query_format=advanced&amp;amp;v1=Frameworks%20And%20Libraries&amp;amp;version=6.7.80&amp;amp;version=6.7.90"&gt;reported regressions&lt;/a&gt;, so again either Plasma 6.8 is amazing already, or else people aren’t &lt;a target="_blank" href="https://community.kde.org/Plasma/Live_Images"&gt;testing it&lt;/a&gt; enough!&lt;/p&gt;
&lt;p&gt;In addition to bug fixing and polishing, Plasma contributors also began landing some features and UI improvements for Plasma 6.9. Check it out:&lt;/p&gt;
&lt;h2 id="notable-new-features"&gt;Notable new features&lt;/h2&gt;
&lt;!-- Can find some with https://invent.kde.org/groups/plasma/-/merge_requests/?sort=merged_at_desc&amp;state=merged&amp;label_name%5B%5D=Feature&amp;first_page_size=20 --&gt;
&lt;h3 id="plasma-69"&gt;Plasma 6.9&lt;/h3&gt;
&lt;p&gt;The context menu for Task Manager tasks now includes a “Move to Screen” feature, mirroring the similar one already accessible from windows’ titlebar context menus. (Kai Uwe Broulik, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=465058"&gt;KDE Bugzilla #465058&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;System Settings’ Firewall page can now display comments associated with custom firewall rules made with the &lt;code&gt;ufw&lt;/code&gt; firewall backend. (Arie Miller, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-firewall/-/merge_requests/109"&gt;plasma-firewall MR #109&lt;/a&gt;)&lt;/p&gt;
&lt;figure&gt;
&lt;img class="img-fluid" alt="Comment field on the “Create A New Firewall Rule” dialog" src="https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/firewall-rule-comments.webp"
style="max-width: 100%; height: auto"
/&gt;
&lt;/figure&gt;
&lt;h2 id="notable-ui-improvements"&gt;Notable UI improvements&lt;/h2&gt;
&lt;!-- Can find some with https://invent.kde.org/groups/plasma/-/merge_requests/?sort=merged_at_desc&amp;state=merged&amp;label_name%5B%5D=Enhancement&amp;first_page_size=20 --&gt;
&lt;h3 id="plasma-68"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Tiled windows now have square corners, so they fit together nicely. (Ethan Chappel, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=490716"&gt;KDE Bugzilla #490716&lt;/a&gt;)&lt;/p&gt;
&lt;figure&gt;
&lt;img class="img-fluid" alt="Tiled windows with square corners" src="https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/square-corners.webp"
style="max-width: 100%; height: auto"
/&gt;
&lt;/figure&gt;
&lt;p&gt;The Dictionary widget now fully adjusts its colors when the active color scheme or Plasma style changes, and looks more “Plasma-style” in general. (Christoph Wolk, &lt;a target="_blank" href="https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/1141"&gt;kdeplasma-addons MR #1141&lt;/a&gt;)&lt;/p&gt;
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;div class="swiper-slide swiper-slide-active"&gt;
&lt;img src="https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/dictionary-new.png" alt="New" lazy class="rounded"&gt;
&lt;span class="d-block text-center mt-2"&gt;New&lt;/span&gt;
&lt;/div&gt;
&lt;div class="swiper-slide"&gt;
&lt;img src="https://blogs.kde.org/2026/10/03/this-week-in-plasma-6.8-beta-2-keep-testing/dictionary-old.png" alt="Old" lazy class="rounded"&gt;
&lt;span class="d-block text-center mt-2"&gt;Old&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;p&gt;System Monitor’s Processes and Applications pages no longer sometimes show double scrollbars. (Christoph Wolk, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-systemmonitor/-/merge_requests/466"&gt;plasma-systemmonitor MR #466&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Plasma now sends fewer notifications about the screen configuration changing — particularly for cases where they offer no real value. (Kai Uwe Broulik, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/7094"&gt;plasma-workspace MR #7094&lt;/a&gt; and &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/7148"&gt;plasma-workspace MR #7148&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-69-1"&gt;Plasma 6.9&lt;/h3&gt;
&lt;p&gt;System Settings’ Touchpad page now expresses the available options for right- and middle-clicking in a more natural way. (Jakob Petsovits, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/4041"&gt;plasma-desktop MR #4041&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;On System Settings’ Notifications page, some icons on the list items for configuring individual notifications now have tooltips to explain what they do, in case their icons aren’t comprehensible enough. (Tobias Fella, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6785"&gt;plasma-workspace MR #6785&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;If you’ve configured any custom clipboard actions in the Clipboard widget’s settings, they’re now placed above the standard MIME type actions, rather than below them. (Paul Wise, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6107"&gt;plasma-workspace MR #6107&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The “In rows” and “In columns” arrangement options for desktop icons now arrange icons the way they say they will, rather than according to the opposite option. (Daniel Pflager, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=512993"&gt;KDE Bugzilla #512993&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Notifications with speed graphs no longer redundantly show the current speed twice while expanded. (Méven Car, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/7050"&gt;plasma-workspace MR #7050&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="notable-bug-fixes"&gt;Notable bug fixes&lt;/h2&gt;
&lt;!--
Can find some with:
- HI and VHI bugs fixed: https://tinyurl.com/bdepnh4v
- All bugs fixed: https://invent.kde.org/groups/plasma/-/merge_requests/?sort=merged_at_desc&amp;state=merged&amp;label_name%5B%5D=Bugfix&amp;first_page_size=20
--&gt;
&lt;h3 id="plasma-667"&gt;Plasma 6.6.7&lt;/h3&gt;
&lt;p&gt;Fixed an issue that could make Plasma freeze on systems where the Wi-Fi adapter is disabled and re-enabled frequently. (Jay Fleischer, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-nm/-/merge_requests/669"&gt;plasma-nm MR #669&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue in the Comics widget that could make it occasionally get stuck in an infinite loop and waste system resources. (Tobias Fella, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525856"&gt;KDE Bugzilla #525856&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-676"&gt;Plasma 6.7.6&lt;/h3&gt;
&lt;p&gt;Fixed a case where KWin could crash on systems with NVIDIA GPUs using version 610.57.04 or later of the proprietary driver. (Xaver Hugl, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=524840"&gt;KDE Bugzilla #524840&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a case where Plasma could crash when you dragged a widget to a panel. (David Edmundson, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=501289"&gt;KDE Bugzilla #501289&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a case where Plasma could crash while trying to fetch weather data from Environment Canada. (Bohdan Onofriichuk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=512054"&gt;KDE Bugzilla #512054&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a memory leak in the Process Table widget. (David Edmundson, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525978"&gt;KDE Bugzilla #525978&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Worked around an upstream issue in version 9.12 or later of the &lt;code&gt;coreutils&lt;/code&gt; library that prevented KWallet from being unlocked at login as expected. (Omid Kordbache, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525805"&gt;KDE Bugzilla #525805&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a recent regression that made the names of touchpads vanish from the device chooser combobox on System Settings’ Touchpad page. (Kai Uwe Broulik, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=521800"&gt;KDE Bugzilla #521800&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68-1"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Fixed a case where Plasma could crash in response to apps closing or crashing in very specific ways. (David Edmundson, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=506562"&gt;KDE Bugzilla #506562&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made Spectacle sometimes fail to save screen recordings. (Zhora Zmeykin, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=516848"&gt;KDE Bugzilla #516848&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Spectacle’s “Share” feature once again works. (Tobias Fella, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525413"&gt;KDE Bugzilla #525413&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;When you drag the thumbnail of a file or screenshot from a notification to somewhere else, the drop menu once again includes “Move” as an option. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=508520"&gt;KDE Bugzilla #508520&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Remote desktop authentication now works with version 3.32 or later of the &lt;code&gt;freerdp&lt;/code&gt; library. (Ben Marshall, &lt;a target="_blank" href="https://invent.kde.org/plasma/krdp/-/merge_requests/248"&gt;krdp MR #248&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could cause remote desktop sessions closed remotely while in progressive mode to get stuck and block starting new sessions. (Oliver Beard, &lt;a target="_blank" href="https://invent.kde.org/plasma/krdp/-/merge_requests/246"&gt;krdp MR #246&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The Brightness &amp;amp; Color widget is now fully screen-reader-friendly. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=508485"&gt;KDE Bugzilla #508485&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a bizarre clipboard issue that mis-rendered certain Unicode characters in the 100th position of a piece of copied text. (Tomáš Hnyk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=508224"&gt;KDE Bugzilla #508224&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-69-2"&gt;Plasma 6.9&lt;/h3&gt;
&lt;p&gt;Text in a right-to-left language that you copy to the clipboard while using a left-to-right language is no longer covered up by the hover buttons in the clipboard history. (Tomáš Hnyk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=440349"&gt;KDE Bugzilla #440349&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a visual glitch affecting notifications with speed graphs that could appear when you sent them to the history, and then restored them. (Méven Car, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=514677"&gt;KDE Bugzilla #514677&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="notable-in-performance--technical"&gt;Notable in performance &amp;amp; technical&lt;/h2&gt;
&lt;h3 id="plasma-68-2"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;The Task Manager widget’s feature to filter tasks by virtual desktop has been made compatible with the “per-screen virtual desktops” feature. (Kai Uwe Broulik, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/7147"&gt;plasma-workspace MR #7147&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;System Monitor and its widgets now measure GPU memory usage more accurately. (Roan Bukaci, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=525481"&gt;KDE Bugzilla #525481&lt;/a&gt;)&lt;/p&gt;
&lt;h2 id="how-you-can-help"&gt;How you can help&lt;/h2&gt;
&lt;p&gt;KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.&lt;/p&gt;
&lt;p&gt;Would you like to help put together this weekly report? Introduce yourself in &lt;a target="_blank" href="https://matrix.to/#/%23this-week-kde-apps:kde.org"&gt;the Matrix room&lt;/a&gt; and &lt;a target="_blank" href="https://community.kde.org/Promotion/This_week_in_KDE"&gt;join the team&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Beyond that, you can help KDE by directly &lt;a target="_blank" href="https://community.kde.org/Get_Involved"&gt;getting involved&lt;/a&gt; in any other projects. Donating time is actually more impactful than donating money. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer, either; many other opportunities exist.&lt;/p&gt;
&lt;p&gt;You can also help out by &lt;a target="_blank" href="https://kde.org/donate"&gt;making a donation&lt;/a&gt;! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.&lt;/p&gt;
&lt;h2 id="to-get-a-new-plasma-feature-or-a-bug-fix-mentioned-here"&gt;To get a new Plasma feature or a bug fix mentioned here&lt;/h2&gt;
&lt;p&gt;Push a commit to &lt;a target="_blank" href="https://invent.kde.org/websites/blogs-kde-org/-/merge_requests/?label_name%5B%5D=This%20Week%20in%20Plasma"&gt;the relevant merge request on invent.kde.org&lt;/a&gt;.&lt;/p&gt;
&lt;!--
Example wording for a change, MR version. (Developer Name, [repo-name MR #xxx](https://invent.kde.org/plasma/repo-name/-/merge_requests/xxx))
Example wording for a change, Bugzilla version. (Developer Name, [KDE Bugzilla #xxx](https://bugs.kde.org/show_bug.cgi?id=xxx))
![](IMAGE.png)
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;figure class="text-center ratio ratio-16x9" style=""&gt;
&lt;video controls&gt;&lt;source src="%25!s%28%3cnil%3e%29VIDEO.mp4" type="video/mp4" /&gt;&lt;/video&gt;&lt;/figure&gt;
--&gt;</description><author>Nate Graham</author></item><item><title>Web Review, Week 2026-40</title><link>https://ervin.ipsquad.net/blog/2026/10/02/web-review-week-2026-40/</link><pubDate>Fri, 02 Oct 2026 11:23:51 +0000</pubDate><guid isPermaLink="true">https://ervin.ipsquad.net/blog/2026/10/02/web-review-week-2026-40/</guid><description>&lt;p&gt;Let&amp;rsquo;s go for my web review for the week 2026-40.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="nvidias-greenwashing-tactics--hidden-emissions"&gt;NVIDIA&amp;rsquo;s Greenwashing Tactics &amp;amp; Hidden Emissions&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, nvidia, hardware, economics, ecology&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Are we surprised? Unfortunately not, they almost increased their indirect emissions 8 folds in a few years. And it could get worse still.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.aigreenwashing.org/news/new-ai-report-reveals-nvidias-greenwashing-tactics-and-hidden-emissions/"&gt;https://www.aigreenwashing.org/news/new-ai-report-reveals-nvidias-greenwashing-tactics-and-hidden-emissions/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="ais-unsustainable-impacts-to-grow-x7-by-2030"&gt;AI&amp;rsquo;s Unsustainable impacts to grow x7 by 2030&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, ecology&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s clearly a major issue in terms of environmental impacts with the AI industrial complex. Yes it&amp;rsquo;s also about electricity consumption but not only. We have at last a comprehensive study on the matter. Without major changes it&amp;rsquo;s just unsustainable and something we can&amp;rsquo;t collectively afford.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.greenit.fr/2026/09/30/ais-unsustainable-impacts-to-grow-x7-by-2030/"&gt;https://www.greenit.fr/2026/09/30/ais-unsustainable-impacts-to-grow-x7-by-2030/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="micron-ceo-says-memory-supply-will-be-much-tighter-in-2027-and-2028-than-in-2026"&gt;Micron CEO Says Memory Supply Will Be Much Tighter in 2027 and 2028 Than in 2026&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, hardware, memory, business, economics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Looks like the mess on hardware prices will continue for a while&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.techpowerup.com/353296/micron-ceo-says-memory-supply-will-be-much-tighter-in-2027-and-2028-than-in-2026"&gt;https://www.techpowerup.com/353296/micron-ceo-says-memory-supply-will-be-much-tighter-in-2027-and-2028-than-in-2026&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-ai-pascals-wager"&gt;The AI Pascal’s Wager&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, copilot, foss, community&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It makes sense to me, it&amp;rsquo;s better to not fall prey to the marketing induced FOMO. Instead projects have a chance to do the right thing.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://ploum.net/2026-10-01-pascal_wager.html"&gt;https://ploum.net/2026-10-01-pascal_wager.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="if-we-do-not-stop-to-help-each-other-what-do-we-become"&gt;If we do not stop to help each other, what do we become?&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, community&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Aren&amp;rsquo;t we loosing sense of community and our humanity indeed?&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.codinghorror.com/if-we-do-not-stop-to-help-each-other-what-do-we-become/"&gt;https://blog.codinghorror.com/if-we-do-not-stop-to-help-each-other-what-do-we-become/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-opposite-of-the-apocalypse-is-a-neighborhood"&gt;The opposite of the apocalypse is a neighborhood&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, copilot, community, politics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Kind of an unusual read. But I think the message is powerful. We should definitely favor community over tools controlled by the new robber barons.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://thewhitepages.net/p/the-opposite-of-the-apocalypse-is"&gt;https://thewhitepages.net/p/the-opposite-of-the-apocalypse-is&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="one-month-without-ai"&gt;One month without AI&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, copilot, productivity, quality&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The slippery slop seems clear&amp;hellip; If you start generating a bit you&amp;rsquo;ll be pushed to loose full control in the end. Do you think you can learn this way? Improve? I doubt it.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html"&gt;https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="this-study-looks-at-how-and-with-whom-connected-cars-share-your-data"&gt;This study looks at how and with whom connected cars share your data&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, automotive, privacy&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The automakers still don&amp;rsquo;t care about privacy apparently&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://arstechnica.com/cars/2026/09/connected-car-data-privacy-is-still-abysmal-study-finds/"&gt;https://arstechnica.com/cars/2026/09/connected-car-data-privacy-is-still-abysmal-study-finds/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="file-notification-attacks"&gt;File Notification Attacks&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, security&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting new family of side channel attacks. Surprising it lingered for so long before being noticed.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://inoti.fyi/"&gt;https://inoti.fyi/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="dont-couple-your-go-code-to-github"&gt;Don&amp;rsquo;t couple your Go code to GitHub&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, go, supply-chain, vendor-lockin&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is clearly something which bugs me about the Go ecosystem. It&amp;rsquo;s way too coupled to a single Git provider. The approach to dependency management is neat otherwise but more care should be taken about avoiding this GitHub lock in.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://iain.rocks/blog/dont-couple-your-go-code-to-github"&gt;https://iain.rocks/blog/dont-couple-your-go-code-to-github&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="taking-out-the-garbage-in-postgres"&gt;Taking Out The Garbage In Postgres&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, postgresql, databases, performance&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting issues around cascading deletes in Postgres and how the indices are managed.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.dbos.dev/blog/scaling-deletions-in-postgres"&gt;https://www.dbos.dev/blog/scaling-deletions-in-postgres&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="dtap---text-and-test-anything-protocol"&gt;DTAP - Text and Test Anything Protocol&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, tests, infrastructure, shell&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Looks like an interesting tool for black box testing. Seems especially suited for full system tests.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://dtap.sparrowhub.io/doc/README"&gt;https://dtap.sparrowhub.io/doc/README&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="reducing-c-template-bloat-by-factoring-out-the-type-dependent-portions-of-the-function"&gt;Reducing C++ template bloat by factoring out the type-dependent portions of the function&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, c++&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is indeed a good way to reduce the code generated by templates.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://devblogs.microsoft.com/oldnewthing/20260820-00/?p=112629/"&gt;https://devblogs.microsoft.com/oldnewthing/20260820-00/?p=112629/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="we-have-named-arguments-at-home"&gt;We Have Named Arguments at Home&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, rust, type-systems&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s indeed not urgent to have this language feature in Rust. I&amp;rsquo;m less convinced about the case put forth regarding function overloading not being necessary though. Feels a bit like post-hoc justification in this case.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://corrode.dev/blog/named-arguments-at-home/"&gt;https://corrode.dev/blog/named-arguments-at-home/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="rusty-thoughts-on-parse-dont-validate"&gt;Rusty thoughts on &amp;ldquo;Parse, don&amp;rsquo;t validate&amp;rdquo;&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, type-systems, reliability, rust&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is indeed an important pattern to build reliable systems. It&amp;rsquo;s worth exploring in various languages. Here is the Rust perspective.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://eli.thegreenplace.net/2026/rusty-thoughts-on-parse-dont-validate/"&gt;https://eli.thegreenplace.net/2026/rusty-thoughts-on-parse-dont-validate/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="what-makes-lisp-difficult-to-read"&gt;What makes Lisp difficult to read?&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, lisp, vision&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting take and exploration for the reasons which might make Lisp harder to read than other languages.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://paultm.nl/paren-thesis"&gt;https://paultm.nl/paren-thesis&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="keep-if-clauses-side-effect-free"&gt;Keep if clauses side-effect free&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, programming, craftsmanship&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;re not paying for a couple more intermediate variables. For sure they make things more readable though.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.teamten.com/lawrence/programming/keep-if-clauses-side-effect-free.html"&gt;https://www.teamten.com/lawrence/programming/keep-if-clauses-side-effect-free.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="modern-motherfucking-website"&gt;Modern Motherfucking Website&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, web, frontend, framework, complexity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Indeed web frameworks are not needed for everything.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://modernmotherfuckingwebsite.dreamstation.systems/"&gt;https://modernmotherfuckingwebsite.dreamstation.systems/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="a-staff-engineers-guide-to-inventing-work"&gt;A Staff Engineer&amp;rsquo;s Guide to Inventing Work&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ecosystem, product-management, project-management&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting points. If you&amp;rsquo;re making a platform you can&amp;rsquo;t really figure out what to do next in the same way than when usual product management is possible. There are signals to look for to feed your roadmap though.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://sujithjay.com/inventing-work"&gt;https://sujithjay.com/inventing-work&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="even-at-100-meters-pv-makes-neighbours-more-likely-to-go-green"&gt;Even at 100 meters, PV makes neighbours more likely to go green&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, energy, ecology&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This finding is kind of surprising to me. Time to install solar systems at home I guess?&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.pv-magazine.com/2026/08/20/even-at-100-meters-pv-makes-neighbours-more-likely-to-go-green/"&gt;https://www.pv-magazine.com/2026/08/20/even-at-100-meters-pv-makes-neighbours-more-likely-to-go-green/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="sodium-ion-batteries-may-be-close-to-market-readiness"&gt;Sodium-Ion Batteries May Be Close to Market Readiness&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, energy, battery&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s see if it really takes off. It&amp;rsquo;d be a step in the right direction for sure.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://en.reset.org/electric-cars-powered-by-salt-instead-of-lithium-sodium-ion-batteries-may-be-close-to-market-readiness/"&gt;https://en.reset.org/electric-cars-powered-by-salt-instead-of-lithium-sodium-ion-batteries-may-be-close-to-market-readiness/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="pirating-the-pirates"&gt;Pirating the Pirates&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: movie, culture, copyright&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fascinating account of what people must go through for proper film preservation. It&amp;rsquo;s kind of weird that it is still illegal. You&amp;rsquo;d wish there&amp;rsquo;d be more recognition for such passion.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://mubi.com/en/notebook/posts/pirating-the-pirates"&gt;https://mubi.com/en/notebook/posts/pirating-the-pirates&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;hr&gt;
&lt;p&gt;Bye for now!&lt;/p&gt;</description><author>Kevin Ottens</author></item><item><title>Implementing Tracepoints in Qt Applications using Qt Creator 21</title><link>https://www.qt.io/blog/implementing-tracepoints-in-qt-applications-using-qt-creator-21</link><pubDate>Thu, 01 Oct 2026 16:10:21 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/implementing-tracepoints-in-qt-applications-using-qt-creator-21</guid><description>&lt;p&gt;Sometimes, as a developer, you need to find out why your application is misbehaving. The usual advice is to add tracing or use a profiler.&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fimplementing-tracepoints-in-qt-applications-using-qt-creator-21&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>Qt Creator 21 Beta released</title><link>https://www.qt.io/blog/qt-creator-21-beta-released</link><pubDate>Thu, 01 Oct 2026 10:45:59 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-creator-21-beta-released</guid><description>&lt;p style="font-weight: bold;"&gt;We are happy to announce the release of Qt Creator 21 Beta!&lt;/p&gt;
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=149513&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fwww.qt.io%2Fblog%2Fqt-creator-21-beta-released&amp;amp;bu=https%253A%252F%252Fwww.qt.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</description><author>Qt Dev Loop</author></item><item><title>This Month in KDE Linux: September 2026</title><link>https://blogs.kde.org/2026/10/01/this-month-in-kde-linux-september-2026/</link><pubDate>Thu, 01 Oct 2026 00:00:01 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/10/01/this-month-in-kde-linux-september-2026/</guid><description>&lt;p&gt;Welcome to this edition of &lt;em&gt;This Month in KDE Linux&lt;/em&gt;, dedicated to &lt;a target="_blank" href="https://linux.kde.org/"&gt;KDE’s next-generation operating system&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;September was a bit of a slow month for KDE Linux, the result of multiple contributors preparing for, attending, and recovering from &lt;a target="_blank" href="https://akademy.kde.org/2026/"&gt;Akademy 2026&lt;/a&gt;, and then later &lt;a target="_blank" href="https://all-systems-go.io/"&gt;All Systems Go! 2026&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But it was hopefully not all for naught; Harald and Nate gave a presentation about the project at Akademy:&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/2aXZONOsydA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;p&gt;…And then Harald gave another one at All Systems Go!&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/OlO3iSw12xc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;p&gt;Anyway, most work consisted of infrastructure and code maintenance, documentation improvements, and small bug fixes. Sky Poincet and Philip Grant did a lot of the heavy lifting while Harald and Nate were absent, which is much appreciated.&lt;/p&gt;
&lt;p&gt;Despite us still calling KDE Linux an alpha release, the project is maturing to focus on stability and polish, a classic application of the &lt;a target="_blank" href="https://en.wikipedia.org/wiki/Pareto_principle"&gt;Pareto principle&lt;/a&gt; (colloquially known as the “80/20” rule).&lt;/p&gt;
&lt;p&gt;One interesting project did land in September, though: Hadi Chokr &lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/merge_requests/636"&gt;replaced &lt;code&gt;sudo&lt;/code&gt; and &lt;code&gt;pkexec&lt;/code&gt; with wrappers&lt;/a&gt; that call the more modern and secure &lt;code&gt;run0&lt;/code&gt; tool. This reduces the number of SUID binaries that can be used for &lt;a target="_blank" href="https://www.hackingarticles.in/linux-privilege-escalation-using-suid-binaries/"&gt;privilege escalation attacks&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="buildstream"&gt;BuildStream&lt;/h2&gt;
&lt;!--
For easy copy-pasteability, since it can be easy to forget how to do these. Keep bbelow the first level 2 heading
![](IMAGE.png)
&lt;section class="swiper d-flex mb-5" aria-label="Screenshots" role="list"&gt;
&lt;div class="swiper-wrapper d-flex my-3" role="listitem"&gt;
&lt;/div&gt;
&lt;div class="swiper-pagination" style="bottom: 0"&gt;&lt;/div&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;figure class="text-center ratio ratio-16x9" style=""&gt;
&lt;video controls&gt;&lt;source src="%25!s%28%3cnil%3e%29VIDEO.mp4" type="video/mp4" /&gt;&lt;/video&gt;&lt;/figure&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/SOMELONGHASH?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
--&gt;
&lt;p&gt;This is probably a good time to talk about &lt;a target="_blank" href="https://buildstream.apache.org/"&gt;BuildStream&lt;/a&gt;. What’s BuildStream?&lt;/p&gt;
&lt;p&gt;If you know what Yocto is, BuildStream is basically Yocto but stewarded by the Apache Foundation.&lt;/p&gt;
&lt;p&gt;If you don’t, then the easiest wasy to explain BuildStream is that it’s a tool for compiling and packaging software from arbitrary sources. In the same way that &lt;code&gt;mkosi&lt;/code&gt; currently builds KDE Linux an OS image from distro packages, BuildStream builds an OS image from individual projects’ source code — bypassing distro packages entirely.&lt;/p&gt;
&lt;p&gt;KDE Linux has had a &lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/work_items/views/31"&gt;skunkworks project going on in the background&lt;/a&gt; that replaces the base OS’s Arch Linux packages with basically the same software stack, but built by us, using BuildStream. The project is quite close to a “shall we integrate it or not?” decision point.&lt;/p&gt;
&lt;p&gt;If we do, the result should behave identically and users won’t even notice the change — an advantage of KDE Linux being image-based rather than package-based.&lt;/p&gt;
&lt;p&gt;So here’s an obvious question: why are we considering doing a huge amount of work ourselves to rebuild what we’re already getting for free with Arch? KDE Linux has been able to inherit everything that makes Arch awesome, really accelerating its development.&lt;/p&gt;
&lt;p&gt;But ultimately Arch is a rolling release OS, and KDE Linux does not plan to be a rolling release OS. The user and stable editions will have discrete, time-based releases. If we stick with Arch, at the moment we branch for a new release, we have to either accept whatever’s in Arch (which could include regressions that we miss) or polish a fork of Arch for some amount of time (which entails doing a bunch of packaging work ourselves anyway).&lt;/p&gt;
&lt;p&gt;So while BuildStream offers other advantages too, the big win would be allowing us to have total control over the software versions we build, and making it easier for us to add new things that aren’t currently packaged by Arch (&lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/work_items/?label_name%5B%5D=Needs%20packaging"&gt;here are some examples&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;We wouldn’t be doing it all ourselves, either. The BuildStream-based KDE Linux variant is based on the FreeDesktop Flatpak SDK, same as GNOME OS. So maintenance will be shared across all three projects’ contributors.&lt;/p&gt;
&lt;p&gt;This project has consumed quite a bit of time over the past few months, and we’ll be plugging away in October, hopefully to the point where we can make a decision about it one way or another.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="how-you-can-help"&gt;How you can help&lt;/h2&gt;
&lt;p&gt;KDE Linux is making steady progress towards its &lt;a target="_blank" href="https://invent.kde.org/groups/kde-linux/-/milestones/2#tab-issues"&gt;Beta milestone&lt;/a&gt;, and remains 85% of the way there.&lt;/p&gt;
&lt;p&gt;There’s lots to do! If you’re a fan of the project, please help out; there are many ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;User support:&lt;/strong&gt; &lt;a target="_blank" href="https://discuss.kde.org/tag/kde-linux/450"&gt;help support people on discuss.kde.org using KDE Linux&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue reporting:&lt;/strong&gt; &lt;a target="_blank" href="https://linux.kde.org/docs/install"&gt;install KDE Linux&lt;/a&gt; and &lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/issues"&gt;report issues&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; improve &lt;a target="_blank" href="https://linux.kde.org/docs"&gt;the docs&lt;/a&gt; by submitting &lt;a target="_blank" href="https://invent.kde.org/websites/linux-kde-org/-/merge_requests/"&gt;merge requests&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flatpak:&lt;/strong&gt; fix &lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/issues/71"&gt;packaging or code issues in Flatpak-packaged apps&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OS development:&lt;/strong&gt; help &lt;a target="_blank" href="https://linux.kde.org/docs/kde-linux-dev"&gt;build KDE Linux&lt;/a&gt;! There’s &lt;a target="_blank" href="https://invent.kde.org/kde-linux/kde-linux/-/work_items/?sort=created_date&amp;amp;state=opened&amp;amp;milestone_title=Beta&amp;amp;first_page_size=100"&gt;plenty to do&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description><author>Nate Graham</author></item></channel></rss>