Stretching your Qt UI to devices powered by microcontrollers (MCU) is now even easier! The Qt Quick Ultralite Converter of the Qt AI Assistant translates a QML to Ultralite-compliant code. It brings core Qt graphical features to resource-constrained embedded systems, streamlining application development and deployment.
Akademy 2026 will be a special edition, marking the 30th anniversary of KDE! This milestone event will take place in Graz, Austria.
This birthday edition of Akademy will continue to bring together contributors, users, partners, and friends of KDE to reflect on three decades of collaboration, innovation, community growth, and commitment to Free Software. Just like previous years, Akademy 2026 will be a hybrid event, offering both on-site and online participation.
We will be announcing the exact dates soon. Until then, follow us on Mastodon and Lemmy for the latest Akademy updates!
About Graz
Graz is the second-largest city in Austria and the capital of the federal state of Styria. Known for its well-preserved old town, which is a UNESCO World Heritage Site, Graz offers a blend of historic charm and modern vibrancy. The city is home to numerous cultural attractions, including the iconic Schlossberg with its clock tower, the Kunsthaus Graz, and the Murinsel, a unique architectural feature on the River Mur. Graz is also renowned for its educational institutions, particularly the University of Graz and the Graz University of Technology, making it a hub for innovation and research. The city's lively atmosphere, beautiful parks, and rich culinary scene make it an ideal destination for both leisure and professional visits.
About Akademy
For most of the year, KDE, one of the largest free and open software communities in the world, works online communicating over email, instant messaging, video-conferencing, forums and mailing lists. Akademy provides all KDE contributors with the opportunity to meet in person to foster social bonds, work on concrete technology issues, discuss new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work, bringing those plans to reality. The KDE community also welcomes companies building on KDE technology to Akademy, as well as those who are looking for opportunities.
Aurorae is a decoration engine that allows you easily using third party decoration themes from KDE Store.
Aurorae decoration themes at KDE Store (although there are some decoration themes that don’t use Aurorae, e.g. Klassy, but a good chunk of themes found in the Plasma 6 Window Decorations category still use it)
It’s been around for quite a while and it has a plenty long history. However, in the recent years, it has been somewhat neglected. The UI trends changed, e.g. rounded corners are all the rage now, but there has been no changes in Aurorae to allow theme creators to follow those trends more easily. There are also performance issues. In comparison to the default Breeze decoration theme, it performs quite poorly, unfortunately.
What is Aurorae anyway?
In Plasma, we have a C++ library that’s used to implement window decorations called KDecoration. Both Breeze and Aurorae use KDecoration, but the main difference between the two is that the former directly implements a window decoration that follows Breeze style, while the latter is just a very themeable window decoration.
Aurorae supports both QML and SVG themes. With a QML theme, you need to write some QML code to define how the window decoration should look and behave. With an SVG theme, you need to provide a bunch of SVG files that specify how the window frame and various buttons look. Under the hood, SVG themes are effectively built as QML themes.
QML is pretty cool because with a few lines of code, you can get something that works and looks very decent. But for our usecase, it’s also a heavy tool, and due to the way how QtQuick works, it’s very challenging to have proper fractional scaling support. To be fair, normal applications that use QtQuick are mostly fine, it’s just that we have a pretty unique usecase where we need full control where every individual pixel gets painted.
Aurorae V2
Recently, I started a rewrite of Aurorae with a few goals in mind. The first goal is to improve performance so KWin doesn’t struggle when you resize a window (just to be clear, no, this doesn’t mean that there are performance issues in QtQuick. The way QML decorations are rendered is inefficient. We render a QtQuick scene in an offscreen texture, then download its contents, and then upload its contents in another texture. These roundtrips kill performance, and they are necessary because of KDecoration API constraints). The second goal is to open up the road for fractional scaling support improvements, like fixing misaligned window border edges or gaps between the decoration and the window contents. The third goal is to prepare the foundation for future improvements and to provide more tools so artists can create themes that reflect “modern” stylistic tendencies.
In this rewrite, raw KDecoration and KSvg APIs are used. This makes aurorae decorations quite lightweight and it significantly improves performance. Some fractional scaling issues have already been fixed, while others still need more work. Window decorations are rendered on the CPU side. While, yes, it will be nice to have everything done on the GPU side, doing things on the CPU side is also not that of a big bottleneck right now. In the future, we may follow up on doing more things on the GPU, but for now, it is not high priority.
The main focus has been on improving performance issues and preserving compatibility with the previous implementation of SVG decoration themes so decorations look more or less the same way. There may be some (unintentional) differences, but they should be very minimal.
What about QML decoration themes then? The main idea behind them is brilliant, but after so many years, there are not that many window decoration themes that use QML. In either case, the original (V1) and rewritten (V2) aurorae engines live side-by-side, but the future of V1 is unclear. QML and SVG decoration themes will use V1 and V2, respectively.
Future plans
At the moment, the goal is to continue polishing and optimizing V2. There are certain limits how far we can push things due to the theme format. Some parts of the theme force us to do some things, which ideally we shouldn’t do.
It’s highly likely (not saying this for sure though!) that there will be a V3, which is going to address some theme limitations and add support for new features, for example rounding bottom window corners or outlines.
If you’re a decoration theme creator and would like to see some particular feature in Aurorae, feel free to reach out to me (@zzag) on Matrix (e.g. in #kwin) or file a feature request at https://bugs.kde.org (product: kwin; component: aurorae).
with seven weeks to go until an exciting year 2025 will have passed, we are pleased to open the nomination period for the Qt Champion 2025 award! See this Wiki page for more information about the award and its nomination process: https://wiki.qt.io/Qt_Champions_2025 We're looking very much forward to reading about your favorite candidates!
This is the forth article of the series describing the open source value flow model. We'll focus on the value types: Reputation and Influence. We'll cover how to measure and report on them.
Welcome to the October 2025 development and community update.
Development Report
Text Rework Progress
The Text Tool's Tool Options have been overhauled. There's now a button to access the Text Properties docker, along with an option to create new texts with current properties or with a style preset. Options to switch between using visual or logical cursor direction for bidirectional text, and pasting rich or plain text have also been added. (Change)
The other addition is Type Setting Mode, which shows transform handles for the font size and baseline-shift. With preformatted or pre-positioned text, character transforms are also possible. Holding Shift shows different baselines to switch to. (Change)
In the area of file formats, basic support has been added for PSD text layers, vector masks, vector strokes, vector parametric shapes, and guides. (Change)
Carsten has continued to fix issues with touch input in the Stable branch.
Long-press handled has been further improved. Long-pressing a slider-spinbox no longer shows text selection handles when not in text edit mode. The long-press distance is now calculated correctly, so a slight movement won't cancel it. The kinetic scrolling timeout no longer adds onto the long-press timeout. (Change)
Kinetic scrolling by left-click has been disabled on the animation timeline to not interfere with dragging frames and other operations. (CCbug report) (Change)
Popup-at-cursor widgets such as the Selection Action Menu now appear at the touch location instead of cursor location. (Change)
The Edit Shapes Tool now works properly with touch, instead of only making selections. (bug report) (Change)
Wayland Support
Basic HDR support for the canvas on Wayland has been implemented by Dmitry. Testing instructions and discussion of issues can be found in the forum thread. (Change)
Plans for 5.3.0's Upcoming Release
Krita 5.3.0 is scheduled to enter feature freeze on November 21st. This means no new features will be accepted for the next version, and developer focus will shift to finishing features already in progress and fixing bugs.
After a bugfixing period of a few months, the first beta testing release is currently planned for February.
This month's Best of Krita-Artists Nominations thread received 21 nominations of forum members' artwork. When the poll closed, these five wonderful works made their way onto the Krita-Artists featured artwork banner:
Take a look at the nominations for next month, and suggest your favorite latest artworks to be featured. Don't forget to vote when the poll opens on November 11th!
Ways to Help Krita
Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. That means anyone can help make Krita better!
Support Krita financially by making a one-time or monthly monetary donation. Or donate your time and Get Involved with testing, development, translation, documentation, and more. Last but not least, you can spread the word! Share your Krita artworks, resources, and tips with others, and show the world what Krita can do.
Other Notable Changes
Other notable changes in Krita's development builds from October 20, 2025 - November 11, 2025.
Stable branch (5.2.14-prealpha):
Android: Make app fullscreen by default. (Change, by Carsten Hartenfels)
Canvas Input Shortcuts: Add Toggle Eraser Preset to canvas input shortcuts. (Change, by Carsten Hartenfels)
Unstable branch (5.3.0-prealpha):
Blending Modes: Add Marker blending mode. When used on a brush in Build up painting mode, it increases the layer's opacity only when the stroke's opacity is greater while mixing the colors. It's similar to Alpha Darken, but adheres to alpha lock/inherit alpha and interpolates between colors cleanly. (Change, by Carsten Hartenfels)
Shortcuts/Toolbars: Add actions for each Transform Tool mode. (Change, by Stuffins)
Toolbars: Toolbar actions' icons can now be custom-picked in Configure Toolbars, useful for actions that do not have icons by default. (Change, by Pavel shlop)
macOS: Sign and notarize nightly builds, allowing them to be run without workarounds. (Change, by Ivan Yossi)
Nightly Builds
Pre-release versions of Krita are built every day for testing new changes.
Plasma's first-run experience (FRE) / out-of-box experience (OOBE) has seen significant
improvements in security recently.
Although first off I think I maybe hadn't mentioned yet how the project was renamed.
Previously known as "KDE Initial System Setup" (KISS), the project has been rebranded to
"Plasma Setup" and now sits nicely alongside other system projects like "Plasma Desktop",
"Plasma Mobile", "Plasma Keyboard", etc.
We received a notice of potential security issues from the folks at openSUSE,
which have now been addressed.
This sort of thing is a great example of why it can be so difficult to provide
ETAs and timelines for software development: unexpected issues often arise that
need to be addressed before other planned work can proceed, and these issues can take
time to investigate and fix properly; in this case, the security issues required
careful review and testing to ensure that they were resolved without introducing new problems,
and delayed our initial release by weeks.
I had very little experience with this sort of security-minded defensive programming
before this, so it was a great learning experience for me personally as well. It required
a whole lot of reading and research to understand the best practices and principles involved,
and I definitely have a better feeling for how to think about defensive programming in the future.
It amazes me the kinds of things people will try to do to break software, and many of them
(like path traversal attacks) are things I would never have thought of on my own!
I'd like to thank the openSUSE security team for responsibly disclosing these issues,
and for their patience while we worked through them. Their help has made Plasma Setup
more secure for all users, and I appreciate their dedication to improving the security
of open source software.
A massive thank you specifically to Matthias Gerstner for the multiple rounds of detailed
and thoughtful reviews and suggestions on the MR to address these issues. Your help was invaluable,
and it was a pleasure working with you! 🙇♀️ 💙 🦎
Plasma Setup is nearly ready for initial testing and adoption. There are a couple more items
to wrap up, but (barring further unforeseen delays!) we are very close to being able to release
it for early adopters to try out! 🎉
Calamares is a Linux system installer. During installation,
it asks the user where they are on the globe, in order
to set the timezone correctly on the installed system.
Calamares displays the nearest timezone after you click on a map.
I would like to leverage that a little for social good (or at least
a tiny bit of awareness).
The last time I wrote about the Calamares timezone selector, I also
said it is terrible.
One thing I do like about the timezone selector is that it
supports translating the name of a timezone. That way, even though
the string in the timezone database is Europe/Kiev – a relic
of the time-period that the timezone database was conceived –
it displays the correct Europe/Kyiv. That’s when you run
Calamares in English, anyway.
I added timezone translations to Calamares because a friend asked for
it, and then did a couple of Dutch translations.
That is because Dutch has exonyms (names
in Dutch for other places) and calls Berlin, Berlijn and Paris, Parijs.
There is a timezone Europa/Berlijn.
The official Dutch name – last I checked – of Kyiv is Kiev, though.
The current translations addresses only a tiny fraction of the timezones, most of
them ones that I have personally paid attention to, and I’d like to change that.
So here is the social project: I want, for every timezone-location
(in FreeBSD, those are listed in /usr/share/zoneinfo/zone.tab)
a local name. Please send them to me by email or as a change request
in Calamares on Codeberg,
the relevant file is tz_local.ts.
I imagine a lot of the ones in Europe will be unchanged,
although I feel like Europe/Chisinau is missing accents,
Europe/Athens should be Αθήνα. Those are relevant, but I’m more interested in
imported names. The exonyms (what others call a place, like “Berlijn”)
could be endonyms (what is the local name, like “Berlin”).
For everywhere where the name of the timezone was imported,
I want to know what it would be locally, written locally.
From Africa/Harare (this one might already be accurate,
but for comparison purposes, pretend it was Africa/Salisbury, like in an atlas from 1922)
to Australia/Broken_Hill to America/Edmonton
(which could plausibly be ᐊᒥᐢᑿᒌᐚᐢᑲᐦᐃᑲᐣ if we pick
the Cree name for the area)
to America/Santiago to Asia/Dubai (دِبَيّ in Emirati Arabic)
they all deserve a local name and I’d like to make that possible in Calamares.
Some time back I posted a bran muffin recipe.
That recipe uses eggs, and I received
a comment by email, perhaps from Gregor S.
They pointed out some things about the egg-milk-industrial complex
and how I should avoid using eggs.
That annoyed me a little, although it was written respectfully and
factually. Anyway, I’ve given it some thought and experimentation,
and here’s a vegan recipe for mnietballs (vaguely Dutch for “not meatballs”).
I wrote a mnietballs recipe in 2023,
which uses eggs as well – so that recipe is ovo-lacto-vegetarian, while
this one is vegan. Vegan, but now the soy-industrial complex is involved.
1 tea cup (I have a specific glass one in mind, probably 220ml) of dried soy chunks. Soak them in 1 cup of warm water for 10 minutes, then squeeze out all the water.
1 tablespoon of chia seeds and 1 tablespoon of whole linseed, with 2 tablespoons of water. Let stand for 10 minutes until it all gloms together.
1 tea cup of rolled oats.
whole wheat flour as needed.
2 tablespoons of ketjap manis.
spices to suit (I like the tandoori masala I get at Toko Weuro).
optional, finely chopped onion.
optional, dried chopped parsley.
Mix it all together and knead it to a lumpy paste. Add wheat flour until it is fairly stiff and you can
shape it into balls about 3cm in diameter. Let stand for a while for it to glom
together better. Optionally roll each ball in some breadcrumbs. Fry in plenty of oil.
Quality of live improvements in Kate, basic HDR support in Krita on Wayland and touch improvements in Photos
Welcome to a new issue of "This Week in KDE Apps"! Every week (or so), we cover as much as possible of what's happening in the world of KDE apps.
As part of our yearly fundraiser, you can adopt one of KDE's apps and we can share with the whole world how awesome you are and how much you're doing to support us.
Getting back to all that's new in the KDE app scene, let's dig in!
Anders Lund added support for navigating between images when zoomed in using a touchscreen or stylus in Photos (25.12.0 - link). He also made the viewer auto-zoom when releasing a pinch when appropriate (e.g., the image is now smaller than the view) (25.12.0 - link).
Anders also enabled the slideshow feature on mobile (25.12.0 - link).
Jonah Brüchert implemented auto-resolving from railway station names to coordinates based on Nominatim (the geocoding engine powering OSM) (25.12.0 - link).
Volker Krause added support to the extractor for citycity.se, Comboios de Portugal, and Wiener Linien barcodes, and improved a bunch of existing extractors (25.12.0 - link 1, link 2, ...).
Waqar Ahmed improved Git support in Kate. The list of branches now shows the latest activity (25.12.0 - link).
Additionally, he improved the Quick Open dialog, and it is now possible to jump to a specific line and column by entering something like 10:5 (25.12.0 - link).
Dennis Lübke added a plugin to transparently edit encrypted text files with GPG in Kate (25.12.0 - link).
Joshua Goins added an informational Keyboard Shortcuts settings page to NeoChat (25.12.0 - link).
Joshua also improved the design of the room notification settings and made it more consistent in terms of wording with the context menu used to configure notifications (25.12.0 - link).
Among a multitude of other small fixes, he improved the user experience related to the basic Jitsi meeting button to show whether a meeting is in progress, and to only enable it when the user has permission to start a meeting (25.12.0 - link).
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.