Skip to content

Friday, 30 May 2025

Let’s go for my web review for the week 2025-22.


The two types of open source

Tags: tech, foss, community, supply-chain, marketing, business

I’m not sure this dichotomy is enough for building a taxonomy of FOSS projects. But I guess it’s a start and captures something often missing in other such attempts.

https://filiph.net/text/two-types-of-open-source.html


SteamOS massively beats Windows on the Legion Go S

Tags: tech, linux, gaming, kde, power, performance

Looks like Linux is now the best operating system for gaming on the go.

https://www.gamingonlinux.com/2025/05/steamos-massively-beats-windows-on-the-legion-go-s/


Why old games never die (but new ones do)

Tags: tech, gaming, vendor-lockin, culture

It’s funny how old games can still have a cult following. It’s unlikely to stop too… That’s the good thing about limited lock in. Self hostable private servers, ability to play offline, tools to produce mods… They all contribute to such very long term successes.

https://pleromanonx86.wordpress.com/2025/05/06/why-old-games-never-die-but-new-ones-do/


Own Your Email Domain

Tags: tech, email, self-hosting, dns

You don’t need to self-host the mail itself, but you definitely should control the domain.

https://matthewsanabria.dev/posts/own-your-email-domain/


How to fix email encryption

Tags: tech, email, security, cryptography, ux

Worth trying indeed. I’d love to see at least some of that widely adopted.

https://weddige.eu/en/articles/lets-encrypt-emails/


A Company Reminder for Everyone to Talk Nicely About the Giant Plagiarism Machine

Tags: tech, ai, machine-learning, gpt, copyright, satire

Nice little satire, we could easily imagine some CEOs writing this kind of memo.

https://www.mcsweeneys.net/articles/a-company-reminder-for-everyone-to-talk-nicely-about-the-giant-plagiarism-machine


At Amazon, Some Coders Say Their Jobs Have Begun to Resemble Warehouse Work

Tags: tech, ai, machine-learning, gpt, copilot, productivity, management, business, quality

If you expected another outcome on the average developer job from the LLM craze… you likely didn’t pay attention enough.

https://www.nytimes.com/2025/05/25/business/amazon-ai-coders.html


Google has a big AI advantage: it already knows everything about you

Tags: tech, ai, machine-learning, gpt, google, surveillance

Are we surprised they’ll keep processing personal information as much as possible? Not really no…

https://www.theverge.com/tech/671201/google-personal-context-ai-advantage-data


The Who Cares Era

Tags: tech, ai, machine-learning, gpt, quality, culture

Nice piece. In an age where we’re drowning in bad quality content, those who make something with care will shine. They need to be supported.

https://dansinker.com/posts/2025-05-23-who-cares/


Large Language Models Reflect the Ideology of their Creators

Tags: tech, ai, machine-learning, gpt, politics, research

Interesting research, this gives a few hints at building tools to ensure some more transparency at the ideologies pushed by models. They’re not unbiased, that much we know, characterising the biases are thus important.

https://arxiv.org/abs/2410.18417


Tools

Tags: tech, ai, machine-learning, gpt, copyright, ethics

LLMs are indeed not neutral. There’s a bunch of ethical concerns on which you don’t have control when you use them.

https://adactio.com/journal/21926


The magic developer wand…

Tags: tech, ai, machine-learning, gpt, ethics, ecology, copyright

Not only the tools have ethical issues, but the producers just pretend “we’ll solve it later”. A bunch of empty promises.

https://gomakethings.com/the-magic-developer-wand…/


A Vibe‐Coding Experience

Tags: tech, ai, machine-learning, copilot, programming, complexity

An honest attempt at “vibe coding”… but once again the conclusion is “when it grows to non-trivial size, I’m glad my experience allowed me to finish the thing myself”.

https://github.com/clauderouxster/kriegspiel/wiki/A-Vibe%E2%80%90Coding-Experience


On “Vibe Coding”

Tags: tech, ai, machine-learning, gpt, copilot, quality, economics, politics

It definitely has a point. The code output isn’t really what matters. It is necessary at the end, but without the whole process it’s worthless and don’t empower anyone… It embodies many risks instead. I think my preferred quote in this article is this: “We are teaching people that they are not worth to have decent, well-made things.”

https://tante.cc/2025/05/23/on-vibe-coding/


Net-Negative Cursor

Tags: tech, ai, machine-learning, gpt, copilot, productivity, quality

Indeed feels bad when there are so many problems in the example of LLM based completion you put on the front page of your website…

https://lukasatkinson.de/2025/net-negative-cursor/


The Recurring Cycle of ‘Developer Replacement’ Hype

Tags: tech, ai, machine-learning, gpt, copilot, nocode, hype, business

Just another hype cycle… The developer profession being in danger is greatly exaggerated.

https://alonso.network/the-recurring-cycle-of-developer-replacement-hype/


CAPTCHAs are over (in ticketing)

Tags: tech, ai, machine-learning, security, privacy

Or why CAPTCHA might become something of the past. I guess they’ll live a bit longer as they become more and more privacy invasive.

https://behind.pretix.eu/2025/05/23/captchas-are-over/


Remote Prompt Injection in GitLab Duo Leads to Source Code Theft

Tags: tech, ai, machine-learning, copilot, gitlab, security

As LLM assistants get more and more embedded in the development process, it gets harder to ensure they behave safely. Quite a few interesting attack vectors in that one.

https://www.legitsecurity.com/blog/remote-prompt-injection-in-gitlab-duo


GitHub MCP Exploited: Accessing private repositories via MCP

Tags: tech, ai, machine-learning, copilot, github, security

Another example of attack vectors emerging with adding more and more LLM agents in the development process.

https://invariantlabs.ai/blog/mcp-github-vulnerability


How I used o3 to find CVE-2025-37899, a remote zeroday vulnerability in the Linux kernel’s SMB implementation

Tags: tech, ai, machine-learning, gpt, copilot, security, audit

Looks like it’s getting there as a good help for auditing code, especially to find security vulnerabilities.

https://sean.heelan.io/2025/05/22/how-i-used-o3-to-find-cve-2025-37899-a-remote-zeroday-vulnerability-in-the-linux-kernels-smb-implementation/


Pain in the dots

Tags: tech, version-control, git, tools

I often tumble on this. The two and three dots notations means different things between git log and git diff. It is a tad annoying.

https://matthew-brett.github.io/pydagogue/pain_in_dots.html


Writing your own CUPS printer driver in 100 lines of Python

Tags: tech, linux, printing, cups

