<?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-05-30T00:00:01+00:00</lastBuildDate><atom:link href="https://planet.kde.org/index.xml" rel="self" type="application/rss+xml"/><item><title>This Week in Plasma: 6.7 Beta 2 Released</title><link>https://blogs.kde.org/2026/05/30/this-week-in-plasma-6.7-beta-2-released/</link><pubDate>Sat, 30 May 2026 00:00:01 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/05/30/this-week-in-plasma-6.7-beta-2-released/</guid><description>&lt;!-- Example wording for a change, MR version. (Developer Name, [repo-name MR #xxx](https://invent.kde.org/plasma/repo-name/-/merge_requests/xxx)) --&gt;
&lt;!-- Example wording for a change, Bugzilla version. (Developer Name, [KDE Bugzilla #xxx](https://bugs.kde.org/show_bug.cgi?id=xxx)) --&gt;
&lt;!-- ![](thumbnail.png) --&gt;
&lt;!--
&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;
--&gt;
&lt;!--
&lt;figure class="text-center ratio ratio-16x9" style=""&gt;
&lt;video controls&gt;&lt;source src="%25!s%28%3cnil%3e%29something.mp4" type="video/mp4" /&gt;&lt;/video&gt;&lt;/figure&gt;
--&gt;
&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 the team continued getting Plasma 6.7 in great shape for release. So there was lots of focus on bug-fixing and UI polishing.&lt;/p&gt;
&lt;p&gt;We’ve released &lt;a target="_blank" href="https://kde.org/announcements/plasma/6/6.6.91/"&gt;the second beta of Plasma 6.7&lt;/a&gt;, jam-packed with the latest fixes. If you can, please install it and test everything! There are &lt;a target="_blank" href="https://community.kde.org/Plasma/Live_Images"&gt;many options for doing so&lt;/a&gt;.&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-67"&gt;Plasma 6.7&lt;/h3&gt;
&lt;p&gt;Made it impossible to accidentally drag a window so far off a screen edge that it couldn’t be moved back. (Vlad Zahorodnii, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=495635"&gt;KDE Bugzilla #495635&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Uninstalling an application now removes it from the history section of all the various launcher widgets. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=437303"&gt;KDE Bugzilla #437303&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Made auto-hide panels compatible with the “Switch desktop on edge &amp;gt; Always enabled” setting. (Francesco Panarese, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=370964"&gt;KDE Bugzilla #370964&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The Application Launcher’s “All Applications” view now groups apps case-insensitively, so apps whose first letter is lowercase no longer get pushed into their own group. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=501788"&gt;KDE Bugzilla #501788&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Clarified how the option to create a virtual screen works in the screen chooser dialog. (David Redondo, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=517296"&gt;KDE Bugzilla #517296&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;The lock screen now fully respects the timeout value set by PAM on the underlying system, instead of adding its own mandatory delay on top of it. This means on systems with the delay set to 0, you can re-type your password immediately after getting it wrong. (Tobias Fella, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3702"&gt;plasma-desktop MR #3702&lt;/a&gt; and &lt;a target="_blank" href="https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/322"&gt;plasma-workspace MR #322&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The lock screen now notifies you when the “Slow Keys” accessibility feature is turned on, just in case you’re failing to type your password and don’t know why. (Martin Riethmayer, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3726"&gt;plasma-desktop #3726&lt;/a&gt; and &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6626"&gt;plasma-workspace MR #6626&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Discover’s dialog about a Flatpak app being replaced by another one now reassures you that your data will be automatically transferred, and also warns you that favorites/shortcuts/etc. to the old app will have to be re-made manually. (Nate Graham, &lt;a target="_blank" href="https://invent.kde.org/plasma/discover/-/merge_requests/1342"&gt;discover MR #1342&lt;/a&gt; and &lt;a target="_blank" href="https://invent.kde.org/plasma/discover/-/merge_requests/1343"&gt;discover MR #1343&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Reduced the amount of visual flickering when Discover checks for updates. (Aleix Pol Gonzalez, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=513220"&gt;KDE Bugzilla #513220&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-666"&gt;Plasma 6.6.6&lt;/h3&gt;
&lt;p&gt;Fixed a case where KWin could crash when a monitor was rapidly power-cycled or some of its settings were rapidly changed. (Vlad Zahorodnii, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520145"&gt;KDE Bugzilla #520145&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a case where the &lt;code&gt;kactivitymanagerd&lt;/code&gt; service could crash in the background. (Marco Martin, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520595"&gt;KDE Bugzilla #520595&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a clipboard-related issue that could make XWayland-using apps lag or freeze right after locking the screen. (Vlad Zahorodnii, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520674"&gt;KDE Bugzilla #520674&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could make the large text of the digital clock displayed on the lock and login screens look kind of jagged with certain specific fonts. (Filip Fila, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=516314"&gt;KDE Bugzilla #516314&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-67-1"&gt;Plasma 6.7&lt;/h3&gt;
&lt;p&gt;Worked around an oddly-specific issue in Qt that could make widgets break when enabled in the System Tray after having previously disabled them and then restarted the computer. (Tobias Fella, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520144"&gt;KDE Bugzilla #520144&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Worked around an issue with the hardware or firmware on specific laptops that could trigger an infinite stream of keyboard brightness OSDs after closing the lid. (Vitaly Repin, &lt;a target="_blank" href="https://invent.kde.org/plasma/powerdevil/-/merge_requests/632"&gt;powerdevil MR #632&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could make a renamed file on the desktop visually disappear (it still existed, and could be accessed through Dolphin) while multiple Activities were in use, or move to another location when there was only one Activity. (Akseli Lahtinen, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520633"&gt;KDE Bugzilla #520633&lt;/a&gt; and &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=511920"&gt;KDE Bugzilla #511920&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made it impossible to use a hardware key to authenticate to an 802.1x-protected network. (Katharina Bogad, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520449"&gt;KDE Bugzilla #520449&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made the Networks widget show the wrong icon for an OVS bridge network. (Ivan Perevalov, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=517384"&gt;KDE Bugzilla #517384&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could make Plasma’s built-in remote desktop server lag or freeze when copying certain specific things in certain specific apps. (Paul Hoskinson, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520175"&gt;KDE Bugzilla #520175&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made it impossible to focus the Network Widget’s search field using &lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;F&lt;/kbd&gt;. (Akseli Lahtinen, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=515280"&gt;KDE Bugzilla #515280&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made the buttons on the fingerprint enrollment dialog get misplaced. (Harald Sitter, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=515824"&gt;KDE Bugzilla #515824&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue with the Breeze theming of GTK apps that made sidebar separator lines turn bright white with dark color schemes. (Levi Leal, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=484383"&gt;KDE Bugzilla #484383&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68-1"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Fixed two issues that could make KWin crash or fail to evaluate mathematical calculations from the Overview effect. (Alexander Lohnau, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519923"&gt;KDE Bugzilla #519923&lt;/a&gt; and &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=483147"&gt;KDE Bugzilla #483147&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that made it impossible to open the panel context menu while already in edit mode. (Tobias Fella, &lt;a target="_blank" href="https://invent.kde.org/plasma/libplasma/-/merge_requests/1468"&gt;libplasma MR #1468&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>Marknote 1.6.0</title><link>https://carlschwan.eu/2026/05/30/marknote-1.6.0/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://carlschwan.eu/2026/05/30/marknote-1.6.0/</guid><description>&lt;p&gt;After a few months of development, Marknote 1.6.0 is out!&lt;/p&gt;
&lt;p&gt;This release is packed with new features. First of all, sub-folders are finally supported. This allows you to better organize your notes. This feature is still very new and at the moment, we don&amp;rsquo;t support creating these sub-folders in Marknote and you will need to create them in Dolphin or your preferred file manager. But we are planning to improve this further in future releases. Each notebook now also displays how many notes are stored inside.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/05/30/marknote-1.6.0/marknote-tree.png" data-size="1274x833"&gt;
&lt;img src="https://carlschwan.eu/2026/05/30/marknote-1.6.0/marknote-tree.png" width="1274" height="833" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Another big new change is that the command bar exposed by Marknote, now allows you to search for notes across all your notebooks.&lt;/p&gt;
&lt;p&gt;If you feel fancy, we also added an optional background blur effect for the editor similar to what is also available in other KDE apps like NeoChat.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/05/30/marknote-1.6.0/blur.png" data-size="1666x1024"&gt;
&lt;img src="https://carlschwan.eu/2026/05/30/marknote-1.6.0/blur.png" width="1666" height="1024" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Finally, we made it easier to add emojis to your notes by adding emoji completions to the text editor.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;a target="_blank" href="https://carlschwan.eu/2026/05/30/marknote-1.6.0/emoji.png" data-size="1274x833"&gt;
&lt;img src="https://carlschwan.eu/2026/05/30/marknote-1.6.0/emoji.png" width="1274" height="833" loading="lazy"
alt="&amp;nbsp;"&gt;
&lt;/a&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;This release also fixes various minor bugs; contains small refactoring and improves the state of the translations.&lt;/p&gt;
&lt;h2 id="packager-section"&gt;Packager section&lt;/h2&gt;
&lt;p&gt;You can find the package on
&lt;a class="link" target="_blank" href="https://download.kde.org/stable/marknote/marknote-1.6.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>Web Review, Week 2026-22</title><link>https://ervin.ipsquad.net/blog/2026/05/29/web-review-week-2026-22/</link><pubDate>Fri, 29 May 2026 13:57:07 +0000</pubDate><guid isPermaLink="true">https://ervin.ipsquad.net/blog/2026/05/29/web-review-week-2026-22/</guid><description>&lt;p&gt;Let&amp;rsquo;s go for my web review for the week 2026-22.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="what-i-learned-about-billionaires-at-jeff-bezoss-private-retreat"&gt;What I Learned About Billionaires at Jeff Bezos’s Private Retreat&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: business, politics, culture, ethics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Wondering how those very rich people think and perceive the world? Here is an explanation. I felt unease reading through this.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.theatlantic.com/magazine/2026/05/billionaire-consequence-free-reality/686588/?gift=fXb4ymsFcV2ntAzqIpmYvZ5SHmVudSgCCvY8EbJPC2Q"&gt;https://www.theatlantic.com/magazine/2026/05/billionaire-consequence-free-reality/686588/?gift=fXb4ymsFcV2ntAzqIpmYvZ5SHmVudSgCCvY8EbJPC2Q&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="secure-boot-and-microsoft-ca-rollover---a-heads-up-for-distributions"&gt;Secure Boot and Microsoft CA Rollover - a heads-up for distributions&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, microsoft, linux, security&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Microsoft has been deploying new CA certificates late&amp;hellip; Now distros have to wake up and prepare new signatures for their shims quickly.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.einval.com/2026/05/22#secure_boot_ca_rollover"&gt;https://blog.einval.com/2026/05/22#secure_boot_ca_rollover&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="big-techs-anti-labor-playbook-has-come-for-wikipedia"&gt;Big Tech’s Anti-Labor Playbook Has Come for Wikipedia&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, wikipedia, community, business, work, ethics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is very concerning. We don&amp;rsquo;t need Wikipedia to fall prey to this kind of tactics&amp;hellip; On the contrary!&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://medium.com/@jakeorlowitz/wikipedia-is-doing-the-capitalist-thing-56a393232943"&gt;https://medium.com/@jakeorlowitz/wikipedia-is-doing-the-capitalist-thing-56a393232943&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="google-i-dump-your-ass"&gt;Google, I Dump Your Ass!&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, google, web&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I guess it&amp;rsquo;s time we realise Google doesn&amp;rsquo;t send much traffic on the open web / small web / indie web (call it as you please) and so there&amp;rsquo;s no need to let them harvest.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://jaredwhite.com/20260522/google-i-dump-your-ass"&gt;https://jaredwhite.com/20260522/google-i-dump-your-ass&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-ai-gold-rush-is-eating-its-own"&gt;The AI Gold Rush Is Eating Its Own&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, wikipedia, cognition, business&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is clearly the Ouroboros moment in our industry. People pushing for such restructuring and layoffs are drinking the kool-aid and will ultimately be responsible for killing what put them there in the first place.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.ppb1701.com/the-ai-gold-rush-is-eating-its-own"&gt;https://blog.ppb1701.com/the-ai-gold-rush-is-eating-its-own&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-community-is-the-achievement-the-achievement-is-the-community"&gt;The Community is the Achievement; the Achievement is the Community&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, knowledge, commons, community, ai, machine-learning, gpt, copilot, ethics, diversity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Very interesting take. This gives very valid ground on why tech communities should reject AI based contributions. Not doing so will indeed hinder the commons communities rely on to exist and improve. This is a path to prevent getting better at inclusivity and diversity (which is really needed).&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://linguacelta.com/blog/2026/05/LLMs.html"&gt;https://linguacelta.com/blog/2026/05/LLMs.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="affordances-for-me-but-not-for-thee"&gt;Affordances for me, but not for thee&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, ethics, politics, accessibility&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is a fact I don&amp;rsquo;t get&amp;hellip; people are going their way to satisfy the need of a LLM but not the ones of fellow humans. I guess it&amp;rsquo;s the conclusion which is somewhat right, it&amp;rsquo;s about who has power. This is sad if true&amp;hellip; also I doubt it&amp;rsquo;s the single explanation.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://werd.io/affordances-for-me-but-not-for-thee/"&gt;https://werd.io/affordances-for-me-but-not-for-thee/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-price-of-humans"&gt;The price of humans&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, copilot, marketing&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting point&amp;hellip; Didn&amp;rsquo;t think about it this way. We&amp;rsquo;ll see I guess. Maybe human made services will actually get a premium rate indeed. Wouldn&amp;rsquo;t be a bad outcome I guess?&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://blog.umangsurana.com/blog/price_of_humans/"&gt;https://blog.umangsurana.com/blog/price_of_humans/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="can-we-have-the-day-off"&gt;Can we have the day off?&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, gpt, work, culture, productivity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I mean, with the announced productivity gains of generative AI&amp;hellip; It doesn&amp;rsquo;t feel like a big ask. 😜&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://mlsu.io/posts/day-off/"&gt;https://mlsu.io/posts/day-off/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="bitwarden-selling-out-self-hosting-a-password-vault"&gt;BitWarden selling out? Self hosting a password vault?&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, self-hosting, security&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;With Bitwarden sinking, it&amp;rsquo;s maybe time to look at alternatives? This AliasVault option looks like an interesting contender even though a not young.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://firesphere.dev/articles/bitwarden-selling-out-self-hosting-a-password-vault"&gt;https://firesphere.dev/articles/bitwarden-selling-out-self-hosting-a-password-vault&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="a-cheap-vps-is-a-good-front"&gt;A cheap VPS is a good front&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, self-hosting, security, vpn, wireguard&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sounds like a good solution to self host things at home while having some protection.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://ergaster.org/thoughts/front-server/"&gt;https://ergaster.org/thoughts/front-server/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-mysterious-xf86audioplay-issue"&gt;The mysterious XF86AudioPlay issue&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, audio, hardware&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is an odd and unexpected one! Funny after the facts bit clearly annoying otherwise.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://michael-prokop.at/blog/2026/05/20/the-mysterious-xf86audioplay-issue/"&gt;https://michael-prokop.at/blog/2026/05/20/the-mysterious-xf86audioplay-issue/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="serving-files-over-http-three-ways-synchronous-epoll-and-io_uring"&gt;Serving files over HTTP three ways: synchronous, epoll, and io_uring&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, linux, io, asynchronous&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good post to have an idea of the modern IO APIs available.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://theconsensus.dev/p/2026/05/18/serving-files-three-ways.html"&gt;https://theconsensus.dev/p/2026/05/18/serving-files-three-ways.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="rust-patterns--engineering-how-tos"&gt;Rust Patterns &amp;amp; Engineering How-Tos&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, rust&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The writing isn&amp;rsquo;t perfect, but it covers quite a few important topics in Rust. Seems to be a nice resource even though it&amp;rsquo;s still work in progress.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://microsoft.github.io/RustTraining/rust-patterns-book/"&gt;https://microsoft.github.io/RustTraining/rust-patterns-book/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="how-virtual-tables-work-in-the-itanium-c-abi--file-descriptor-two"&gt;How Virtual Tables Work in the Itanium C++ ABI | File Descriptor Two&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, c++, type-systems, memory&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Wondering about the memory layout emitted by the compiler when a virtual table exists for a type? This is a good summary.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://peter0x44.github.io/posts/vtables-itanium-abi/"&gt;https://peter0x44.github.io/posts/vtables-itanium-abi/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="the-worst-job-interview-i-ever-had"&gt;The worst job interview I ever had&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: hr, interviews&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Urgh&amp;hellip; indeed this sounds like a very bad experience. Don&amp;rsquo;t do this to applicants!&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.oliverio.dev/blog/the-worst-job-interview-i-had"&gt;https://www.oliverio.dev/blog/the-worst-job-interview-i-had&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="what-is-a-harmonic-an-interactive-comic-about-additive-synthesis"&gt;What is a harmonic? An interactive comic about additive synthesis&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: physics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Need a refresher on harmonics? This is a quick and fun way to do so.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://melatonin.dev/additive-synth-comic/what-is-a-harmonic/"&gt;https://melatonin.dev/additive-synth-comic/what-is-a-harmonic/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="why-japanese-companies-do-so-many-different-things"&gt;Why Japanese companies do so many different things&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: japan, business, culture&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Interesting exploration of the Japanese business culture and why it&amp;rsquo;s so different to most companies found in Western countries.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://davidoks.blog/p/why-japanese-companies-do-so-many"&gt;https://davidoks.blog/p/why-japanese-companies-do-so-many&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>Qt Creator 20 - CMake Update</title><link>https://www.qt.io/blog/qt-creator-20-cmake-update</link><pubDate>Fri, 29 May 2026 10:54:11 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-creator-20-cmake-update</guid><description>&lt;p&gt;Here are the new CMake changes in Qt Creator 20:&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-20-cmake-update&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>SPDX Cryptographic Algorithm List: Spring 2026 Update</title><link>https://toscalix.com/2026/05/28/spdx-cryptographic-algorithm-list-spring-2026-update/</link><pubDate>Thu, 28 May 2026 12:52:33 +0000</pubDate><guid isPermaLink="true">http://toscalix.com/?p=3283</guid><description>The SPDX Cryptographic Algorithm List keeps growing. New cryptoClass values, a structured docs folder, PQC as a new property, and SCANOSS as our first user-contributor. Here is what happened in the past months.</description><author>Agustín Benito Bethencourt</author></item><item><title>GSoC 2026: Week 1 (Coding Period)</title><link>https://roshani-gsoc.bearblog.dev/gsoc-2026-week-1-coding-period/</link><pubDate>Thu, 28 May 2026 11:53:00 +0000</pubDate><guid isPermaLink="true">https://roshani-gsoc.bearblog.dev/gsoc-2026-week-1-coding-period/</guid><description>&lt;p&gt;The community bonding period is over, and coding started, so this feels like the right moment for a first blog post. I'm contributing to KeepSecret this summer as part of GSoC 2026, working on single-wallet UX and page navigation architecture.&lt;/p&gt;
&lt;p&gt;What I did during community bonding:&lt;/p&gt;
&lt;p&gt;-&gt;Close/dismiss button for entry detail panel&lt;/p&gt;
&lt;p&gt;Before the Community Bonding Period:&lt;/p&gt;
&lt;p&gt;Resolving three issues:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;!17 (focus the search field when the Search action is triggered),&lt;/li&gt;
&lt;li&gt;!18 (fix the "New Entry" dialog title, which was incorrectly saying "Create New Item") and&lt;/li&gt;
&lt;li&gt;!20 (hides the sidebar when only one wallet exists, worked on the five layout states and cover edge cases like narrow windows with multiple wallets, single-wallet with an item open, and all three pages visible at once).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Week 1 plan:&lt;/p&gt;
&lt;p&gt;This week, I'm working on Import/export: study existing wallet data structures in KeepSecret. Define file format and design the export flow.&lt;/p&gt;
&lt;p&gt;Port KeepSecret's actions to the new org.kde.kirigami.actioncollection API from kirigami-app-components. This wasn't in the original proposal but it's a good addition, suggested by my mentor, notmart (Marco Martin) — it means users will be able to configure keyboard shortcuts for actions like "New Wallet" and "New Entry" through a standard KDE dialog.&lt;/p&gt;
&lt;p&gt;More updates next week. The code is at invent.kde.org/utilities/keepsecret&lt;/p&gt;
&lt;p&gt;GSoC 2026 KDE KeepSecret Kirigami Qt / QML&lt;/p&gt;</description><author>Roshani Kumari</author></item><item><title>Introducing Agentic Test Generation Skills for Qt Quick</title><link>https://www.qt.io/blog/introducing-agentic-test-generation-skills-for-qt-quick</link><pubDate>Thu, 28 May 2026 08:02:56 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/introducing-agentic-test-generation-skills-for-qt-quick</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/introducing-agentic-test-generation-skills-for-qt-quick?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/QtQuickTest_Copilot_TestCasesTermostat.png" alt="Introducing Agentic Test Generation Skills for Qt Quick" 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&gt;&lt;span style="font-weight: bold;"&gt;Writing unit tests can be one of the most time-consuming and least creative phases of software development.&lt;/span&gt; For every QML component a developer writes, an equivalent volume of test code must follow - covering properties, signals, mouse and key interactions, state transitions, and edge cases. &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%2Fintroducing-agentic-test-generation-skills-for-qt-quick&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 Plasma 6.7 Beta Release</title><link>https://kde.org/announcements/plasma/6/6.6.91/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://kde.org/announcements/plasma/6/6.6.91/</guid><description>&lt;p&gt;Here are the new modules available in the Plasma 6.7 beta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;plasma-bigscreen&lt;/li&gt;
&lt;li&gt;union&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some important features and changes included in 6.7 beta are &lt;a target="_blank" href="https://community.kde.org/Plasma/Plasma_6#Plasma_6.7"&gt;highlighted on KDE community wiki page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="help-stress-test-the-union-theming-system"&gt;Help stress-test the Union theming system&lt;/h2&gt;
&lt;p&gt;This releases marks the first public tech preview of the new &lt;a target="_blank" href="https://invent.kde.org/plasma/union/"&gt;Union theming system&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;To make it easier to test Union in 6.7 Beta 2 and onwards, &lt;strong&gt;Union can now be enabled globally by setting it as your &lt;em&gt;Application Style&lt;/em&gt; in &lt;em&gt;System Settings &amp;gt; Colors &amp;amp; Themes &amp;gt; Application Style&lt;/em&gt;&lt;/strong&gt;. Applications must be restarted to use Union.&lt;/p&gt;
&lt;p&gt;If you’d like to test Union with a specific application, type &lt;code&gt;QT_QUICK_CONTROLS_STYLE=org.kde.union [program name]&lt;/code&gt; into a terminal, where &lt;code&gt;[program name]&lt;/code&gt; is, for example, &lt;code&gt;systemsettings&lt;/code&gt;, &lt;code&gt;plasma-systemmonitor&lt;/code&gt;, &lt;code&gt;plasma-discover&lt;/code&gt;, &lt;code&gt;spectacle&lt;/code&gt;, or any other QML-based app. Don’t set the environment variable globally, or this will break Flatpak apps.&lt;/p&gt;
&lt;p&gt;The intention is for these apps to look as similar as possible when styled with Union to how they look without Union (though any minor visual improvements should be considered intentional!).&lt;/p&gt;
&lt;p&gt;If you find any issues, make sure they’re Union-specific by running the app without Union, either by launching it with Breeze as your &lt;em&gt;Application Style&lt;/em&gt; or by not overriding the &lt;code&gt;QT_QUICK_CONTROLS_STYLE&lt;/code&gt; environment variable; this uses the current styling system so you can compare the two.&lt;/p&gt;
&lt;p&gt;If you’ve found a Union-specific issue, &lt;a target="_blank" href="https://bugs.kde.org/enter_bug.cgi?product=Union"&gt;report it here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="everything-else"&gt;Everything else&lt;/h2&gt;
&lt;!-- Changelog appears here --&gt;
&lt;a target="_blank" href="https://kde.org/announcements/changelogs/plasma/6/6.6.90-6.6.91"&gt;View full changelog&lt;/a&gt;</description><author>KDE Community</author></item><item><title>Krita 5.3.2 Released!</title><link>https://krita.org/en/posts/2026/krita-5.3.2-released/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://krita.org/en/posts/2026/krita-5.3.2-released/</guid><description>&lt;p&gt;Today we're releasing Krita 5.3.2 and 6.0.2. This release fixes a number of issues with the text tool, and improves the Selection Action Panel significantly. Furthermore, Android now handles resource copying in the background, preventing a common crash on startup. In addition to that, many more bugfixes were made, including some by new contributors!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix conversion of layers names passed to GMic (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=517975"&gt;Bug 517975&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix reversal of the layers when importing .kra as layers (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=514760"&gt;Bug 514760&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix font selection in qt6 and improve font dropdown.(&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=515548"&gt;Bug 515548&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix text not getting selected when created on a normal layer (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=516006"&gt;Bug 516006&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Make keyframe selection change layer selection.&lt;/li&gt;
&lt;li&gt;Fix text shape not handling whitespace chars properly.&lt;/li&gt;
&lt;li&gt;Fix KisAnimationRenderingOptions not loading frameExportConfig.&lt;/li&gt;
&lt;li&gt;Several fixes for RGBE file loading.&lt;/li&gt;
&lt;li&gt;Check for export status of every animation frame and error out on QFile::copy failure, Improve KisAnimationRender error handling (Thanks, Raidon Chrome).&lt;/li&gt;
&lt;li&gt;Fix Selection Action Panel disappearing when toggling selection visibility (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518633"&gt;Bug 518633&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Add a Selection Action Panel toggle to the selection tool options docker.&lt;/li&gt;
&lt;li&gt;Android: Copy assets without blocking main thread. This could take so long that Android thinks the application is not responding and prompts the user to terminate it.&lt;/li&gt;
&lt;li&gt;Several fixes to testing whether the file can be created when saving a document.&lt;/li&gt;
&lt;li&gt;Switch base image to Clang 21 on Windows.&lt;/li&gt;
&lt;li&gt;Fix number of pixels in A1 paper preset (Thanks, Ming-Chuan Lin).&lt;/li&gt;
&lt;li&gt;Add a context menu to the Selection Action Panel, and add these to the global menu bar too.&lt;/li&gt;
&lt;li&gt;fix segfault in PSD COS parser (Thanks, Arimil).&lt;/li&gt;
&lt;li&gt;Fix word selection when there's hard breaks present (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518338"&gt;Bug 518338&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Prevent division by 0 in tool outline.&lt;/li&gt;
&lt;li&gt;Add buttons for italic and bold to font style.&lt;/li&gt;
&lt;li&gt;Fix toggle italic action.(&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518890"&gt;Bug 518890&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix font style-selection search algorithm in text properties docker. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518874"&gt;Bug 518874&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Several icons for python plugins and the crash logs were added (thanks, Arkady Flury).&lt;/li&gt;
&lt;li&gt;Fix warp transform preview not showing until first adjustment (Thanks, Ivan Valenzuela).&lt;/li&gt;
&lt;li&gt;Revert &amp;quot;Fix Transform and Move shortcuts conflicting Timeline arrow key actions&amp;quot; (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=515703"&gt;Bug 515703&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Create a qquickwidget based popup for handling popups with qquickwidgets, to improve the look and feel of the font dropdown.&lt;/li&gt;
&lt;li&gt;Fix freeze on opening a hi-dpi image with a vector layer (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519785"&gt;Bug 519785&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Text: avoid potential assert when checking the text type.&lt;/li&gt;
&lt;li&gt;Text: fix a bunch of potential array index crashes by using a dedicated function.&lt;/li&gt;
&lt;li&gt;Don't move line origin if Alt is held at start (this interferes with users binding the Alt key to the line tool quick switch).&lt;/li&gt;
&lt;li&gt;Fix saving the title element on paths correctly. This broke some symbol libraries (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520345"&gt;Bug 520345&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check out the &lt;a target="_blank" href="https://krita.org/en/release-notes/krita-5-3-release-notes/"&gt;release notes&lt;/a&gt; for a full overview of all the new features in Krita 5.3 and 6.0.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
A particularly annoying set of bugs with the layer docker crept in. We're releasing a fix as soon as possible. We recommend waiting for the fix.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
One again, we consider Krita 5.3.2 suitable for productive work; 6.0.2 is, because of the many changes from Qt5 to Qt6 more experimental.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id="download-532"&gt;Download 5.3.2&lt;/h2&gt;
&lt;h3 id="windows"&gt;Windows&lt;/h3&gt;
&lt;p&gt;If you're using the &lt;em&gt;portable zip files&lt;/em&gt;, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
We are no longer making 32-bit Windows builds.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;64 bits Windows Installer: &lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-x64-5.3.2-setup.exe"&gt;krita-x64-5.3.2-setup.exe&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Portable 64 bits Windows: &lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-x64-5.3.2.zip"&gt;krita-x64-5.3.2.zip&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-x64-5.3.2-dbg.zip"&gt;Debug symbols. (Unpack in the Krita installation folder)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;p&gt;Note: starting with recent releases, the minimum supported distro versions may change.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;64 bits Linux: &lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-5.3.2-x86_64.AppImage"&gt;krita-5.3.2-x86_64.AppImage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="macos"&gt;MacOS&lt;/h3&gt;
&lt;p&gt;Note: minimum supported MacOS may change between releases.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MacOS disk image: &lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-5.3.2-signed.dmg"&gt;krita-5.3.2-signed.dmg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="android"&gt;Android&lt;/h3&gt;
&lt;p&gt;Krita on Android is still &lt;strong&gt;&lt;em&gt;beta&lt;/em&gt;&lt;/strong&gt;; tablets only.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-x86_64-5.3.2-release-signed.apk"&gt;64 bits Intel CPU APK&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-arm64-v8a-5.3.2-release-signed.apk"&gt;64 bits Arm CPU APK&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/5.3.2/krita-armeabi-v7a-5.3.2-release-signed.apk"&gt;32 bits Arm CPU APK&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="source-code"&gt;Source code&lt;/h3&gt;
&lt;p&gt;For source archives, please download one of the 6.0.2 archives and build with Qt5.&lt;/p&gt;
&lt;h2 id="download-602"&gt;Download 6.0.2&lt;/h2&gt;
&lt;h3 id="windows-1"&gt;Windows&lt;/h3&gt;
&lt;p&gt;If you're using the &lt;em&gt;portable zip files&lt;/em&gt;, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
We are no longer making 32-bit Windows builds.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;64 bits Windows Installer: &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-x64-6.0.2-setup.exe"&gt;krita-x64-6.0.2-setup.exe&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Portable 64 bits Windows: &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-x64-6.0.2.zip"&gt;krita-x64-6.0.2.zip&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-x64-6.0.2-dbg.zip"&gt;Debug symbols. (Unpack in the Krita installation folder)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux-1"&gt;Linux&lt;/h3&gt;
&lt;p&gt;Note: starting with recent releases, the minimum supported distro versions may change.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;64 bits Linux: &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-6.0.2-x86_64.AppImage"&gt;krita-6.0.2-x86_64.AppImage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="macos-1"&gt;MacOS&lt;/h3&gt;
&lt;p&gt;Note: minimum supported MacOS may change between releases.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MacOS disk image: &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-6.0.2-signed.dmg"&gt;krita-6.0.2-signed.dmg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="android-1"&gt;Android&lt;/h3&gt;
&lt;p&gt;Krita 6.0.2 is not yet functional on Android, so we are not making APK's available for sideloading.&lt;/p&gt;
&lt;h3 id="source-code-1"&gt;Source code&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-6.0.2.tar.gz"&gt;krita-6.0.2.tar.gz&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/krita-6.0.2.tar.xz"&gt;krita-6.0.2.tar.xz&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="md5sum"&gt;md5sum&lt;/h3&gt;
&lt;p&gt;For all downloads, visit &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/"&gt;https://download.kde.org/stable/krita/6.0.2/&lt;/a&gt; and click on &amp;quot;Details&amp;quot; to get the hashes.&lt;/p&gt;
&lt;h3 id="key"&gt;Key&lt;/h3&gt;
&lt;p&gt;The Linux AppImage and the source tarballs are signed. You can retrieve the public key &lt;a target="_blank" href="https://files.kde.org/krita/dmitry_kazakov.gpg"&gt;here&lt;/a&gt;. The signatures are &lt;a target="_blank" href="https://download.kde.org/stable/krita/6.0.2/"&gt;here&lt;/a&gt; (filenames ending in .sig).&lt;/p&gt;</description><author>Krita News</author></item><item><title>Monthly Report - May 2026</title><link>https://krita.org/en/posts/2026/monthly-report-2605/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://krita.org/en/posts/2026/monthly-report-2605/</guid><description>&lt;p&gt;Krita 5.3.2/6.0.2 is here. Read on for a look at development news and the Krita-Artists forum's featured artwork from last month.&lt;/p&gt;
&lt;h2 id="development-report"&gt;Development Report&lt;/h2&gt;
&lt;h3 id="krita-532602-released"&gt;Krita 5.3.2/6.0.2 Released&lt;/h3&gt;
&lt;p&gt;Krita &lt;a target="_blank" href="https://krita.org/en/posts/2026/krita-5.3.2-released/"&gt;5.3.2/6.0.2&lt;/a&gt; was released, containing various bugfixes and improvements from the nearly two months since 5.3.1/6.0.1.&lt;/p&gt;
&lt;h4 id="fixes-since-last-month"&gt;Fixes Since Last Month&lt;/h4&gt;
&lt;p&gt;In the Text Properties docker there are now buttons to toggle Bold and Italic next to the Font Style chooser, toggling italics with Ctrl+I works properly the first time, and an issue where some fonts wouldn't allow choosing Regular style was fixed (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518890"&gt;bug&lt;/a&gt;; CC&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518874"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2772"&gt;change&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;A freeze on opening a high PPI image with a vector layer was fixed, as well as the image progress bar getting stuck (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519785"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/d627fb434d"&gt;change 1&lt;/a&gt;, &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/e67889d0d8"&gt;change 2&lt;/a&gt;).&lt;/p&gt;
&lt;h3 id="developments-in-the-unstable-builds"&gt;Developments in the Unstable Builds&lt;/h3&gt;
&lt;p&gt;In Krita Next, the Selection Tools now have a tool option to Move Selected Content by dragging the inside of a selection. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=510834"&gt;wishbug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2555"&gt;change&lt;/a&gt; by Ricky Ringler)&lt;/p&gt;
&lt;p&gt;Wolthera has made some improvements to the Wide Gamut Color Selector. L*a*b* and YCbCr are converted to LCh (lightness, chroma, hue) instead of directly using their channels, meaning they are now able to map properly to the HSV-based selector layouts (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2271"&gt;change&lt;/a&gt;). Additionally, the static hue edge option is now implemented for when hue is shown in a bar instead of a ring (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/d3def9598f"&gt;change&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="community-report"&gt;Community Report&lt;/h2&gt;
&lt;h3 id="april-2026-monthly-art-challenge-results"&gt;April 2026 Monthly Art Challenge Results&lt;/h3&gt;
&lt;p&gt;The winner of the &lt;a target="_blank" href="https://krita-artists.org/t/april-2026-art-challenge-microadventure/178128"&gt;&amp;quot;Microadventure&amp;quot;&lt;/a&gt; challenge is…&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/bumblebee-hug-april-2026-art-challenge/181894"&gt;Bumblebee hug&lt;/a&gt; by npc&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_bumblebee_hug-npc_lq.webp"&gt; &lt;img class="fit" src="images/posts/2026/m2605_bumblebee_hug-npc_lq.webp" alt="Bumblebee hug by npc"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;h3 id="join-this-months-art-challenge"&gt;Join This Month's Art Challenge!&lt;/h3&gt;
&lt;p&gt;For May's theme, last month's winner has chosen &lt;a target="_blank" href="https://krita-artists.org/t/may-2026-art-challenge-animals-and-patterns/181984"&gt;&amp;quot;Animals and Patterns&amp;quot;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="featured-artwork"&gt;Featured Artwork&lt;/h2&gt;
&lt;p&gt;This month's featured forum artwork, as voted in the &lt;a target="_blank" href="https://krita-artists.org/t/nominate-your-favourite-artwork-here-march-april-2026/174377"&gt;Best of Krita-Artists - March/April 2026&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/recharge-2026/176627"&gt;Recharge&lt;/a&gt; by zegalur&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_recharge-zegalur.jpeg"&gt; &lt;img class="fit" src="images/posts/2026/m2605_recharge-zegalur.jpeg" alt="Recharge by zegalur"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/one-heartbeat/173546"&gt;One Heartbeat&lt;/a&gt; by Rhea_Asma&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_one_heartbeat-rhea_asma_lq.webp"&gt; &lt;img class="fit" src="images/posts/2026/m2605_one_heartbeat-rhea_asma_lq.webp" alt="One Heartbeat by Rhea_Asma"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/resilience-amidst-the-chaos-valquer-jose/174289"&gt;Resilience Amidst the Chaos&lt;/a&gt; by Valquer&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_resilience_amidst_the_chaos-valquer_lq.webp"&gt; &lt;img class="fit" src="images/posts/2026/m2605_resilience_amidst_the_chaos-valquer_lq.webp" alt="Resilience Amidst the Chaos by Valquer"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/fungal-paradise/173697"&gt;Fungal Paradise&lt;/a&gt; by RoamingOwl&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_fungal_paradise-roamingowl_lq.webp"&gt; &lt;img class="fit" src="images/posts/2026/m2605_fungal_paradise-roamingowl_lq.webp" alt="Fungal Paradise by RoamingOwl"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a target="_blank" href="https://krita-artists.org/t/siamese-cat/174420"&gt;Siamese Cat&lt;/a&gt; by Xaphyrx&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2026/m2605_siamese_cat-xaphyrx_lq.webp"&gt; &lt;img class="fit" src="images/posts/2026/m2605_siamese_cat-xaphyrx_lq.webp" alt="Siamese Cat by Xaphyrx"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;h3 id="nominate-and-vote-for-next-months-featured-artwork"&gt;Nominate and Vote For Next Month's Featured Artwork!&lt;/h3&gt;
&lt;p&gt;Participate in next month's nominations and voting to voice your opinion on the &lt;a target="_blank" href="https://krita-artists.org/t/nominate-your-favourite-artwork-here-april-may-2026/179637/"&gt;Best of Krita-Artists - April/May 2026&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="krita-is-free---but-you-can-contribute"&gt;Krita is Free - But You Can Contribute!&lt;/h2&gt;
&lt;p&gt;Krita is free to use and modify, but it can only exist with the contributions of the community. A small sponsored team alongside volunteer programmers, artists, writers, testers, translators, and more from across the world keep development going.&lt;/p&gt;
&lt;p&gt;If this software has value to you, consider donating to the &lt;a target="_blank" href="https://krita.org/en/donations/"&gt;Krita Development Fund&lt;/a&gt;. Or &lt;a target="_blank" href="https://krita.org/en/get-involved/"&gt;Get Involved&lt;/a&gt; and put your skills to use making Krita and its community better!&lt;/p&gt;
&lt;figure&gt;
&lt;a href="images/posts/2021-11-16_kiki-piggy-bank_krita5.png"&gt; &lt;img class="fit" src="images/pages/2021-11-16_kiki-piggy-bank_krita5.png" alt="Krita's mascot Kiki putting money in a piggy bank"/&gt; &lt;/a&gt;
&lt;/figure&gt;
&lt;h2 id="additional-changes"&gt;Additional Changes&lt;/h2&gt;
&lt;h3 id="krita-plus-stable-532602"&gt;Krita Plus (Stable, 5.3.2/6.0.2):&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Preset Image Sizes: Correct the A1 at 300ppi preset to be 7016x9933px instead of 7008x9933, and the A1 600ppi preset to be 14031x19866px instead of 7008x11811. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2769"&gt;change&lt;/a&gt; by Ming-Chuan Lin)&lt;/li&gt;
&lt;li&gt;File Formats: PSD: Fix a crash in text parsing. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2770"&gt;change&lt;/a&gt; by Arimil)&lt;/li&gt;
&lt;li&gt;Text: Fix detection of hard breaks as a word boundary when selecting words. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518338"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/7f1454ca27"&gt;change&lt;/a&gt; by Wolthera van Hövell)&lt;/li&gt;
&lt;li&gt;SVG: Fix symbol libraries with title elements being mis-positioned when drag-and-dropped. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520345"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/04bc5322e1"&gt;change&lt;/a&gt; by Wolthera van Hövell)&lt;/li&gt;
&lt;li&gt;Transform Tool: Fix Warp transform preview being empty until modifying the transform. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519127"&gt;bug&lt;/a&gt;, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=518071"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2767"&gt;change&lt;/a&gt; by Ivan Valenzuela)&lt;/li&gt;
&lt;li&gt;Line Tool: Don't move line origin when Alt is held at start of a line, only afterward. If the Activate Line Tool canvas input was assigned to Alt+Left Click, it would start off moving an empty line. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2784"&gt;change&lt;/a&gt; by Carsten Hartenfels)&lt;/li&gt;
&lt;li&gt;Selection Actions Bar: Add actions to disable or configure the Selection Actions Bar to the Select menu and a right-click context menu on the bar itself. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2752"&gt;change&lt;/a&gt; by Luna Lovecraft)&lt;/li&gt;
&lt;li&gt;General: Add icons for the Python plugin import, show log, and calligraphy increase/decrease angle/width actions. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2777"&gt;change 1&lt;/a&gt;, &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2779"&gt;change 2&lt;/a&gt;, &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2785"&gt;change 3&lt;/a&gt; by Arkady Flury)&lt;/li&gt;
&lt;li&gt;Android: Fix startup crash on Android 7. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519184"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/szaman/qtbase/-/merge_requests/18"&gt;change&lt;/a&gt; by Carsten Hartenfels)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="krita-plus-stable-533603-prealpha"&gt;Krita Plus (Stable, 5.3.3/6.0.3-prealpha):&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;File Formats: Avoid crash when export ICC profile has no TRC present, but colorants are. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=501522"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/03bf3ea9bf"&gt;change&lt;/a&gt; by Wolthera van Hövell)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="krita-next-unstable-540610-prealpha"&gt;Krita Next (Unstable, 5.4.0/6.1.0-prealpha):&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;File Formats: PNG: Use 72ppi when a PNG file has undefined resolution, instead of ending up with an undefined number around 60million that crashes Krita when attempting to adjust it. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520498"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/5f4234feba"&gt;change&lt;/a&gt; by Ivan Yossi)&lt;/li&gt;
&lt;li&gt;General: Skip adding empty image updates into the updates queue, to prevent getting stuck if an update area is hugely miscalculated. (CC&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=519785"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/commit/91e60134b1"&gt;change&lt;/a&gt; by Dmitry Kazakov)&lt;/li&gt;
&lt;li&gt;Linux Wayland: Color Management: Add a CIE color diagram to the OS-managed display color management settings. (&lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2768"&gt;change&lt;/a&gt; by Wolthera van Hövell)&lt;/li&gt;
&lt;li&gt;Windows: Fix file type names displayed in File Explorer. (&lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=467914"&gt;bug&lt;/a&gt;; &lt;a target="_blank" href="https://invent.kde.org/graphics/krita/-/merge_requests/2764"&gt;change&lt;/a&gt; by Elena Sagalaeva)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="nightly-builds"&gt;Nightly Builds&lt;/h2&gt;
&lt;p&gt;These pre-release versions of Krita are built every day.&lt;/p&gt;
&lt;p&gt;Note that there are currently no Qt6 builds for Android.&lt;/p&gt;
&lt;p&gt;Get the latest bugfixes in &lt;strong&gt;Stable&lt;/strong&gt; Krita Plus (5.3.3/6.0.3 prealpha): Linux &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/linux"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/linux-qt5"&gt;Qt5&lt;/a&gt; — Windows &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/windows"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/windows-qt5"&gt;Qt5&lt;/a&gt; — macOS &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/macos-universal"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/macos-universal-qt5"&gt;Qt5&lt;/a&gt; — Android arm64 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/android-arm64-v8a"&gt;Qt5&lt;/a&gt; – Android arm32 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/android-arm32-v7a"&gt;Qt5&lt;/a&gt; – Android x86_64 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/krita-6.0/android-x86-64"&gt;Qt5&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or test out the latest &lt;strong&gt;Experimental&lt;/strong&gt; features in Krita Next (5.4.0/6.1.0-prealpha). Feedback and &lt;a target="_blank" href="https://docs.krita.org/en/untranslatable_pages/reporting_bugs.html"&gt;bug reports&lt;/a&gt; are appreciated!: Linux &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/linux"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/linux-qt5"&gt;Qt5&lt;/a&gt; — Windows &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/windows"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/windows-qt5"&gt;Qt5&lt;/a&gt; — macOS &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/macos-universal"&gt;Qt6&lt;/a&gt; &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/macos-universal-qt5"&gt;Qt5&lt;/a&gt; — Android arm64 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/android-arm64-v8a"&gt;Qt5&lt;/a&gt; – Android arm32 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/android-arm32-v7a"&gt;Qt5&lt;/a&gt; – Android x86_64 &lt;a target="_blank" href="https://cdn.kde.org/ci-builds/graphics/krita/master/android-x86-64"&gt;Qt5&lt;/a&gt;&lt;/p&gt;</description><author>Krita News</author></item><item><title>Splitting Konsole views from Helix to run tools</title><link>https://akselmo.dev/posts/splitting-konsole-views-from-helix-to-run-tools/</link><pubDate>Mon, 25 May 2026 19:39:00 +0000</pubDate><guid isPermaLink="true">https://akselmo.dev/posts/splitting-konsole-views-from-helix-to-run-tools/</guid><description>&lt;p&gt;I have been tinkering with &lt;a target="_blank" href="https://helix-editor.com/"&gt;Helix&lt;/a&gt; editor lately since I quite like it.&lt;/p&gt;
&lt;span id="continue-reading"&gt;&lt;/span&gt;
&lt;p&gt;It's a fun little editor. Can recommend for those who like modal editing. I do not know if it'll ever replace &lt;a target="_blank" href="https://kate-editor.org/"&gt;Kate&lt;/a&gt; editor for me, but I'm challenging myself to try new tools, just for the fun of it.&lt;/p&gt;
&lt;p&gt;With Helix, I've used this git tool called &lt;a target="_blank" href="https://github.com/altsem/gitu/"&gt;gitu&lt;/a&gt; that is rather quick and easy to work with. Though I still use &lt;a target="_blank" href="https://github.com/jesseduffield/lazygit/"&gt;lazygit&lt;/a&gt; for more complex tasks.&lt;/p&gt;
&lt;p&gt;Main pain point for me has been how to use some of these tools like gitu within Helix. Lazygit could be done with some &lt;a target="_blank" href="https://github.com/helix-editor/helix/discussions/12045"&gt;magic&lt;/a&gt;, but I was never really satisfied with it.&lt;/p&gt;
&lt;p&gt;I also tried &lt;a target="_blank" href="https://zellij.dev/"&gt;Zellij&lt;/a&gt; for terminal multiplexing and running commands between two splits and so on. It was a bit cumbersome to get it to work as I wanted, since Zellij has tons of features I'll never need. This also caused my fingers to get entangled since I had to remember all sorts of shortcuts. Just not for me.&lt;/p&gt;
&lt;p&gt;In &lt;a target="_blank" href="https://apps.kde.org/konsole/"&gt;Konsole&lt;/a&gt; terminal, there is a shortcut for splitting views easily and automatically to a fitting size. I use it a bunch. But because I'm lazy, I would have to press the shortcut, go to the other splitview, type the command for other tool, do things and then close commands. I wanted something a bit more automated.&lt;/p&gt;
&lt;p&gt;I found that Konsole can be set to allow scripting over dbus commands: &lt;a target="_blank" href="https://docs.kde.org/stable_kf6/en/konsole/konsole/scripting.html"&gt;Scripting Konsole&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So I made myself a little shell script that I placed in my path: &lt;a target="_blank" href="https://git.sr.ht/~akselmo/dotfiles/tree/main/item/konsole/konsole-split.sh"&gt;konsole-split.sh&lt;/a&gt;!&lt;/p&gt;
&lt;video controls&gt;
&lt;source src="//akselmo.dev/assets/images/Screencast_20260525_230247.webm" type="video/webm" /&gt;
&lt;/video&gt;
&lt;p&gt;Here's what it does:&lt;/p&gt;
&lt;pre data-lang="bash" style="background-color:#181818;color:#ffffff;" class="language-bash "&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="color:#808080;"&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# In konsole settings, make sure
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# - run all konsole windows in single process is disabled
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# - enable the security sensitive parts is enabled
&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;if &lt;/span&gt;&lt;span style="color:#838fff;"&gt;[ &lt;/span&gt;&lt;span&gt;$# &lt;/span&gt;&lt;span style="color:#ff9233;"&gt;-eq&lt;/span&gt;&lt;span&gt; 0 &lt;/span&gt;&lt;span style="color:#838fff;"&gt;]&lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;; then
&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:#838fff;"&gt;echo &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;Command is missing!&amp;quot;
&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="color:#838fff;"&gt;exit
&lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;fi
&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# Split the view automagically. We can use MainWindow_1 since we have only one process
&lt;/span&gt;&lt;span&gt;qdbus6 &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;$&lt;/span&gt;&lt;span&gt;KONSOLE_DBUS_SERVICE&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;&lt;/span&gt;&lt;span&gt; /konsole/MainWindow_1 org.kde.KMainWindow.activateAction split-view-auto &lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;/dev/tty
&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# Get the session of the current terminal window
&lt;/span&gt;&lt;span&gt;CURRENTSESSION&lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;=&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;$(&lt;/span&gt;&lt;span&gt;qdbus6 &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;$&lt;/span&gt;&lt;span&gt;KONSOLE_DBUS_SERVICE&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot; &amp;quot;$&lt;/span&gt;&lt;span&gt;KONSOLE_DBUS_WINDOW&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot; org.kde.konsole.Window.currentSession) &lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;/dev/tty
&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span style="color:#808080;"&gt;# Run the given arguments as a command in that session
&lt;/span&gt;&lt;span&gt;qdbus6 &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;$&lt;/span&gt;&lt;span&gt;KONSOLE_DBUS_SERVICE&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;&lt;/span&gt;&lt;span&gt; /Sessions/&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;$&amp;#123;&lt;/span&gt;&lt;span&gt;CURRENTSESSION&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;}&amp;quot;&lt;/span&gt;&lt;span&gt; org.kde.konsole.Session.runCommand &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;$&lt;/span&gt;&lt;span&gt;@&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot; &lt;/span&gt;&lt;span style="font-weight:bold;color:#33ffa0;"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;/dev/tty
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It's really simple, but now I can use this in my helix config like this:&lt;/p&gt;
&lt;pre data-lang="toml" style="background-color:#181818;color:#ffffff;" class="language-toml "&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span&gt;[&lt;/span&gt;&lt;span style="font-weight:bold;color:#838fff;"&gt;keys&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style="font-weight:bold;color:#838fff;"&gt;normal&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;+&amp;quot;&lt;/span&gt;&lt;span&gt;]
&lt;/span&gt;&lt;span style="font-weight:bold;color:#838fff;"&gt;b &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;:sh git log -L %&amp;#123;cursor_line},+1:%&amp;#123;buffer_name}&amp;quot; &lt;/span&gt;&lt;span style="color:#808080;"&gt;#This is git log for a line, also useful, kinda like git blame
&lt;/span&gt;&lt;span style="font-weight:bold;color:#838fff;"&gt;s &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;:sh konsole-split.sh &amp;#39;exec scooter&amp;#39;&amp;quot; &lt;/span&gt;&lt;span style="color:#808080;"&gt;# Scooter is a search and replace in multiple files tool, very handy
&lt;/span&gt;&lt;span style="font-weight:bold;color:#838fff;"&gt;g &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span style="color:#5fff33;"&gt;&amp;quot;:sh konsole-split.sh &amp;#39;exec gitu&amp;#39;&amp;quot;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In practice, what happens is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In helix, i press &lt;code&gt;+&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then I select the command, in this case &lt;code&gt;gitu&lt;/code&gt;, so &lt;code&gt;g&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Konsole splits itself automatically to a comfortable size&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It then gets the session of that new split&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;And runs the &lt;code&gt;gitu&lt;/code&gt; command with &lt;code&gt;exec&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;So if the execution stops/fails, it just closes the split instantly&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This works really well for my needs, and I was surprised to see how simple it was to create something like this. I think the error handling when command does not work could be better, but oh well, works for me for now.&lt;/p&gt;
&lt;p&gt;Let me know if you do anything similar or have any improvement ideas! :)&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://brid.gy/publish/mastodon"&gt;&lt;/a&gt;&lt;/p&gt;</description><author>Akseli Lahtinen (Aks)</author></item><item><title>Implementation Plan for Tournaments in Mankala Engine</title><link>https://sayandeep.bearblog.dev/implementation-plan-for-tournaments-in-mankala-engine/</link><pubDate>Mon, 25 May 2026 14:51:04 +0000</pubDate><guid isPermaLink="true">https://sayandeep.bearblog.dev/implementation-plan-for-tournaments-in-mankala-engine/</guid><description>&lt;p&gt;We are almost at the end of our community bonding period. It’s been nearly 1 month since GSOC 2026 results, and the time to formulate a proper plan for the future plan of action regarding our project💡&lt;/p&gt;
&lt;p&gt;Here is the breakdown of a rough plan of what I want to achieve during these 12 weeks.&lt;/p&gt;
&lt;h1 id=project-setup-and-implementation-plan&gt;(Project Setup and Implementation Plan) 💻&lt;/h1&gt;&lt;p&gt;Week 1:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up the project environment and go through the implementation of https://kibao.org/&lt;/li&gt;
&lt;li&gt;Discuss and plan the changes to be started first based on priority.&lt;/li&gt;
&lt;li&gt;Examine ‘main.cpp’ and other game files to understand how the working and how ‘tournaments.cpp’ can be implemented.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 2:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fix the user registration page with options for username and icons.&lt;/li&gt;
&lt;li&gt;Design pre-defined selectable icons in ‘Krita’.&lt;/li&gt;
&lt;li&gt;Write a blog post about “how to add tournaments”.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 3:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start with ‘tournaments.cpp’ and check if the strings like ‘usernames’ and ‘icons’ can be retrieved from the user pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 4:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In ‘tournaments.cpp’, make the logic for detecting players online or joining tournaments with ‘room codes’.&lt;/li&gt;
&lt;li&gt;Create a Blog post on current progress.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 5:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a page for users to host and enter tournaments. In the hosted ‘tournament’, allow superusers/organizers to edit rules like number of days, variant type, and number of players.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 6:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Filling empty spots with computerized opponents using the same logic as the ‘Play with AI’ option.&lt;/li&gt;
&lt;li&gt;Examine and fix matchmaking between the players in tournaments, if the elimination and hierarchy work after elimination.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 7:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Design the UI for ‘tournaments.qml’, integrating the logic of the.cpp file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 8:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make the leaderboard where the winner rankings show up.&lt;/li&gt;
&lt;li&gt;Create a Blog post describing the implementation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 9 and 10:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Examine the working and the build after completing the tournaments.cpp and tournaments.qml.&lt;/li&gt;
&lt;li&gt;Test and play with others in demo tournaments to get feedback on the working process.&lt;/li&gt;
&lt;li&gt;Add Voice chat for users playing the game. (if possible)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Week 11 and 12:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Document the changes made, review the overall codebase, and finalize it for the submission.&lt;/li&gt;
&lt;li&gt;Create a Final Blog post summarizing all work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading. Happy coding🚀&lt;/p&gt;</description><author>Sayandeep Dutta</author></item><item><title>Week 1 : Coding Begins</title><link>https://yashbavadiya.bearblog.dev/week-1-coding-begins/</link><pubDate>Mon, 25 May 2026 03:57:00 +0000</pubDate><guid isPermaLink="true">https://yashbavadiya.bearblog.dev/week-1-coding-begins/</guid><description>&lt;p&gt;It's May 25. Community bonding is over. Coding starts today.&lt;/p&gt;
&lt;p&gt;The last few days of bonding were about wrapping loose ends, got two MRs merged: &lt;a target="_blank" href='https://invent.kde.org/multimedia/kdenlive/-/merge_requests/853'&gt;warn before deleting tracks&lt;/a&gt; and &lt;a target="_blank" href='https://invent.kde.org/multimedia/kdenlive/-/merge_requests/859'&gt;snap playhead to snap points&lt;/a&gt;. A few others are still open and in review, but the coding period waits for no one.&lt;/p&gt;
&lt;p&gt;Now for the actual project.&lt;/p&gt;
&lt;p&gt;This week I'm starting on the &lt;strong&gt;Curves Widget&lt;/strong&gt; , the first of three widgets I'm building this summer for Kdenlive.&lt;/p&gt;
&lt;p&gt;The current &lt;code&gt;CurveParamWidget&lt;/code&gt; has a channel dropdown (R, G, B, All), but switching channels wipes the previous curve. There's no memory per channel. So if you carefully tune the red channel and switch to green, your red curve is gone. You'd have to apply the effect multiple times, once per channel which is exactly the kind of friction the proposal is trying to eliminate.&lt;/p&gt;
&lt;p&gt;The fix is per-channel tabs, each storing its own curve independently. All channels serialize together into &lt;code&gt;avfilter.curves&lt;/code&gt; format:
&lt;code&gt;r='0/0 0.5/0.7 1/1' g='0/0 1/1' b='0/0 1/1'&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Backward compatible with existing projects, no data loss when switching tabs.&lt;/p&gt;
&lt;p&gt;This week's goal is foundation work: understand the full &lt;code&gt;CurveParamWidget&lt;/code&gt; architecture, design the tab skeleton, and get the per-channel data structure in place. No full functionality yet, get the structure right first, then build on it.&lt;/p&gt;
&lt;p&gt;I'll post every week on Sundays. Daily progress goes to JB on Matrix.&lt;/p&gt;
&lt;p&gt;Let's go.&lt;/p&gt;</description><author>Yash Bavadiya</author></item><item><title>Introductory Blog</title><link>https://ojasmaheshwari.github.io/b/2026/introductory-blog</link><pubDate>Sun, 24 May 2026 15:12:09 +0000</pubDate><guid isPermaLink="true">https://ojasmaheshwari.github.io/b/2026/introductory-blog</guid><description>&lt;p&gt;Hello, I am Ojas Maheshwari.&lt;/p&gt;
&lt;p&gt;I am a C++ engineer who is currently writing code for KDE community for GSoC '26.&lt;!-- raw HTML omitted --&gt;
My project involves performing &amp;quot;font subsettting&amp;quot; on a PDF rendering library called Poppler which Okular (KDE's Universal PDF Viewer uses).&lt;/p&gt;
&lt;p&gt;This site will contain general blogs as well as the official documentation and progress updates on what I did through the whole journey including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My approach and plan.&lt;/li&gt;
&lt;li&gt;The problems I faced and how I solved them.&lt;/li&gt;
&lt;li&gt;My thinking process wherever possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is an introductory page to see if the site works correctly. &lt;!-- raw HTML omitted --&gt;
Thanks :D&lt;/p&gt;</description><author>Ojas Maheshwari</author></item><item><title>“Long-Term Support” doesn’t mean what you think</title><link>https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/</link><pubDate>Sat, 23 May 2026 19:05:14 +0000</pubDate><guid isPermaLink="true">http://pointieststick.com/?p=29174</guid><description>&lt;p class="wp-block-paragraph"&gt;My last post about &lt;a target="_blank" href="https://pointieststick.com/2026/05/16/start-with-fedora-kde-or-kubuntu/"&gt;good beginner-friendly KDE-focused operating systems&lt;/a&gt; sparked some discussions about the concept of &amp;#8220;Long-Term Support&amp;#8221; (LTS) releases.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;But what does this term mean? It&amp;#8217;s a bit generic-sounding, making it easy to interpret as meaning almost anything. So let&amp;#8217;s go to the source: how the term is defined by the operating systems using it! Here are the non-commercial ones:&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;&lt;a target="_blank" href="https://wiki.debian.org/DebianReleases"&gt;&lt;strong&gt;Debian Stable&lt;/strong&gt; says&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"&gt;
&lt;p class="wp-block-paragraph"&gt;Security updates are provided by &lt;a target="_blank" href="https://wiki.debian.org/Teams/Security"&gt;Debian security team&lt;/a&gt; for &lt;a target="_blank" href="https://www.debian.org/security/faq#lifespan"&gt;three years&lt;/a&gt;. This generally means that each stable release is supported for its whole life plus an extra year (or so) after a new version of stable is released. In addition, further security support is provided by the &lt;a target="_blank" href="https://wiki.debian.org/LTS"&gt;LTS&lt;/a&gt; and &lt;a target="_blank" href="https://wiki.debian.org/LTS/Extended"&gt;LTS/Extended&lt;/a&gt; projects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="wp-block-paragraph"&gt; &lt;a target="_blank" href="https://ubuntu.com/download/desktop"&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt; says&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"&gt;
&lt;p class="wp-block-paragraph"&gt;LTS stands for long-term support — which means five years of free security and maintenance updates&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="wp-block-paragraph"&gt;&lt;a target="_blank" href="https://kubuntu.org/download/"&gt;&lt;strong&gt;Kubuntu&lt;/strong&gt; says&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"&gt;
&lt;p class="wp-block-paragraph"&gt;The latest Long Term Support (LTS) version of the Kubuntu operating system for desktop PCs and laptops, Kubuntu 26.04 [is] supported with security and maintenance updates, until April 2029.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="wp-block-paragraph"&gt;(I didn&amp;#8217;t include openSUSE Leap because &lt;a target="_blank" href="https://get.opensuse.org/leap"&gt;its marketing material&lt;/a&gt; doesn&amp;#8217;t use this term, though what it offers is fairly similar in practice)&lt;/p&gt;
&lt;hr class="wp-block-separator has-alpha-channel-opacity" /&gt;
&lt;p class="wp-block-paragraph"&gt;So these operating systems are fairly consistent about what &amp;#8220;Long-Term Support&amp;#8221; means to them:&lt;/p&gt;
&lt;ul class="wp-block-list"&gt;
&lt;li&gt;Each discrete OS release will continue receiving updates for a certain number of years.&lt;/li&gt;
&lt;li&gt;Those updates &lt;em&gt;will&lt;/em&gt; include fixes for security issues.&lt;/li&gt;
&lt;li&gt;Those updates &lt;em&gt;may&lt;/em&gt; include whatever &amp;#8220;maintenance&amp;#8221; means; Ubuntu &amp;amp; Kubuntu promise this, Debian doesn&amp;#8217;t say.&lt;/li&gt;
&lt;li&gt;Those updates will &lt;em&gt;not&lt;/em&gt; include any new features, UI improvements, or other non-bug-fix releases from the software&amp;#8217;s developers. That is to say, each piece of software is effectively locked to a specific version for the life of the release.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="wp-block-paragraph"&gt;That&amp;#8217;s it! So let&amp;#8217;s look at what&amp;#8217;s NOT promised:&lt;/p&gt;
&lt;ul class="wp-block-list"&gt;
&lt;li&gt;Lack of bugs&lt;/li&gt;
&lt;li&gt;Lack of crashes&lt;/li&gt;
&lt;li&gt;Fixes for non-security issues&lt;/li&gt;
&lt;li&gt;Personal support for issues you encounter&lt;/li&gt;
&lt;li&gt;Support for newer hardware devices &lt;em&gt;(Ubuntu offers &lt;a target="_blank" href="https://ubuntu.com/kernel/lifecycle"&gt;&amp;#8220;hardware enablement&amp;#8221; kernels&lt;/a&gt; for desktop installs by default, but they come with no stated guarantees and don&amp;#8217;t cover the parts of hardware support that go beyond the kernel)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="wp-block-paragraph"&gt;That doesn&amp;#8217;t mean an LTS release of Debian, Ubuntu, or Kubuntu will be devoid of these things. It just means they aren&amp;#8217;t promised. Probably you&amp;#8217;ll get a lot of them anyway, but there&amp;#8217;s no guarantee.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;I think this is where some of the persistent confusion around the LTS topic comes from.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;LTS releases &lt;em&gt;are&lt;/em&gt; fairly reliable as long as you use the most popular software from their included software repositories. So in the circumstances when this stops being the case, I think sometimes people can feel betrayed. They think, &amp;#8220;I thought this was supposed to be stable! Why didn&amp;#8217;t anyone fix this bug yet? Where&amp;#8217;s my long-term support?&amp;#8221;&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;But Debian, Ubuntu, and Kubuntu never promised any level of reliability or absence of bugs. They promised that the version-locked software in their repos would receive security fixes for a certain number of years. Ubuntu and Kubuntu also offered a certain amount of non-guaranteed best-effort hardware compatibility improvements and non-security bug fixes.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;That&amp;#8217;s it!&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;So it&amp;#8217;s important to understand what you&amp;#8217;re actually getting with an LTS-style OS. And maybe it&amp;#8217;s not for you. There are plenty of other options for people with different desires:&lt;/p&gt;
&lt;h3 class="wp-block-heading"&gt;I want newer software&lt;/h3&gt;
&lt;p class="wp-block-paragraph"&gt;If you&amp;#8217;re a software developer or a technology enthusiast, you may want to get software on or closer to its developers&amp;#8217; release schedules. This will give you a stream of new features, UI improvements, and fixes for bugs. In this case, the better option is a rapidly-updating OS like Arch Linux, openSUSE Tumbleweed, Fedora KDE, or one of their children.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;The trade-off here is that you may have to live with some things that are currently working getting broken after updating. In other words, &lt;em&gt;the bugs are unstable&lt;/em&gt;, unlike in an LTS OS where the bugs are stable.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;I personally fall into this group, which is why I use &lt;a target="_blank" href="https://linux.kde.org/"&gt;a rapidly-updating OS&lt;/a&gt; and not an LTS OS.&lt;/p&gt;
&lt;h3 class="wp-block-heading"&gt;I want fewer bugs&lt;/h3&gt;
&lt;p class="wp-block-paragraph"&gt;I think a lot of people choose an LTS OS to experience fewer bugs, but this is generally not a strength of the LTS product. When an LTS OS freezes on a specific set of software, all the bugs in those versions of the software are frozen, too. Unless the LTS OS provider fixes any of those bugs themselves or backports fixes for them, users will be exposed to them for the lifetime of the release.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;With a rapidly-updating OS, when software developers fix bugs in their software, you&amp;#8217;ll get those bug-fixes quickly. As long as the software itself is becoming less buggy over time, a rapidly-updating OS shipping software close to its developers&amp;#8217; release schedules will likewise become less buggy over time.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;It&amp;#8217;s not all puppies and rainbows, though. A fast pace of change means more opportunities for those developers to accidentally introduce new bugs, and also for the introduction of &lt;em&gt;integration&lt;/em&gt; issues: bugs caused by software being mis-configured or incompatible with other software. LTS OSs excel at minimizing integration issues between software, because a frozen set of software isn&amp;#8217;t a moving target for QA testing.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;So in a lot of ways, this choice boils down to whether you&amp;#8217;re more bothered by software bugs or by integration issues.&lt;/p&gt;
&lt;h3 class="wp-block-heading"&gt;I want better hardware support&lt;/h3&gt;
&lt;p class="wp-block-paragraph"&gt;If the manufacturer of your device didn&amp;#8217;t provide much or any Linux software support for it, a rapidly-updating OS is likewise a better option here. You&amp;#8217;ll quickly get &lt;em&gt;all&lt;/em&gt; the components that improve hardware support, not just the parts in the kernel.&lt;/p&gt;
&lt;h3 class="wp-block-heading"&gt;I want a true reliability guarantee&lt;/h3&gt;
&lt;p class="wp-block-paragraph"&gt;If time is money for you, this makes sense. And to get it, you&amp;#8217;ll need to pay for a commercially-supported operating system. For example, Canonical offers &lt;a target="_blank" href="https://ubuntu.com/support"&gt;&amp;#8220;Ubuntu Pro&amp;#8221;&lt;/a&gt; with a level of support that includes the following:&lt;/p&gt;
&lt;blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"&gt;
&lt;p class="wp-block-paragraph"&gt;Build with confidence with 24/7/365 phone and ticket support. Get prompt help when something breaks on any of the packages in the Ubuntu Main and Universe repositories, including the most widely used open source applications and toolchains. Our 24/7 plans now include SLAs not only for initial response times, but also for ongoing follow-up updates ensuring continuous visibility and faster remediation throughout the lifecycle of your support case.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="wp-block-paragraph"&gt;Wow! Now that&amp;#8217;s support. It costs &lt;a target="_blank" href="https://ubuntu.com/pricing/pro"&gt;$300 per year for workstations&lt;/a&gt; (servers are over 5x as much).&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;&lt;a target="_blank" href="https://www.redhat.com/en/about/subscription-model-faq#whats-included-in-a-subscription"&gt;Red Hat&lt;/a&gt; and &lt;a target="_blank" href="https://www.suse.com/shop/desktop/"&gt;SUSE&lt;/a&gt; offer similar services at similar prices.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;And they aren&amp;#8217;t cheap! But if time is money, those prices may look pretty reasonable. And you&amp;#8217;ll get to talk to a perky and friendly person over the phone when you encounter a covered problem, and someone will to take direct responsibility for getting a fix delivered.&lt;/p&gt;
&lt;h2 class="wp-block-heading"&gt;What about Flatpak and Snap?&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;In principle, these technologies allow an LTS-style OS to offer the best of both worlds: a stable base with apps updating more rapidly.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;In practice, what you get is a mixing of both worlds. The base OS retains its LTS characteristics, while apps become rapidly-updating, giving you some exposure to breakage coming from new versions alongside more features, UI improvements, and fixes for existing bugs.&lt;/p&gt;
&lt;hr class="wp-block-separator has-alpha-channel-opacity" /&gt;
&lt;p class="wp-block-paragraph"&gt;We&amp;#8217;re spoiled for choice in our ecosystem, which means everyone can find a free software operating system that matches their needs and desires. But you have to know what those needs and desires are, and also successfully map them to the available options! Hopefully this blog post has helped explain what the LTS-style operating systems offer, and who should use them.&lt;/p&gt;</description><author>Nate Graham</author></item><item><title>This Week in Plasma: Xe Driver Support and Polishing Discover</title><link>https://blogs.kde.org/2026/05/23/this-week-in-plasma-xe-driver-support-and-polishing-discover/</link><pubDate>Sat, 23 May 2026 00:00:01 +0000</pubDate><guid isPermaLink="true">https://blogs.kde.org/2026/05/23/this-week-in-plasma-xe-driver-support-and-polishing-discover/</guid><description>&lt;!-- Example wording for a change, MR version. (Developer Name, [repo-name MR #xxx](https://invent.kde.org/plasma/repo-name/-/merge_requests/xxx)) --&gt;
&lt;!-- Example wording for a change, Bugzilla version. (Developer Name, [KDE Bugzilla #xxx](https://bugs.kde.org/show_bug.cgi?id=xxx)) --&gt;
&lt;!-- ![](thumbnail.png) --&gt;
&lt;!--
&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;
--&gt;
&lt;!--
&lt;figure class="text-center ratio ratio-16x9" style=""&gt;
&lt;video controls&gt;&lt;source src="%25!s%28%3cnil%3e%29something.mp4" type="video/mp4" /&gt;&lt;/video&gt;&lt;/figure&gt;
--&gt;
&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 the focus was squarely on polishing up Plasma 6.7 in preparation for release on June 16th. Bugs were squashed, user interfaces were improved, and amidst it all, a lovely community contribution added support for monitoring modern Intel GPUs. Check it all out:&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-67"&gt;Plasma 6.7&lt;/h3&gt;
&lt;p&gt;Clearing the clipboard while any items are starred no longer asks if you want to clear the starred items as well; now they are never automatically cleared, and you have to do this manually, on the logic that if you starred those items, you probably want to keep them around! (Tobias Fella, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6583"&gt;plasma-workspace MR #6583&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;When the Disks &amp;amp; Devices widget appears after you plug in a disk, it no longer briefly flashes with the notification icon. (Bohdan Onofriichuk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=495141"&gt;KDE Bugzilla #495141&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;When Discover prompts you to delete data and settings for a no-longer-installed Flatpak app, doing so now sends all that stuff to the trash rather than deleting it immediately and irreversibly. (Nate Graham, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520220"&gt;KDE Bugzilla #520220&lt;/a&gt;)&lt;/p&gt;
&lt;figure&gt;
&lt;img class="img-fluid" alt="Discover asking you if you want to move data to the trash, instead of asking to delete to immediately" src="https://blogs.kde.org/2026/05/23/this-week-in-plasma-xe-driver-support-and-polishing-discover/move-data-to-trash-in-discover.png"
style="max-width: 100%; height: auto"
/&gt;
&lt;/figure&gt;
&lt;p&gt;Re-arranged the sections on Discover’s home page to put the “Editor’s choice” section closer to the top. (Raresh Rus, &lt;a target="_blank" href="https://invent.kde.org/plasma/discover/-/merge_requests/1333"&gt;discover MR #1333&lt;/a&gt;)&lt;/p&gt;
&lt;figure&gt;
&lt;img class="img-fluid" alt="Discover showing “Editor’s Choice” section right below the most popular apps" src="https://blogs.kde.org/2026/05/23/this-week-in-plasma-xe-driver-support-and-polishing-discover/discover-homepage-arrangement.png"
style="max-width: 100%; height: auto"
/&gt;
&lt;/figure&gt;
&lt;p&gt;Reduced the amount of visual jankiness in Discover’s “overall progress” indicator UI during system updates. (Taras Oleksyn, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=510282"&gt;KDE Bugzilla #510282&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Made the search on Discover’s Updates page case-insensitive. (Tobias Ozór, &lt;a target="_blank" href="https://invent.kde.org/plasma/discover/-/merge_requests/1328"&gt;discover MR #1328&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-666"&gt;Plasma 6.6.6&lt;/h3&gt;
&lt;p&gt;Fixed a case where Plasma could crash when you switched Activities using the Activity Pager widget. (Marco Martin, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520065"&gt;KDE Bugzilla #520065&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Worked around a Qt regression that made job progress notifications remain visible on screen until explicitly dismissed. (Kai Uwe Broulik, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520120"&gt;KDE Bugzilla #520120&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that broke the setting to remember your approvals in the screencasting permission dialog. (David Redondo, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=517454"&gt;KDE Bugzilla #517454&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that mis-rendered non-default window decoration themes when using a scale factor below 100%. (Vlad Zahorodnii, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520272"&gt;KDE Bugzilla #520272&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that broke Global Themes’ ability to add and position widgets as expected. (Marco Martin, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=512005"&gt;KDE Bugzilla #512005&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-67-1"&gt;Plasma 6.7&lt;/h3&gt;
&lt;p&gt;Fixed some cases where Plasma could crash when plugging in or unplugging screens. (Marco Martin, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=468430"&gt;KDE Bugzilla #468430&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Worked around a Qt issue that could sometimes make the crash reporter tool itself crash in a loop. (Harald Sitter, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=517353"&gt;KDE Bugzilla #517353&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could make Discover sometimes crash when installing a Flatpak app from a downloaded &lt;code&gt;.flatpakref&lt;/code&gt; file. (Tobias Fella, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520371"&gt;KDE Bugzilla #520371&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a case where Plasma could crash while a Weather Report widget was checking for weather updates. (David Edmundson, &lt;a target="_blank" href="https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/1051"&gt;kdeplasma-addons MR #1051&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed a bizarre issue that could make the Kickoff Application Launcher widget grow vertically on X11 immediately after opening it following a switch to an alternative widget and back right after login. (Harald Sitter, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=515116"&gt;KDE Bugzilla #515116&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Strengthened the system to prevent gaps from appearing between the screens in a multi-monitor setup. (Xaver Hugl, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=507702"&gt;KDE Bugzilla #507702&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue in the Global Theme creator feature that saved panel settings incorrectly. (Akseli Lahtinen, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520489"&gt;KDE Bugzilla #520489&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue in the Digital Clock widget that mis-colored the dots for calendar events on the previous month. (Young Lord, &lt;a target="_blank" href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6587"&gt;plasma-workspace #6587&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed two pointer issues seen while zoomed in using KWin’s Zoom effect: duplicated pointers while shaking to make them bigger, and pointers becoming visually de-synchronized while dragging things. (Xaver Hugl, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=489265"&gt;KDE Bugzilla #489265&lt;/a&gt; and &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=513233"&gt;KDE Bugzilla #513233&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Fixed an issue that could make Discover report different states in different pages for an app currently being installed or uninstalled. (Oliver Beard, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520028"&gt;KDE Bugzilla #520028&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68-1"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Fixed an issue that made it impossible to add an app to your favorites list immediately after un-installing and re-installing it. (Christoph Wolk, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=494542"&gt;KDE Bugzilla #494542&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="frameworks-627"&gt;Frameworks 6.27&lt;/h3&gt;
&lt;p&gt;Fixed a visual glitch sometimes seen in Discover’s sidebar when the app was launched. (Nate Graham, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=520337"&gt;KDE Bugzilla #520337&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-67-2"&gt;Plasma 6.7&lt;/h3&gt;
&lt;p&gt;Fixed a couple of memory leaks discovered in KWin. (Xaver Hugl, &lt;a target="_blank" href="https://invent.kde.org/plasma/kwin/-/merge_requests/9235"&gt;kwin MR #9235&lt;/a&gt;)&lt;/p&gt;
&lt;h3 id="plasma-68-2"&gt;Plasma 6.8&lt;/h3&gt;
&lt;p&gt;Added support for the Intel Xe driver to the System Monitor app and widgets. (Hunter Hardy, &lt;a target="_blank" href="https://bugs.kde.org/show_bug.cgi?id=512866"&gt;KDE Bugzilla #512866&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-21</title><link>https://ervin.ipsquad.net/blog/2026/05/22/web-review-week-2026-21/</link><pubDate>Fri, 22 May 2026 13:51:25 +0000</pubDate><guid isPermaLink="true">https://ervin.ipsquad.net/blog/2026/05/22/web-review-week-2026-21/</guid><description>&lt;p&gt;Let&amp;rsquo;s go for my web review for the week 2026-21.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="make-your-website-or-blog-fediverse-ready"&gt;Make your website or blog fediverse-ready&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, fediverse, blog&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not complicated, and a good thing to do.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://stefanbohacek.com/blog/make-your-website-or-blog-fediverse-ready/"&gt;https://stefanbohacek.com/blog/make-your-website-or-blog-fediverse-ready/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="dumb-ways-for-an-open-source-project-to-die"&gt;Dumb Ways for an Open Source Project to Die&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, foss, community&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Not sure it warranted the &amp;ldquo;dumb&amp;rdquo; mention in the title. Still it&amp;rsquo;s likely a good idea to have a list of the ways projects can die.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://nesbitt.io/2026/05/19/dumb-ways-for-an-open-source-project-to-die.html"&gt;https://nesbitt.io/2026/05/19/dumb-ways-for-an-open-source-project-to-die.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="on-google-declaring-war-on-the-web"&gt;On Google declaring war on the Web&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, google, ai, machine-learning, gpt, attention-economy, knowledge&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ultimately, they just want people to stay on the pages they fully control and not have them visit anything out of their mall.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://tante.cc/2026/05/20/on-google-declaring-war-on-the-web/"&gt;https://tante.cc/2026/05/20/on-google-declaring-war-on-the-web/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="i-dont-think-ai-will-make-your-processes-go-faster"&gt;I don&amp;rsquo;t think AI will make your processes go faster&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, copilot, engineering, processes, productivity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good overview of why we don&amp;rsquo;t see a speed up in development processes when AI tools are introduced. The bottlenecks don&amp;rsquo;t magically get destroyed.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://frederickvanbrabant.com/blog/2026-05-15-i-dont-think-ai-will-make-your-processes-go-faster/"&gt;https://frederickvanbrabant.com/blog/2026-05-15-i-dont-think-ai-will-make-your-processes-go-faster/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="twelve-ways-to-be-wrong-about-ai-assisted-coding"&gt;Twelve Ways to Be Wrong About AI-Assisted Coding&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, ai, machine-learning, copilot, productivity, research, science&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Or why most of the studies we see out there can&amp;rsquo;t be trusted. They&amp;rsquo;re full of holes and flaws. We&amp;rsquo;d really know people who know what they do in humanities to conduct such studies to get a chance at a proper picture.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://third-bit.com/2026/05/20/twelve-ways-to-be-wrong/"&gt;https://third-bit.com/2026/05/20/twelve-ways-to-be-wrong/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="misconceptions-about-the-unix-philosophy"&gt;Misconceptions about the UNIX Philosophy&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, unix, history, microservices&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I agree with this short history tour. It&amp;rsquo;s the composability which matters.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://posixcafe.org/blogs/2024/01/05/0/"&gt;https://posixcafe.org/blogs/2024/01/05/0/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="shell-tool-testing"&gt;Shell Tool Testing&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, tests, shell&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A proof that you don&amp;rsquo;t need much to write a test suite.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://zork.net/~st/jottings/shell-tool-testing.html"&gt;https://zork.net/~st/jottings/shell-tool-testing.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="spork-a-posix_spawn-you-can-use-as-a-fork"&gt;Spork: A posix_spawn you can use as a fork&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, unix, linux, processes, research&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;fork() doesn&amp;rsquo;t want to die. But help is coming it seems. Maybe the day it disappears from kernels is &amp;ldquo;near&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://dl.acm.org/doi/epdf/10.1145/3713082.3730396"&gt;https://dl.acm.org/doi/epdf/10.1145/3713082.3730396&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="c26-more-function-wrappers"&gt;C++26: More function wrappers&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, c++&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Time to retire std::function in new code.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.sandordargo.com/blog/2026/05/20/cpp26-copyable-function"&gt;https://www.sandordargo.com/blog/2026/05/20/cpp26-copyable-function&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="scaling-rust-codebases-lessons-learned-organizing-large-projects-and-managing-errors"&gt;Scaling Rust codebases: Lessons learned organizing large projects and managing errors&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, rust, architecture, complexity, pattern&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Nice suggestions on how to structure larger Rust code bases. The proposed error handling is particularly neat and tidy. This is doable in other languages but tends to be more verbose.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://kerkour.com/rust-organize-large-projects-code-error-handling"&gt;https://kerkour.com/rust-organize-large-projects-code-error-handling&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="simd-accelerated-integer-to-string-conversion"&gt;SIMD-accelerated integer-to-string conversion&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, simd, performance&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Really smart SIMD trick which packs a punch.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://lemire.me/blog/2026/05/18/simd-accelerated-integer-to-string-conversion/"&gt;https://lemire.me/blog/2026/05/18/simd-accelerated-integer-to-string-conversion/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="dependency-cooldowns-are-unfair-we-should-use-phased-rollouts-instead"&gt;Dependency cooldowns are unfair; we should use phased rollouts instead&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, security, supply-chain&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is a good point. I feel unease at the current trend pushing toward cooldowns. The proposed rollout scheme is much better and fairer.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://illegalcode.net/rfcs/phased_rollouts.html"&gt;https://illegalcode.net/rfcs/phased_rollouts.html&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="stop-using-pull-requests"&gt;Stop Using Pull Requests&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, codereview, pairing, mob-programming, trust, productivity&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The title is a bit too much of a blanket statement. Still there&amp;rsquo;s indeed a lovely no between pair programming and merge requests. If possible you should favour the former. Yet it rarely happens in practice, there are reasons for that.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://a4al6a.substack.com/p/stop-using-pull-requests"&gt;https://a4al6a.substack.com/p/stop-using-pull-requests&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="organizational-knowledge"&gt;organizational knowledge&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, organisation, knowledge&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Knowledge management is hard. It&amp;rsquo;s almost never a tool problem despite what people claim.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://jarche.com/2026/05/organizational-knowledge/"&gt;https://jarche.com/2026/05/organizational-knowledge/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="three-tips-for-succeeding-as-an-accidental-leader"&gt;Three Tips for Succeeding as an Accidental Leader&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: tech, leadership, management, learning&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The responsibilities drop on people before they&amp;rsquo;re ready for it (I see it first hand regularly at customers). Such tips are thus welcome and helpful during the transition.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://www.jrothman.com/newsletter/2026/05/three-tips-for-succeeding-as-an-accidental-leader/"&gt;https://www.jrothman.com/newsletter/2026/05/three-tips-for-succeeding-as-an-accidental-leader/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="two-facilitation-methods-starting-with-a-single-line-actionsresults--δ"&gt;Two facilitation methods starting with a single line: Actions|Results &amp;amp; +|Δ&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: facilitation, decision-making&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Nice little facilitation formats. I&amp;rsquo;ll try those for sure.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://improvesomething.today/single-line-facilitation/"&gt;https://improvesomething.today/single-line-facilitation/&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;h4 id="three-ways-people-respond-to-a-problem-other-than-solving-it"&gt;Three ways people respond to a problem (other than solving it)&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;Tags: problem-solving&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Very good points. Solving problems is not necessarily what happens when they are identified.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://improvesomething.today/responses-to-problems/"&gt;https://improvesomething.today/responses-to-problems/&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>Qt Extension 1.14.0 for VS Code Released</title><link>https://www.qt.io/blog/qt-extension-1.14.0-for-vs-code-released</link><pubDate>Fri, 22 May 2026 13:27:47 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-extension-1.14.0-for-vs-code-released</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/qt-extension-1.14.0-for-vs-code-released?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/2026-05-19_16-30.png" alt="Qt Extension 1.14.0 for VS Code 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;We're excited to announce the release of version 1.14.0 of the Qt Extension for Visual Studio Code! This release introduces QML Live Preview with hot-reload capability, bringing real-time feedback directly into your editor.&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-extension-1.14.0-for-vs-code-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>Ocean Design for Plasma – May Updates</title><link>https://anditosan.wordpress.com/2026/05/22/ocean-design-for-plasma-may-updates/</link><pubDate>Fri, 22 May 2026 13:09:03 +0000</pubDate><guid isPermaLink="true">http://anditosan.wordpress.com/?p=538</guid><description>&lt;h2 class="wp-block-heading"&gt;Fixing Color Visuals, Exporting and Importing&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;We received multiple reports of problems when importing the Penpot library file. Users would see a Penpot instance crash upon loading our library. &lt;/p&gt;
&lt;div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex"&gt;
&lt;p class="wp-block-paragraph"&gt;One of our contributors noticed that there was a problematic graphic in the library that, when removed, did not make the Penpot instance crash.&lt;/p&gt;
&lt;figure class="wp-block-image size-large is-style-default"&gt;&lt;a target="_blank" href="https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg"&gt;&lt;img width="325" height="1025" data-attachment-id="548" data-permalink="https://anditosan.wordpress.com/2026/05/22/ocean-design-for-plasma-may-updates/colors/" data-orig-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg" data-orig-size="4258,13434" data-comments-opened="1" data-image-meta="&amp;#123;&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;}" data-image-title="colors" data-image-description="" data-image-caption="" data-large-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=325" src="https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=325" alt="" class="wp-image-548" srcset="https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=325 325w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=650 650w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=48 48w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/colors.jpg?w=95 95w" sizes="(max-width: 325px) 100vw, 325px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p class="wp-block-paragraph"&gt;I noticed that the graphic in question is a SVG export from Figma and contained calls that were not supported by Penpot. This color collection had a detail of all our Ocean colors and their gradients. I made the change to a png image instead so that the svg graphics from Figma in Penpot were no longer a problem.&lt;/p&gt;
&lt;div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex"&gt;
&lt;p class="wp-block-paragraph"&gt;The Ocean Foundations Penpot library is now updated and no longer crashes on import. Users are welcomed to update their libraries.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 class="wp-block-heading"&gt;Penpot Additions&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;The Penpot library also contains a few new section headers so that it&amp;#8217;s easier for users to understand what they are looking at. Please note that any sets that say &amp;#8220;BASE *&amp;#8221; means that they are parent components and are not needed for building components.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;Base components are denoted by their name, it starts with a &amp;#8220;_*&amp;#8221;. This means, this is a parent component. Their purpose is to make it faster for designers to edit many components at once.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;For example, a button has two versions &amp;#8220;_Buttonbase&amp;#8221; and &amp;#8220;Button&amp;#8221;. In this case, &amp;#8220;_Button Base&amp;#8221; is the parent componen and if you change the corner radius, all &amp;#8220;Button&amp;#8221; components will update accordingly.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;There are always shared components than base components. Hence the need to accelerate component editing.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;When you download our library, you can easily identify these components and make the changes that fit your design.&lt;/p&gt;
&lt;figure class="wp-block-image size-large"&gt;&lt;a target="_blank" href="https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png"&gt;&lt;img width="1024" height="593" data-attachment-id="550" data-permalink="https://anditosan.wordpress.com/2026/05/22/ocean-design-for-plasma-may-updates/image-25/" data-orig-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png" data-orig-size="2248,1304" data-comments-opened="1" data-image-meta="&amp;#123;&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=1024" src="https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=1024" alt="" class="wp-image-550" srcset="https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=1024 1024w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=2048 2048w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=150 150w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=300 300w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=768 768w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/image.png?w=1440 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 class="wp-block-heading"&gt;Updated Folder Icons for Legibility&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;In a previous iteration, I created folder clones from one size and mathematically shrunk them for another size. While this works, it&amp;#8217;s not optimized. A few of the folder icons were like this and looked blurry, not sharp.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;After remembering the need for work there, I adapted those folders and they are now published in the git page for Ocean. Places at 32px should now look more polished.&lt;/p&gt;
&lt;figure class="wp-block-image size-large"&gt;&lt;a target="_blank" href="https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png"&gt;&lt;img width="1000" height="304" data-attachment-id="553" data-permalink="https://anditosan.wordpress.com/2026/05/22/ocean-design-for-plasma-may-updates/places/" data-orig-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png" data-orig-size="1000,304" data-comments-opened="1" data-image-meta="&amp;#123;&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;}" data-image-title="Places" data-image-description="" data-image-caption="" data-large-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png?w=1000" src="https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png?w=1000" alt="" class="wp-image-553" srcset="https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png 1000w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png?w=150 150w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png?w=300 300w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/places.png?w=768 768w" sizes="(max-width: 1000px) 100vw, 1000px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 class="wp-block-heading"&gt;Progress with App Icons&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;&lt;strong&gt;DISCLAIMER: ICONS ARE NOT FINAL! THIS IS A PREVIEW!&lt;/strong&gt;&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;App icons are moving along well. I recently picked them back up to continue the work after receiving some initial feedback. I have settled on a style based off subtle and soft gradients.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;At the same time, previous versions of these icons seemed dull and lifeless, color-wise. I decided to look for better, more vibrant colors and this is where I landed. I also worked on better rounded shapes. Note that we are following 3 different ideas around these icons, icons with a round background, icons with a squared background, unbounded icons (Icons not anchored to a background shape). In this way, we have more ways to express the best icon idea we want to share.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;I also realized that Qt does not support layer blend modes. I was using some of that in the icons to have an easier time adapting colors in borders and edges. I had to undo those and re-adapt the colors to not use blend modes. Maybe in the future Qt will have support for them.&lt;/p&gt;
&lt;figure class="wp-block-image size-large"&gt;&lt;a target="_blank" href="https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png"&gt;&lt;img loading="lazy" width="192" height="899" data-attachment-id="558" data-permalink="https://anditosan.wordpress.com/2026/05/22/ocean-design-for-plasma-may-updates/apps-32-1/" data-orig-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png" data-orig-size="192,899" data-comments-opened="1" data-image-meta="&amp;#123;&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;}" data-image-title="Apps 32 1" data-image-description="" data-image-caption="" data-large-file="https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png?w=192" src="https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png?w=192" alt="" class="wp-image-558" srcset="https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png 192w, https://anditosan.wordpress.com/wp-content/uploads/2026/05/apps-32-1.png?w=32 32w" sizes="(max-width: 192px) 100vw, 192px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 class="wp-block-heading"&gt;Ocean + Union&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;Union is about to make its first appearance to the public as an engine. Plasma 6.7 will bring this to light. I have communicated with the Union team and we expect to work together after this first launch to begin creating Ocean components in code.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;I tried working through building a Storybook using the Penpot MCP server but it seemed pretty convoluted and is not a documented process. I will keep trying and maybe just create the Storybook site manually.&lt;/p&gt;
&lt;h2 class="wp-block-heading"&gt;Akademy Presentation&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;Akademy is once again on the horizon. I submitted a progress update talk about Ocean. I am hoping by then, we have actual Ocean UI components to show. We will work toward that.&lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;See you all in September in Graz to celebrate our 30th year! &lt;img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /&gt;&lt;/p&gt;
&lt;h2 class="wp-block-heading"&gt;Relevant Links&lt;/h2&gt;
&lt;p class="wp-block-paragraph"&gt;YouTube Channel: &lt;a target="_blank" href="https://www.youtube.com/anditosan" target="_blank" rel="noopener"&gt;https://www.youtube.com/anditosan&lt;/a&gt; &lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;Invent Repo: &lt;a target="_blank" href="https://invent.kde.org/abetts/ocean-design" target="_blank" rel="noopener"&gt;https://invent.kde.org/abetts/ocean-design&lt;/a&gt; &lt;/p&gt;
&lt;p class="wp-block-paragraph"&gt;Documentation: &lt;a target="_blank" href="https://invent.kde.org/teams/vdg/issues/-/wikis/Ocean-Design---Overview-and-Details" target="_blank" rel="noopener"&gt;https://invent.kde.org/teams/vdg/issues/-/wikis/Ocean-Design&amp;#8212;Overview-and-Details&lt;/a&gt;&lt;/p&gt;</description><author>Andres Betts</author></item><item><title>Qt Creator 20 Beta2 released</title><link>https://www.qt.io/blog/qt-creator-20-beta2-released</link><pubDate>Thu, 21 May 2026 10:27:38 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-creator-20-beta2-released</guid><description>&lt;p&gt;We are happy to announce the release of Qt Creator 20 Beta2.&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-20-beta2-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>Qt for MCUs vs LVGL: A Comparative Study from Design to Deployment</title><link>https://www.qt.io/blog/qt-for-mcus-vs-lvgl-a-comparative-study-from-design-to-deployment</link><pubDate>Thu, 21 May 2026 10:00:00 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-for-mcus-vs-lvgl-a-comparative-study-from-design-to-deployment</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/qt-for-mcus-vs-lvgl-a-comparative-study-from-design-to-deployment?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/Qt-for-MCUs-vs-LVGL-Washing-Machine-GUI-thumb.webp" alt="Smartphone-quality washing machine GUI with smooth animations used in Qt for MCUs vs LVGL framework comparison 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;&lt;em&gt;When comparing Qt for MCUs vs LVGL, an independent study by Spyrosoft (updated with new data in May 2026) shows that &lt;span style="font-weight: bold;"&gt;Qt for MCUs reduces development time by approximately 30% compared to LVGL&lt;/span&gt;, requires roughly half the handwritten application code, and achieves better or equivalent FPS performance at a fraction of the CPU usage. The efficiency improvement comes mainly from Qt's integrated toolchain, which facilitates better collaboration among designers, developers, and QA engineers. Additionally, Qt for MCUs offers comprehensive safety certification, professional services, and support, positioning it as a superior LVGL alternative for complex projects where functional safety and compliance are essential. A second benchmark released by Silicon Signals confirms the performance advantage in both CPU and RAM consumption.&lt;/em&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-vs-lvgl-a-comparative-study-from-design-to-deployment&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>The KDE Qt5 Patch Collection has been rebased on top of Qt 5.15.19</title><link>https://tsdgeos.blogspot.com/2026/05/the-kde-qt5-patch-collection-has-been.html</link><pubDate>Wed, 20 May 2026 21:06:40 +0000</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7523589.post-1301342846742859398</guid><description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;Commit: &lt;a target="_blank" href="https://invent.kde.org/qt/qt/qt5/-/commit/aa749695075684f0c8585ede19e361f9accb4287"&gt;https://invent.kde.org/qt/qt/qt5/-/commit/aa749695075684f0c8585ede19e361f9accb4287&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Commercial release announcement: &lt;a target="_blank" href="https://www.qt.io/blog/commercial-lts-qt-5.15.19-released"&gt;https://www.qt.io/blog/commercial-lts-qt-5.15.19-released&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;OpenSource release announcement: &lt;a target="_blank" href="https://lists.qt-project.org/pipermail/announce/2026-May/000626.html"&gt;https://lists.qt-project.org/pipermail/announce/2026-May/000626.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This was the last Qt5 release.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;The KDE Qt5 Patchset Collection remains open in case something very very very very very&amp;nbsp;&lt;br /&gt;very very very very very very very very very very very very very very very&amp;nbsp;&lt;br /&gt;very critical is needed.&lt;/p&gt;</description><author>Albert Astals Cid</author></item><item><title>kirigami-app-components</title><link>https://notmart.org/blog/2026/05/kirigami-app-components/</link><pubDate>Wed, 20 May 2026 15:03:33 +0000</pubDate><guid isPermaLink="true">https://notmart.org/blog/?p=6882</guid><description>&lt;p&gt;We just had a release of a new library, and future framework: &lt;a target="_blank" href="https://download.kde.org/stable/kirigami-app-components/"&gt;kirigami-app-componets,&lt;/a&gt; which is a &lt;a target="_blank" href="https://invent.kde.org/libraries/kirigami-app-components"&gt;new repository&lt;/a&gt; where a certain kind of Kirigami extensions will go.&lt;/p&gt;
&lt;p&gt;This repository will contain modules that are intended to be building blocks for applications to integrate within the KDE Frameworks ecosystem.&lt;/p&gt;
&lt;p&gt;Why start a new repository when kirigami-addons already exists?&lt;/p&gt;
&lt;p&gt;We now had a standalone release of kirigami-app-components with a single module inside for testing purposes, but the target here is to move it to frameworks releases, with all the stability promises and quality constraints of Frameworks.&lt;/p&gt;
&lt;p&gt;Kirigami-addons is a bit more experimental of nature and have modules which, while they are a good first approach at solving a particular problem, would definitely need some work and refactoring for us to be comfortable having them in Frameworks, while other kirigami-addons modules will be a more straightforward import into kirigami-app-components.&lt;/p&gt;
&lt;p&gt;An example of a module that was very useful but needed some work in its architecture is the StatefulApplication module (&lt;code&gt;import org.kde.kirigamiaddons.statefulapp&lt;/code&gt;). It provides a Kirigami &lt;code&gt;ApplicationWindow&lt;/code&gt; subclass and a way to map &lt;code&gt;QAction&lt;/code&gt;s to Kirigami actions.&lt;/p&gt;
&lt;p&gt;The central idea is having a series of actions that can have their keyboard shortcuts configured by the user (while also providing a component for such configuration UI).&lt;/p&gt;
&lt;p&gt;A problematic aspect of &lt;code&gt;StatefulApp&lt;/code&gt; is that it&amp;#8217;s based too much on C++: in order to add actions, it is necessary for the app to create a subclass and add them as &lt;code&gt;QActions&lt;/code&gt;, then the QML part has to connect the &lt;code&gt;QActions&lt;/code&gt; and Kirigami.Action using the proper API. &lt;/p&gt;
&lt;p&gt;This is OK for the parts of the app where the logic is completely on the C++ side, but when it is necessary to add a very simple action (closing a page, opening a search dialog, and so on), this brings far too much boilerplate.&lt;/p&gt;
&lt;h2 class="wp-block-heading"&gt;org.kde.kirigami.actioncollection&lt;/h2&gt;
&lt;p&gt;ActionCollection is the module that we introduce with kirigami-app-components. It&amp;#8217;s all about collections of actions that are defined declaratively via QML (with the option of creating collections on the C++ side as well) and that have shortcuts configurable by the user via the standard interface.&lt;/p&gt;
&lt;p&gt;In order to define a new collection, we would write the following QML:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;import org.kde.kirigami.actioncollection as AC
AC.ActionCollectionManager &amp;#123;
id: manager
pageRow: pageStack
AC.ActionCollection &amp;#123;
name: "org.kde.myapp.mainactions"
text: i18n("Main Actions")
AC.ActionData &amp;#123;
name: "hello"
text: i18n("Hello")
icon.name: "document-send"
defaultShortcut: "Ctrl+H"
}
AC.StandardActionData &amp;#123;
standardAction: AC.StandardActionData.Copy
}
...
}
AC.ActionCollection &amp;#123;
name: "org.kde.myapp.photoactions
text: i18n("Photo Actions")
AC.ActionData &amp;#123;
...
}
...
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The ActionCollectionManager will be a single instance for the whole application, and it is what takes care of instantiating the common actions (such as About Application, About KDE, Configure Shortcuts, and so on) and doing the plumbing with the configuration dialogs and so on.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ActionCollection&lt;/code&gt; is a set of actions semantically grouped together in the same category (if an application would have, for instance, actions that operate on photos and actions that operate on videos, those could be two different collections).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ActionData&lt;/code&gt; is the semantic representation of an action (internally it is a &lt;code&gt;QAction&lt;/code&gt;, so it has all its properties) and will be defined only once for the whole application. Instances of &lt;code&gt;Kirigami.Action&lt;/code&gt; will be attached to it (even more than one), and those will define the actual buttons and menu entries in the application.&lt;/p&gt;
&lt;p&gt;A &lt;code&gt;Kirigami.Action&lt;/code&gt; is attached to an &lt;code&gt;ActionData&lt;/code&gt; via an attached property:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;Kirigami.Action &amp;#123;
// Here shows how important is that each ActionCollection has
// an app-global unique name and each action has a collecion-global
// unique name as well
AC.ActionCollection.name: "org.kde.myapp.mainactions"
AC.ActionCollection.action: "hello"
onTriggered: &amp;#123;
// Logic here
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;Kirigami.Action&lt;/code&gt; instance will not have text, shortcut, or icon defined, because everything comes from the attached &lt;code&gt;ActionData&lt;/code&gt;. Only the &lt;code&gt;onTriggered&lt;/code&gt; logic will be defined there (as well as the logic for when the action is enabled or visible).&lt;/p&gt;
&lt;p&gt;When an &lt;code&gt;ActionCollectionManager&lt;/code&gt; is created, a collection named &lt;code&gt;org.kde.globalactions&lt;/code&gt; will be automatically created as well, which also contains an action called &lt;code&gt;"KeyBindings&lt;/code&gt;&amp;#8220;. When triggered, this dialog will open:&lt;/p&gt;
&lt;figure class="wp-block-image size-large"&gt;&lt;a target="_blank" href="https://notmart.org/blog/wp-content/uploads/2026/05/image-1.png"&gt;&lt;img fetchpriority="high" decoding="async" width="1024" height="677" src="https://notmart.org/blog/wp-content/uploads/2026/05/image-1-1024x677.png" alt="" class="wp-image-6885" srcset="https://notmart.org/blog/wp-content/uploads/2026/05/image-1-1024x677.png 1024w, https://notmart.org/blog/wp-content/uploads/2026/05/image-1-300x198.png 300w, https://notmart.org/blog/wp-content/uploads/2026/05/image-1-768x508.png 768w, https://notmart.org/blog/wp-content/uploads/2026/05/image-1-624x412.png 624w, https://notmart.org/blog/wp-content/uploads/2026/05/image-1.png 1230w" sizes="(max-width: 1024px) 100vw, 1024px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;This is the configuration UI where it is possible to configure all the application shortcuts.&lt;/p&gt;
&lt;p&gt;Another action called &amp;#8220;&lt;code&gt;FindAction"&lt;/code&gt; is also available: when triggered, this other dialog will open instead:&lt;/p&gt;
&lt;figure class="wp-block-image size-full"&gt;&lt;a target="_blank" href="https://notmart.org/blog/wp-content/uploads/2026/05/image-2.png"&gt;&lt;img decoding="async" width="930" height="946" src="https://notmart.org/blog/wp-content/uploads/2026/05/image-2.png" alt="" class="wp-image-6886" srcset="https://notmart.org/blog/wp-content/uploads/2026/05/image-2.png 930w, https://notmart.org/blog/wp-content/uploads/2026/05/image-2-295x300.png 295w, https://notmart.org/blog/wp-content/uploads/2026/05/image-2-768x781.png 768w, https://notmart.org/blog/wp-content/uploads/2026/05/image-2-624x635.png 624w" sizes="(max-width: 930px) 100vw, 930px" /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;This is the classical &lt;code&gt;Ctrl+Alt+I&lt;/code&gt; dialog also present in QWidget applications, where it is possible to search and trigger all the application&amp;#8217;s actions.&lt;/p&gt;</description><author>Marco Martin</author></item><item><title>Qt Creator 20: faster clangd</title><link>https://www.qt.io/blog/qt-creator-20-faster-clangd</link><pubDate>Wed, 20 May 2026 13:07:22 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/qt-creator-20-faster-clangd</guid><description>&lt;p&gt;In this article, I am going to talk about having a PGO (Profile-Guided Optimization) build of Clang.&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-20-faster-clangd&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 Cross-Platform C# UI Framework via Qt’s Bridging Technology</title><link>https://www.qt.io/blog/csharp-ui-framework-via-bridging-technology</link><pubDate>Wed, 20 May 2026 11:20:07 +0000</pubDate><guid isPermaLink="true">https://www.qt.io/blog/csharp-ui-framework-via-bridging-technology</guid><description>&lt;div class="hs-featured-image-wrapper"&gt;
&lt;a target="_blank" href="https://www.qt.io/blog/csharp-ui-framework-via-bridging-technology?hsLang=en" title="" class="hs-featured-image-link"&gt; &lt;img src="https://www.qt.io/hubfs/QtBridges-CsharpUIFramework-FeaturedImage-1200x628.webp" alt="Simple illustration on how Qt Bridges enables QML frontends for C# backends" 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;Every C# UI framework comes with a familiar pattern: Windows-first, Linux absent, roadmap uncertain. WPF stalled, MAUI skipped Linux, WinUI 3 stays Windows-native. At the same time, demand for embedded Linux grows and C# teams feel the lack of good UI alternatives for C# on Linux. Qt Bridges, a bridging technology in public beta for C#, provides access to a UI framework that allows preserving your existing C# codebase while utilizing Qt Quick’s feature-rich UI libraries and APIs, hardware acceleration, and cross-platform capability.&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%2Fcsharp-ui-framework-via-bridging-technology&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></channel></rss>