A good reminder that writing CUPS printer drivers doesn’t have to be complicated.

https://behind.pretix.eu/2018/01/20/cups-driver/


The future of Flatpak

Tags: tech, linux, flatpak, community

Flatpak is at a crossroad I’d say. The project really needs to find a way to move forward.

https://lwn.net/Articles/1020571/


Memory Access Patterns Are Important

Tags: tech, programming, cpu, memory, caching, performance, multithreading

A bit dated perhaps, and yet most of the lessons in here are still valid. If performance and parallelism matter, you better keep an eye on how the cache is used.

https://mechanical-sympathy.blogspot.com/2012/08/memory-access-patterns-are-important.html?m=1


Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM

Tags: tech, java, memory

Interesting advanced features of GraalVM to better manage the memory of complex Java programs.

https://medium.com/graalvm/isolates-and-compressed-references-more-flexible-and-efficient-memory-management-for-graalvm-a044cc50b67e


Revisiting Loop Recognition in C++… in Rust

Tags: tech, rust, c++, programming, memory, performance, benchmarking

Interesting comparison between C++ and Rust for a given algorithm. The differences are mostly what you would expect, it’s nice to confirm them.

https://blomqu.ist/posts/2025/loop-recognition/


Threads Beat Async/Await

Tags: tech, programming, multithreading, asynchronous, python, dotnet, javascript, java, rust

Or why I’m still on the fence regarding async/await. It’s rarely the panacea we pretend it to be.

https://lucumr.pocoo.org/2024/11/18/threads-beat-async-await/


Rust streams and timeouts gotcha

Tags: tech, programming, rust, asynchronous

Indeed, bugs with async/await can be subtle in Rust.

https://laplab.me/posts/rust-streams-gotcha/


parking_lot: ffffffffffffffff…

Tags: tech, debugging, multithreading, rust

Nice deep dive into a bug lurking inside a lock implementation.

https://fly.io/blog/parking-lot-ffffffffffffffff/


Concepts vs type traits

Tags: tech, c++, type-systems

Good comparison between concepts and type traits in C++. Clearly at this point concepts should be favoured as they convey more intent to compilers and humans alike.

https://akrzemi1.wordpress.com/2025/05/24/concepts-vs-type-traits/


dynamix: A new take on polymorphism

Tags: tech, c++, design, object-oriented

A library bringing the mixins concept to C++.

https://github.com/iboB/dynamix


Pyrefly vs. ty: Comparing Python’s Two New Rust-Based Type Checkers

Tags: tech, python, type-systems, rust

Early days but it looks like we got two interesting type checkers coming up for Python. Definitely worth keeping an eye on them.

https://blog.edward-li.com/tech/comparing-pyrefly-vs-ty/


Thousands separators

Tags: tech, programming, python

Nice trick for numbers formatting as strings in Python.

https://mathspp.com/blog/til/thousands-separators


Why are 2025/05/28 and 2025-05-28 different days in JavaScript?

Tags: tech, date, time, javascript

Date parsing is generally complicated… In JavaScript it is just insane.

https://brandondong.github.io/blog/javascript_dates/


Car Physics

Tags: tech, game, mathematics, simulation, physics

Nice explanation of everything you need to simulate to make a realistic car simulation in a game.

https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html


Test Isolation Is About Avoiding Mocks

Tags: tech, tests, tdd, design

Even if you do use mocks to isolate your tests, at least don’t nest them.

https://www.destroyallsoftware.com/blog/2014/test-isolation-is-about-avoiding-mocks


Visualization Mnemonics for Software Principles

Tags: tech, design, object-oriented

A funny way to illustrate the principles behind the SOLID acronym.

https://daedtech.com/visualization-mnemonics-for-software-principles/


Design driven development

Tags: tech, architecture, tests, tdd, design

Both TDD and design docs complete each other well indeed. They just don’t focus on the same activities in the project. That said, both later provide important insights on all the decisions taken to produce some code.

https://underlap.org/design-driven-development


Reinvent the Wheel

Tags: tech, programming, supply-chain, learning

For studying it makes sense. But don’t shun other’s work away only because of trust or ego issues.

https://endler.dev/2025/reinvent-the-wheel/


On work processes and outcomes

Tags: tech, engineering, processes, quality, safety

Interesting ways to look at processes and their outcomes. Depending on the mental model you won’t ask the same questions when investigating incidents.

https://surfingcomplexity.blog/2025/05/10/on-work-processes-and-outcomes/


Managing strong personalities

Tags: management, team

I prefer aiming for egoless positions in teams… But if it doesn’t work, I guess this little trick can help turn someone around.

https://betterthanrandom.substack.com/p/managing-big-egos


How to make sure nothing gets done at work

Tags: organization, bureaucracy, management, communication

You’ve see a co-worker doing this, right? They’re unlikely to be spies, but still they’re inadvertently using sabotage tactics.

https://fortune.com/2015/09/30/workplace-bureaucracy-simple-sabotage/


Models and science

Tags: science

A nice little explanation of scientific work and enquiry.

https://lemire.me/blog/2025/05/23/models-and-science/



Bye for now!

Techpaladin logo

Techpaladin becomes an official KDE patron and contributes to our community's funding.

Techpaladin is a consultancy firm specialized in advancing the state of the art in KDE software.

Techpaladin was founded by experienced and prominent KDE contributors who develop KDE-based software for such high-profile companies such as Valve and Qt Group.

"KDE is the giant whose shoulders Techpaladin sits upon," says Nate Graham, CEO of Techpaladin, "so we're very happy to support the mission and the foundation that pushes it forward. KDE e.V. helps make what we do possible, so becoming a Patron is the logical next step!"

"We are glad to welcome Techpaladin as our Patron", says Aleix Pol, President of KDE e.V. "Although a young organisation, we are very familiar with much of the team and know they share a lot of the same values as KDE. I look forward to growing KDE and its products together with them — what better way to do so than as a Patron?"

Techpaladin joins KDE e.V.'s other patrons: Blue Systems, Canonical, g10 Code, Google, Kubuntu Focus, Mbition, Slimbook, SUSE, The Qt Company and TUXEDO Computers, who support free open source software and KDE development through KDE e.V.

Wednesday, 28 May 2025

Today, we bring you a report on the brand-new release of the Maui Project.

Community

To follow the Maui Project’s development or to just say hi, you can join us on our Telegram group @mauiproject

We are present on X and Mastodon:

Thanks to the KDE contributors who have helped to translate the Maui Apps and Frameworks!

Check out our previous release notes at:

Maui Release Briefing #7

 

Downloads & Sources

You can get the stable release packages [APKs, AppImage, TARs] directly from the KDE downloads server at https://download.kde.org/stable/maui/

All of the Maui repositories have the newly released branches and tags. You can get the sources right from the Maui group: https://invent.kde.org/maui

 

MauiKit 4 Frameworks & Apps

With the previous version released, MauiKit Frameworks and Maui Apps were ported to Qt6; however, some regressions were introduced, and those bugs have now been fixed with this new revision.

Some of the changes and improvements were taking longer, so we skipped the February release and moved it to May, so here it is. With an ever-improving MauiKir set of frameworks powering the set os Maui Apps.

MauiKit Frameworks

A script element has been removed to ensure Planet works properly. Please find it in the original post.

A script element has been removed to ensure Planet works properly. Please find it in the original post.

  • MauiKit notifications now allow you to set custom actions, not only using the notify method, but also for convenience by using the Maui.Notification type. see [https://api.kde.org/mauikit/mauikit/html/classNotification.html]
  • The MauiKit controls templates for list and grid elements have been reviewed, and any binding loops have been squashed. Also, those elements such as GridBrowserDelegate, ListBrowserDelegate, ListItemTemplate, GridItemTemplate set their implicit sizes correctly.
  • It is now possible for third parties to create custom styles that adapt to MauiKit. Creating a custom QQC2 style is quite simple; to preserve Maui visuals, the new style should use MauiKit properties for setting colors, and elements, margins, padding, and sizing, etc. To allow this, please refer to MauiMan property allowCustomStyling. see [https://api.kde.org/mauikit/mauikit/html/classStyle.html]
  • Add more resize-edges to the ApplicationWindow in CSD mode
  • MauiKit ImageViewer type has gained more properties for finer control
  • MauiKit now disables effects when the software renderer is used.
  • Added helper methods to classify types of text string, such as email, link, phone number, etc, see [https://api.kde.org/mauikit/mauikit/html/classHandy.html]
  • More controls now support the attached properties from Controls, such as badges and status. see [https://api.kde.org/mauikit/mauikit/html/classControls.html]
  • The keyboard navigation has been reviewed and refined.
  • More consistent spacing and padding on the templated elements when some parts are not visible.
  • Added method to check number of active windows per app. see [https://api.kde.org/mauikit/mauikit/html/classMauiApp.html]
  • In nested and composed controls, use the background of the top root element.
  • Fixes creating dialogs from component types.
  • TabView and Page controls now support grouped properties for the tabBar and header and footer columns, respectively, to tweak the margins. see [headerContainer.margins: 10]
  • The PageLayout control can now split the header elements into the footer, but also pick which section of the header will be moved when split, by using the property splitSection. see [https://api.kde.org/mauikit/mauikit/html/classPageLayout.html]
  • Tweak and better translucency effects for the Page and TabBar headers and footers. (To disable effects, refer to the MauiMan Theme property: enableEffects)
  • The Nitrux CSD theme has been improved to be more compact visually
  • Fixes to SelectionBar drag and drop feature.
  • SideBarView can now be resized live
  • SideBarView now has a float property, which will not push the contents but float over it. see [https://api.kde.org/mauikit/mauikit/html/classSideBar.html]
  • The ToastArea for notifications is now keyboard navigable.
  • MauiKit-Filebrowsing fixes Tagging regressions and multithreading crashing issues.
  • MauiKit-Terminal fixes and supports for translucency, signaling current working directory changes, exposing background and foreground colors properties, and updating the touch area.
  • MauiKit-Documents fixes the search results highlights and supports initial text selection.
  • MauiKit-ImageTools now makes use of the KEviv2 library wrapper for managing image metadata editing. Includes a new image editor based on OpenCV, and improves upon the existing interface for text detection in images OCR.
  • MauiKit-ImageTools improves the keyboard navigation on its custom controls.
  • MauiKit-FileBrowsing, the Tagging interface, now emits the right signals upon new tag creations. Improve the OpenWith dialog with an informative header. Improve keyboard navigation and multiple file selection in FileBrowser component using keyboards.
  • Moreover, see [https://invent.kde.org/maui]

Maui Apps

Currently, the set of Maui Apps amounts to over 10+ apps. For this release, the focus has been to improve the experience in the main set of apps, such as Index, Pix, Statio, while keeping up to date with the other ones.

The apps now have better keyboard navigation support, include new features, and a cohesive layout/design where the app’s main content is put on the front by using a modern “floaty” style.

Pix now includes, in the viewer, OCR auto recognition, along with a ui/ux for quickly selecting the text found in images. A new image editor backed by OpenCV , improved navigation patterns, fixed GPS browsing, and a metadata reader and editor now using KDE’s library kexiv2.  You can also quickly navigate multiple images from the editor, and in desktop environments, Pix supports opening an image per window.

Here you can watch Pix OCR in action:

 

The Pix image editor is coming from MauiKit-ImageTools, and for this initial release, it has the basic image manipulation controls, such as brightness, contrast, sharpness, etc. And some experimental filters. Upcoming versions should start adding up much more controls for more detailing editing. Algo object recognition is planned for upcoming releases by using OpenCV.

Station, the terminal emulator, now better supports command shortcuts in a new sidebar, which is useful for touch-based input. The sidebar is integrated using the new floaty style.

For those who fancy a good-looking terminal, Station brings back support for the translucency effect under Plasma. The screenshots below show Station on a PinePhone and a desktop under Plasma using the effect.

From previous releases, Station, can now launch and open URLs from the output by right-clicking on the selected text string. The touch area for mobile screens has been fixed, and the gesture shortcuts work great, and a bottom toolbar with common “keys” is available and responsive to the current program running, for example is running “nano” the keys will be relevant to that.

 

Index, out file manager, now has an action bar floating over the browser for quickly performing actions.

Index comes with improvements in the contextual menus when applying actions to multiple files and keyboard navigation.

  • A more focused UI design.
  • Index, Pix, and Vvave remember the last tag used and suggest it.
  • Notifies when a file has been tagged and allows opening the given tag from the notification
  • Fixes to the creation and destruction of dialogs.
  • The embedded terminal can now be manually synced by using the context menu or the ‘Ctrl+.’ keyboard shortcut

Buho now supports opening notes in different windows in desktop mode. And exposes a server method for third-party apps to save notes to it quickly, for example, Pix is now using this interface to save the text found in an image to a note in Buho.

Shelf, using MauiKit-Documents, now has text selection support and improved found text highlights.

You can follow the project on Mastodon or X to keep up to date on the changes being made. And if you are planning to work on an app for Linux and considering MauiKit for the UI, please do not hesitate to reach up to us for help, advice, or suggestions. Some updates coming from X follow:

 

A script element has been removed to ensure Planet works properly. Please find it in the original post.

 

A script element has been removed to ensure Planet works properly. Please find it in the original post.

A script element has been removed to ensure Planet works properly. Please find it in the original post.

 

That’s it for now. Until the next blog post, that will be a bit closer to the 4.0.3 stable release. 🙂

 

Release schedule

The post Maui Release Briefing #8 appeared first on MauiKit — #UIFramework.

Interactive Plots with PySide6

Nowadays it is getting more and more popular to write Qt applications in Python using a binding module like PySide6. One reason for this is probably Python's rich data science ecosystem which makes it a breeze to load and visualize complex datasets. In this article we focus (although not exclusively) on the widespread plotting library Matplotlib: We demonstrate how you can embed it in PySide applications and how you can customize the default look and feel to your needs. We round off the article with an outlook into Python plotting libaries beyond Matplotlib and their significance for Qt.

Continue reading Interactive Plots with PySide6 at basysKom GmbH.

With the release of the Lenovo Legion Go S gaming handheld, we’ve now got a real apples-to-apples comparison of how Windows 11 fares against Linux (specifically, SteamOS with KDE Plasma) on the same 1st-party supported OEM hardware in a gaming context. And the results are pretty devastating for Windows in terms of performance and battery life — according to even windowscentral.com! Neither WindowsCentral nor the original video from Dave2d mention desktop mode, but the answer there is just as clear, as all of us in the FOSS space have known for ages.

We’re winning, folks. If I polish my crystal ball, I see us peeling away groups of users from competing platforms one at a time: developers, gamers, artists, scientists, enthusiasts, and on and on. It’s happening. The snowball is rolling down the hill, gaining momentum.

It can be hard to remember the big picture when we’re nose deep in code, bugs, and icons all day, but that big picture is on our side. Never forget that everything you do in KDE is impactful!

Sunday, 25 May 2025

Being the workhorse for more than a decade, it took me by surprise that Qt 5 is going to run out of support tomorrow. Honestly, Qt 6 was released in late 2020 and I prefer using modern code bases that use features from the C++17 and C++20 standards. So, no reason to hold me back.

I am pleased to announce the release of KDE Stopmotion 0.9.0. It consist of the Qt 6 port and has no additional features or bug fixes. Quite boring, it does not even look nicer or different at all. Many thanks to Florian Satzger and Mark Penner for helping with the port when I got stuck.

Behind the curtain, we use KDE CI templates for the build pipeline, increased the minimum required version numbers for Qt, CMake and C++, and some minor warnings got fixed. We are back using semantic versioning. New features are added with an increased minor version number. Increased patch numbers are for bug fixes only.

Adding sound does not work properly, this is a known bug.

You can create the tar ball using the 0.9.0 Git tag.

Get involved!

I was super happy to receive help with the Qt 6 port. It is so cool to work with strangers and achieve so much. Being united by the desire to create powerful software, is a strong motivation.

I am desperately looking for more people to get involved in KDE Stopmotion. If you are looking for a place to make a contribution, consider it! Some areas for contributors come to my mind:

  • Use more modern libraries to grab the images from cameras. We have several options and some of these are unmaintained for years. Adding more recent options would be great.
  • Starting with integration into KDE's software stack. Stopmotion is still in the incubation phase. The software uses Qt but not KDE frameworks or other things from the ecosystem like handling the translations or a neat integration of the documentation.
  • Improving our test automation would be great.
  • The code base is 20 years old. Some C++ patterns used in the code might no longer be the best choice and a replacement with C++20 code might improve the quality.

Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.

This week we look at the usability improvements landing in NeoChat, and KClock; important bug fixes in Akonadi; performance improvements in KTorrent and new features in Kate and KRDC.

Getting back to all that's new in the KDE App scene, let's dig in!

Multimedia Applications

Elisa Play local music and listen to online radio

Christoph Wolk fixed an issue where lyrics were displayed on top of the metadata of a song (link).

Okular View and annotate documents

Albert Astals Cid fixed opening password protected files on builds without KWallet (link).

Travel Applications

KDE Itinerary Digital travel assistant

Volker Krause added support for MOTIS instances without OSM street routing capabilities (link). This is the case for the backup instance of Transitous.

Volker also upstreamed various parts of Itineray and KTrip to KPublicTransport to be able to reuse them in both applications. This include the vehicle layout view (link 1, link 2 and link 3) and the DelayRow (link).

In terms of ticket support, Joshua Goins improved the reliability when parsing american airlines tickets (link). Volker improved the Flixbus PDF extractor (link). Additionally, Volker also added onboard API support for Ouigo ES (link).

Creative Applications

Krita Digital Painting, Creative Freedom

Wolthera van Hövell added support for parsing and writing SVG title and description elements (link).

Kdenlive Video editor

balooii added a rotation capability to monitor and effect stack tooling (link). They also fixed some artifact issues in the vectorscope tool on high zoom levels (link).

Jean-Baptiste Mardelle added an option to show thumbnails in the markers list dialog (link).

System Applications

Dolphin Manage your files

Facundo Almeida fixed an authentification issue when connecting to a server with SFTP and a public key and a keyboard-interactive authentication method (link).

Whale

Carl Schwan continued working on Whale, a QML based file manager, and redesigning the header to look more closely to the current Dolphin design (link).

Journald Browser Browser for journald databases

Andreas Cord-Landwehr reworked the search integration and added a button to toggle between case-sensitive/insensitive search (link).

Educational Applications

LabPlot Visualize and analyze data

Martin Marmsoler added the possibility to create nested plots (link).

Martin also improved the axis ticks with a new algorithm to determine the spacing and number of major axis ticks (link).

Finally Martin also fixed a few issues. The cursor dock can now be correctly added when the properties dock is hidden (link). Formulas are correctly updated after importing them (link).

Social Applications

NeoChat Chat on Matrix

Joshua Goins overhauled how NeoChat restores rooms on space switch (link). Now when you switch spaces, the last room in that space is stored and will be restored.

Joshua improved many dialogs (link).

Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>

Joshua also went bug hunting on the message delegates in the timeline and fixed many issues (link). Notably the location map and context menu for non-text messages work again and some wording was improved. Speaking of context menus, Joshua also added a new context menu when right clicking on an avatar (link), added a share action to the maximized delegate (link), and made it possible to access all emojis from the context menu (link).

Joshua also improved the UX for rooms that don't have a canonical alias (link), fixed running NeoChat on Android (link), and reorganized some elements in the room settings (link).

Tobias created a mock server implementation of a Matrix server to use for testing (link).

James Graham made the user id elide in the user detail dialog when it is too long to avoid overflow (link).

Browsers and Networking

KTorrent BitTorrent Client

Andrey Semashev optimized various hot spots in KTorrent. He reduced the number of allocations for each packet from 3 to 1 (link), optimized the storage of some lists (link), reduced the algorithmic complexity of the file cache from O(log n) to roughly O(1) (link) and fixed some Qt container detaching issues (link).

Andrey Semashev also added support for OpenSSL as the cryptography backend (link).

Philipp Kiemle fixed some UI strings to be HIG complient (link 1 and link 2)

George Florea Bănuș added support for showing the total amount of bytes uploaded or downloaded for a file in the current session (link).

KRDC Connect with RDP or VNC to another computer

Fabio Bas and Luke Dashjr added a button to toggle clipboard sharing in KRDC (link).

Christopher Chan added support for admin console session (link).

KDE Connect Seamless connection of your devices

lzwind fixed a memory leak issue when a device is disconnected (link).

KDE PIM

Akonadi Background service for KDE PIM apps

Allen Winter updated the list of DAV providers, removing some defunct providers and adding new ones like Fastmail, SOGo, Citadel, Zoho, and Kopano (link 1, link 2, link 3, ...).

Allen also fixed a crash when trying to update an item (link).

Carl Schwan fixed three crashes related to fetching passwords from the system keyring found via Sentry (link 1, link 2 and link 3), and another crash when trying to load an account with an unknown authentication type (link).

Akonadi Console

Carl Schwan fixed a crash when editing or deleting a tag (link).

KOrganizer KOrganizer is a calendar and scheduling application

Allen Winter removed the Get Hot New Calendar feature from Korganizer (link). It was only featuring school holidays and football season calendars from the 2006-2008 era.

Allen hid the todo list from the KOrganized sidebar when already using the todo view (link) and added an option to show/hide the week numbers in the date navigator (link).

Kleopatra Certificate manager and cryptography app

Tobias Fella improved the success message when uploading a key (link), added a warning when disabling a certificate (link), and added a plural variant to a UI string when verifying multiple signatures from the same file (link).

Games

Chessament - Chess tournament manager

Manuel Alcaraz started incubating Chessament, a chess tournament manager.

Utilities

Clock Keep time and set alarms

Kai Uwe Broulik put the stopwatch and timer time in the navigation bar when on a different page (link).

Kai also added some explanation about the keyboard shortcuts (link).

Han Young added the ability to change the default timer sound (link).

Kate Advanced text editor

Leo Ruggeri added an "Edit line" entry to the diff widget context menu (link). The action opens the file referenced by the diff at the selected line.

Konsole Use the command line interface

Luca Carlon optimized some code where we did some uncesserary copy (link 1 and link 2).

ISO Image Writer Write an ISO Image to a USB Disk

Philipp Kiemle fixed a word puzzle issue (link).

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.

For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.

Get Involved

The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.

You can help KDE by becoming an active community member and getting involved. 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. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.

You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world.

To get your application mentioned here, please ping us in invent or in Matrix.

Saturday, 24 May 2025

Introduction

I started writing this blog post in March, completely oblivious of Mozilla’s plans of getting rid of Pocket, but with life and work being in the way I never got around to finishing it. Now that we know that Pocket is being shut down on 8 July, I decided to speed things up – and what better day to blog about eReaders than Towel Day!

For a long time already I have been aware of Wallabag – in fact, since it was still called (In the) Poche1. And have used it before, through its wonderful service https://wallabag.it.

But for equally long, I have also used Pocket (which used to be called Read-it-later). I found that some things worked better in Pocket and others in Wallabag. But the thing that ever so slightly tipped the scales in Pocket’s favour several times before for me was that it had a seemless integration with my Kobo2 eInk reader.

I have also been keeping an occasional eye on alternative eReader software for many years, but never took the plunge for different reasons. One of the things that I was waiting to become brave enough to try out was also InkBox / Quill OS for Kobo devices. I was aware of KOReader and Plato, but was always betting a bit more on InkBox as a more “pure” full-blown FOSS OS as something I would eventually switch to.

Of course, I am using the venerable Calibre to manage my eBook collection. Lately instead of a local collection though, I have all my eBooks on my home server3 using the Calibre-Web for the whole family.

OK, with that brief introductory info dump over, here is how my first week (and at this stage, honestly, months) with KOReader + Wallabag went.

Day 1 – Braving up to flash my Kobo

At first, I was a bit scared and did not want to mess with setting up KOReader, as I heard it was very configurable and also I have had … mixed … experience with flashing devices so far.

So I decided this would be a weekend project and planned accordingly.

Long story short, after some searching and reading, I found on MobileRead forums the instructions for One-Click Install Packages for KOReader & Plato, so that is what I went with.

Honestly, it was pretty much as simple as it sounds! And it just installs alongside the official Kobo system too.

If you were even a bit curious, do not wait as long as I have – just go and try it. It really is dead simple!

I decided to use the archive that includes both KOReader and Plato, because I heard the former is very tweakable, but you need to put some effort into making it your own; and the latter has very pleasing defaults, but barely any options.

Day 2 – Install and first glance at KOReader and Plato

Perhaps unsurprisingly, the One-Click Install Packages was stupid-simple to do.

Essentially I ended up with an additional menu in the official Kobo firmware, where I can choose to launch either Plato or KOReader.

I later also had the opportunity to check that updating KOReader works from the device itself and is as simple as selecting “Update” from the main menu.

First, I tried Plato, and while I quite liked its æsthetics, the longer I used it, the more I wanted to tweak a few things here and there. I would say that if Plato does exactly what you want, it is a great option, though. Especially if you have a larger screen.

My very first exposure with KOReader turned out as expected – too many menus, too many options, too much stuff – I felt a bit overwhelmed. But after the inital shock, it took me just a few hours to get a good feel of everything. The KOReader user guide helped a lot here too.

At this point, I was hooked!

The previously overwhelming plethora of settings suddenly became a collection of options that I was looking forward to tame and make my eReader truly sing to my tune. A lot of hacks exist out there for Kobo’s official firmware – and I used a few already –, but what KOReader offered out of the box was on a different level.

What also helps a lot is that you can easily disable plugins and menu entries that you do not use or want.

By the end of the day, I essentially set up my KOReader to be like I wanted it to. Sure, it took some hours, but it was well worth it.

Day 3 – Renewed interest in Wallabag

Both Plato and KOReader include a Wallabag client, so that got rid of one of my main reason to continue using Pocket.

With that out of the way, I went ahead and installed Wallabag on my home server4.

Which, thanks to YunoHost, was, again, just a one-click install :)

The set-up on KOReader was a bit more involved than just entering the username and password, but nothing too taxing.

Once it was set up though, it was about as easy to use as the official Pocket app on the offical Kobo firmware. I was honestly positiely suprised!

The main difference is that KOReader stores Wallabag articles as ePUB in a separate folder and syncs (in both directions) those with the Wallabag server. Treating articles as any other book on the device has some benefits, like annotation support (more on that later) and being able to modify styles etc.

I did try WallabaKo – the hack that puts the Wallabag client into Kobo’s official firmware – before and it works in a similar way. But its method to sync the articles is (undestandably) a bit hacky and not as nice as KOReader’s and the integration is not quite as frictionless. That said, if you do want to simply continue to just use the official Kobo firmware, WallabaKo is a perfectly fine solution. I do recommend you use the NickelMenu launcher to trigger the sync in that case.

Day 4 – Advanced Wallabag use, some automation

Today felt like the right time to poke around my new Wallabag install a bit.

As I used Wallabag before, I was quite comfortable with its basics and decided to read about some more advanced features and try to make things easier for me.

One thing I quickly made use of was to “program” a few rules to automatically tag an article. This makes finding a specific article – especially month after I have added or even read it – easier.

For example5:

  • if « domainName matches "kde.org" OR content matches "KDE" » then tag as « KDE »
  • if « domainName matches "curia.europa.eu" OR content matches "CJEU" OR content matches "Court of Justice of the European Union" » then tag as « sodna praksa, eu »

Occasionally the automatic tags are not perfect. But those can be easily changed already when you add the new article either through the browser plugin or the mobile app. Of course, you can also do it through the main WebApp too.

Then I remembered having seen some RSS support existed. And since there are some feeds that I know I would always read through my eReader anyway, that was an awesome idea! Unfortunately it was not exactly what I remembered …

Wallabag does offer RSS feeds you can subscribe to, but is not what I was looking for.

This feature was requested before, but the core team decided against adding it. It seems that they did add this feature into their SaaS offering though, so that is a bit bitter. If you really want to easily get RSS/Atom feeds directly onto your eReader, you can either have an account on wallabag.it or use KOReader’s News plugin.

Personally, I prefer having all my long articles in Wallabag, so I decided to just continue manually saving them.

Day 5 – Exploration, integration, interconnection

At this point, I had pretty much everything going well and was looking for improving my reading workflows.

Articles

When I find a new article/page online that I want to read later on my eReader there are two options:

  1. It is an article I found through the web browser.
    1. I save it using the browser plugin or the mobile app to Wallabag.
    2. In KOReader I sync with Wallabag and read the article on my eReader
  2. It is an article in a RSS/Atom feed I am already subscribed to through Nextcloud News.
    1. As I typically browse my feeds on my mobile phone, when I scroll through an article in the Nextcloud News mobile app that if find too long to read right now, I share it with the Wallabag mobile app.
    2. In KOReader I sync with Wallabag and read the article on my eReader

eBook libraries and collections

When it comes to eBooks themselves, I have a shared Calibre Web library with my family and can browse that directly from my KOReader.

How does this magic work?

Fairly simple really. On my home server I mount my Calibre folder in Nextcloud as external storage (with appropriate file system permissions) and then in turn use KOReader’s WebDAV plugin to browse directly from my device.

There is also OPDS support but it currently does not work for my server. You can use it to browse public servers perfectly fine though!

Notes and marginalia

Since I started using a Zettelkasten(-like) method of taking notes in MarkDown, I was very happy to see that KOReader can export highlights and notes to MarkDown. Even better! It can push them to Nextcloud Notes, which I use to sync my notes between my phone and laptop anyway!

And this is where the “Wallabag articles are just ePUBs” coolness kicks in – because this means you can also treat highlights and notes the same as in any other eBook, export to Markdown and all.

That made me super happy!

Day 8 – Surprise of the day night

Something I spotted early on, was Night mode.

When I tried it it seemed to just invert the text and background colours to be white on black instead. Which I thought was pretty wasted on an eInk display, since it does not emit light anyway.

But no! It does make sense.

When I was reading late at night, as I usually do, I turned on the front-light and set it to the minimum, just to see a bit better.

And that is when it hit me – if you use Night mode when your front-light is on, you get even less light, because the black ink blocks it. That was such a delight to find out.

Day 9 – MOAR AUTOMATION … or not (yet)

I guess at this point it is safe to say I fully made the switch …

After being completely flabbergasted at the usefulness of Night mode, I noticed you can automate when it should turn on and off! So I did! So many options too!

Then I found and read up on Profiles and immediately my mind went buzzing with ideas:

  • when I close a book, automatically export the notes (and upload them to my Nextcloud Notes)
  • when I open an ePUB from (the) Wallabag (folder), apply the HTML5 CSS style
  • when I open an ePUB that I generated from a webpage that contains legislation, apply certain style tweaks in order to make the structured articles and paragraphs actually palatable to the eyes

Unfortunately, I seem to have gotten ahead of myself.

The first one works, but I could not figure out how to get it to actually trigger automatically on book close. I have that option enabled, but it just does not fire. The trigger actually triggers and the export works in general too. Just the combination does not work. (I will file a bug and link it here when I do.)

As for the other two, it seems KOReader does not allow for style and style tweaks to be set in a Profile yet. (I will file a bug and link it here when I do.)

Next few weeks – end of honeymoon

In the days and weeks after the honeymoon phase I did start noticing some small issues:

  • It is annoying that KOReader(’s Wallabag client’s) highlights and notes and the Wallabag highlights and notes are two completely separate things that have no idea about each other. My current solution is to try and annotatate books and articles only through KOReader, and ignore the fact that Wallabag has this functionality.
  • In Wallabag you cannot search/filter for several tags at the same time (e.g. ”AI” and ”data mining” and ”copyright”). – (I will file a bug and link it here when I do.)
  • In KOReader Wallabag does not parse HTML <abbr> tags. – (I will file a bug and link it here when I do.)
  • Wallabag articles do not show their length in KOReader unless you open them, which is not major, but a bit annoying when you are trying to find something to read suitable to your time available. – (I will file a bug and link it here when I do.)
  • When highlighting sentences in KOReader the end punctuation is not being included consistently. – (I will file a bug and link it here when I do.)
  • Wallabag does not translate footnote anchors into internal anchors (i.e. strip the URL when it is the same as the article’s), so clicking on a footnote tries to load a new page instead of just scrolling down. – (I will file a bug and link it here when I do.)
  • I have not figured out yet how to sync book descriptions and star ratings from KOReader to Calibre-Web (or Wallabag).
  • At some point exporting margialia to Nextcoud Notes started crashing – this is a known bug and should be fixed soon
  • I have suggested some issues and improvements when it comes to the Markdown export of marginalia. There is some pushback, but also some workarounds offered. I need to look into it a bit more.
  • It would be great if Wallabag tags could be used on KOReader too.

But ultimately, if I am completely honest, these are all issues I could only dream of having before I went on this adventure.

I hope they get fixed at some point, as that would make my little old eReader ever so closer to being the wonderful box the Hitchhiker’s Guide to the Galaxy was imagined to be.

But even if not, this switch was well worth it!

Interesting related tidbits

When using a third-party WebDAV client (including your operating system’s built-in client), you should use an application password for login rather than your regular password. In addition improved security, this increases performance significantly. See Nextcloud documentation on Third-party WebDAV clients.

hook out → whelp, now to find a replacement batteries for Kobo Aura and Kobo Aura One


  1. “la poche” being French for “the pocket” 

  2. My first eInk reader was the lovely iRiver Story HD, which I unfortunately cracked the screen of. After that I have been an avid user of Kobo, since they are pretty good, Linux-based devices, that you can side-load books on and are in general quite open to hacks (and are now officially self-repairable too). I still use my Kobo Aura, while others in the family have already Kobo Aura One models. On the other hand recently Kobo seems to have started to use Secure Boot, which could make it much more difficult to run alternative software on them. Definitely things to watch out and see, before buying. 

  3. I “recently” migrated to YunoHost – more on that in a separate blog post. 

  4. I did use https://wallabag.it – the developer’s SaaS offering – before and was quite happy with it, I just wanted to host my own for me and my family. So I turned my previous subscription into a regular donation instead. 

  5. In case you wonder about the « » brackets, the main developer(s) of Wallabag are French, and they use guillemets there. 

As hinted here before, in October this year there will be the first dedicated conference for the Open Transport community, and the Call for Participation for that has just been published.

Open Transport Community Conference 2025 logo

Open Transport Community Conference

In 2024 the Railways and Open Transport track at FOSDEM kick-started Transitous, and it looks like its 2025 edition also got something rolling: A dedicated multi-day conference for the Open Transport community.

Given the interest in that subject at various other events demand for that seems to be high, and following a discussion at FOSDEM an offer for a venue came in a few weeks later.

That sorted the logistical part, leaving us with the task of getting interested people together and come up with content. (And yes, after successfully dodging event organization for many years I misclicked on a meeting invite and am now part of the team organizing this…)

Time and location

The Open Transport Community Conference will happen on October 17th and 18th at ÖBB’s Open Innovation Factory in the middle of Vienna, Austria.

Participation is free, but you have to register.

Who is this for?

We want to create an event that is useful for everyone interested in, contributing to or working on Free Software and Open Data around public transport and shared mobility.

And while I have little doubt that putting people involved with routing engines (MOTIS, OpenTripPlanner, OpenRouteService, etc), applications (GNOME’s Maps and Railways, KDE’s Itinerary and KTrip, Transportr and Öffi, Träwelling, etc) and public transport data and data formats (OSM, MobilityData, transport operators, etc) together in a room for two days will be valuable, a bit more of an agenda probably helps to convince more people of this.

The event will be organized as an Unconference, so somewhere between a conference with pre-planned talks and a Hack Weekend without any pre-defined structure. We felt that the main gap left by very packed events such as FOSDEM is time for people to talk to each other and exchange more in-depth on a subject, so that’s what we are trying to focus on.

We also want to provide a forum for regional Open Transport communities to network and connect. A lot of things are happening locally and somewhat separate from each other, while often facing similar challenges that would benefit from more exchange and collaboration.

Call for Participation

We deviate from a pure Unconference approach a bit by already collecting possible session topics ahead of time. Spontaneous suggestions of course remain possible, but the idea here is to give people a better understanding of what to expect, given we are running this event for the first time.

Possible topics include but are by no means limited to:

  • Schedule data, including data formats, data quality, tooling, QA as well as uses and lobby/outreach work for getting more data published.
  • Shared and on-demand mobility data.
  • Routing for all kinds of modalities, including engines, algorithms and APIs.
  • Accessibility in public transport, including routing profiles, indoor routing, data standards and modeling and elevator status data.
  • Passenger-facing applications around public transport and mobility usecases.
  • Transit data analysis and research supporting passenger-facing usecases.
  • Operations of open source public transport routing services.
  • Digital tickets beyond proprietary platforms.
  • Open source solutions for community-run mobility services.
  • Geocoding.
  • OpenStreetMap (OSM), including tagging schemas, data importing and upstream collaboration.
  • Collaboration between public transport operators/agencies and the Open Transport community.
  • Community work, such as local events/meetups.

See the Call for Participation for more information.

See you in Vienna!

Register for the event, propose session topics, join the event Matrix channel and spread the word!

Welcome to a new issue of “This Week in Plasma”! Every week we cover the highlights of what’s happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.

This week we really ramped up the focus on bug-fixing in preparation for Plasma 6.4’s release in three weeks. But we also managed to squeeze in a huge feature for the next release too: time-of-day wallpapers! Plasma now supports automatically changing compatible wallpapers between their light and dark versions based on the day/night cycle, and also features some visual polish to make the previews of these dynamic wallpapers look better and be more clearly indicated as dynamic. This was done by Vlad Zahorodnii; thanks a lot Vlad!

Wallpaper configuration window showing the option to switch the colors of dynamic wallpapers based on the time of day

As with last week, don’t worry too much about the high-priority bugs list gaining items, as we’re using this to prioritize fixes during the Plasma 6.4 beta period.

Notable UI Improvements

Plasma 6.4.0

Discover no longer includes wallpapers and other add-ons in its search results unless you initiate the search while on the “Add-Ons” page. This should make most search results much more relevant! (Ismael Asensio, link)

Discover showing search results for “sky” that consists of only relevant-looking apps, and not a trillion crappy wallpapers of the night sky

Did a few rounds of visual polish on the Audio Volume widget, which can get quite complicated-looking when multiple audio devices are present. (Christoph Wolk, link 1, link 2, link 3, and link 4)

Audio Volume widget showing four devices with nice spacing, indentation, and margins

Plasma 6.5.0

Made major UI improvements to the Sticky Note widget to support the use case of having it in your panel: now you can resize them to be much smaller; change the background color from the context menu; and when you choose the “Transparent” background color, the colored sticky note background disappears entirely, tightening up the outer margins significantly if you want to save space. (Kai Uwe Broulik, link)

Small Sticky Note widget with tight margins around the text
Context menu for Stocky Note widget showing color options

If you choose a font with the text “Display” in its name as one of your global fonts, System Settings now warns you that this isn’t a good idea, because these fonts are not intended for display on digital screens. (Nate Graham, link)

The first time you launch Emoji Picker (launchable via to the Meta+. keyboard shortcut by default), it now opens to a page showing everything, rather than the “Recent” page which of course would be empty. (Kai Uwe Broulik, link)

In the Networks widget, the “Hotspot” button is now always visible, but disabled when not available, and hovering over it tells you why it can’t be used right now and what you can do to change that. (Nate Graham, link)

Networks widget showing disabled “Hotspot” button and tooltip explaining that it’s disabled because all wireless radios are in use

All the debugging effects on System Settings’ Desktop Effects page have been removed from there and moved to the KWin debug window instead. Not sure how to access it? Search for “kwin debug” in Kickoff or KRunner! (Oliver Beard, link)

Improved accessibility and general keyboard navigation in the Audio Volume widget, Flatpak page in System Settings, and Updates page in Discover. (Christoph Wolk, link 1, link 2, link 3, link 4, and link 5)

Frameworks 6.15

Opening the “Advanced Options” window from the properties dialog for an item on the Plasma desktop no longer freezes Plasma completely until it’s closed. (Akseli Lahtinen, link)

Improved accessibility and keyboard navigation throughout System Settings, particularly around the topics of passing focus between page content and the window’s sidebars and footers. (Christoph Wolk, link)

When navigating Kirigami-based apps and System Settings pages using a screen reader, it will no longer rather pointlessly announce “LAYERED PANE ZERO ITEMS” all the time. (Christoph Wolk, link)

Notable Bug Fixes

Plasma 6.3.6

Fixed a case where KWin could crash when you disconnect multiple KVM-connected screens. (Xaver Hugl, link)

Fixed a bug that could cause per-widget Edit Mode to not exit properly. (Yu Wang, link)

Opening the “Add Action” window from the clipboard configuration dialog no longer freezes Plasma completely until it’s closed. (Nate Graham, link)

Deleting (not trashing) files from Plasma notifications’ context menus now works. (Kai Uwe Broulik, link)

Changing the screen tearing settings now takes effect immediately, rather than requiring a restart. (Xaver Hugl, link)

Fixed a case where junky graphical glitches could briefly be seen on the screen after logging in but before Plasma’s splash screen or desktop loads. (Xaver Hugl, link)

When XWayland-using apps deliberately ask to open on a specific screen, the screen they open on now more reliably matches the one they wanted. (Xaver Hugl and Vlad Zahorodnii, link 1 and link 2)

Plasma 6.4.0

Fixed a rare but severe issue that could allow bypassing the lock screen’s password prompt and unlocking without a password under certain circumstances. (Marco Martin, link)

Fixed a case where System Settings could crash right after you change a screen’s refresh rate. (David Edmundson, link)

Fixed a case where Plasma could crash when dragging cells from LibreOffice onto the desktop. Now it lets you create a media frame or sticky note out of the contents, as intended. (David Edmundson, link)

Fixed a bug that could cause WINE apps with custom window decorations to freeze when de-maximized. (Rémi Bernon, link)

Now the “Remote control requested” dialog will always tell you what is requesting remote control; at the very minimum, it will now give you the technical ID of the thing making the request if it can’t display a pretty name — rather than displaying nothing. (Stephan Seitz, link)

Fixed several cases where using a color picker to pick a screen color could return a very subtly wrong result when using certain combinations of Night Light, ICC profiles, HDR, 10-bit color, or any other features that globally change all colors on the screen. (Xaver Hugl, link)

Fixed a bug where the resize handles of a custom length panel could go off-screen when there was another panel on an adjacent screen edge. (Marco Martin, link)

In the System monitor app aid widgets, sorting by network speed no longer incorrectly puts processes with no network activity first, and now the “read/write” speeds are correctly displayed once more (Arjen Hiemstra, link 1, link 2)

Using the “Process Table” visualization for blank System Monitor sensor widgets no longer incorrectly makes them think they’re in need of configuration the next time you restart Plasma or the system. (Christoph Wolk, link)

Fixed a bug that caused the colors of the “Horizontal Bars” graph type in System Monitor Widgets to not be set properly the first time you added a widget using it to a panel or desktop. (Christoph Wolk, link)

Fixed a regression that caused the list of file types in a dialog on System Settings’ Default Applications page to overflow when it’s really really really long. (Nate Graham, link)

Row heights in System Monitor table views are once again perfectly identical, after a Qt issue caused this to stop being the case. (David Redondo, link)

When clicking the “Global Theme” Button on System Settings’ Quick Settings page, after it takes you to the Global Themes page as you asked, it also expands the sidebar to show all the child pages, just as if you had navigated there manually. (Marco Martin, link)

Previews in the wallpaper grid view now adjust their aspect ratio in real time if the screen’s own aspect ratio changes — for example due to a change in rotation or resolution. (Vlad Zahorodnii, link)

Frameworks 6.15

Fixed a regression in the new Kirigami icon shader code that caused app-provided system tray icons to sometimes look visually squished. (Vlad Zahorodnii, link)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.3.6

Adaptive Sync is now disabled by default for new installations (not existing ones), because it exposes too many bugs in graphics drivers to offer a good enough experience for everyone. (Xaver Hugl, link)

Plasma 6.4.0

Made the clipboard popup window you can access using Meta+V faster to appear. (Fushan Wen, link)

Choosing a screen resolution that wasn’t one of the display’s native resolutions no longer incurs a steep performance penalty. (Xaver Hugl, link)

Plasma 6.5.0

Massively improved scrolling performance in Plasma’s wallpaper grid views. (Vlad Zahorodnii, link)

Qt 6.9.2

Implemented delegate recycling for Qt grid views, which offers the potential for improved performance in grid views throughout Plasma and QtQuick-based KDE apps. (Vlad Zahorodnii, link)

How You Can Help

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.

You can help KDE by becoming an active community member and getting involved somehow. 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:

You can also help us by making a donation! Any monetary contribution — however small — will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.

To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.