This is work landed by Tobias, with Max, Kenneth, Jason and Gleb doing a lot
of heavy lifting in this update. I sat on the sidelines, but I’m here to
congratulate the active part of the KDE FreeBSD team with an update
long foreseen, long foretold, and long desired.
A new Craft cache has just been published. The update is already available for KDE's CD, CI (Windows/Android) will follow in the next days.
Please note that this only applies to the Qt6 cache. The Qt5 cache is in LTS mode since April 2024 and does not recieve major updates anymore. We highly recommend to port your Qt5 app packaged by Craft to Qt6 as soon as possible!
Changes (highlights)
General
We added CI for flake8, isort and black with the help of tox (which makes it easy to run them locally too) to all Craft repositories. To be able to do so we did a lot of best pratice cleanup beforehand like eg. removing star imports.
Craft Core
Drop support for MSVC 2017
Introduced a CraftBool helper. This allows handy things like self.subinfo.options.dynamic.withMyLib.asOnOff instead of 'ON' if self.subinfo.options.dynamic.withMyLib else 'OFF'
Fix: let the Meson build system respect the buildStatic option
Handle --enable-static --enable-shared in AutoToolsPackageBase instead of in every single blueprint
Python packages (Linux and Windows MSVC; macOS is work in progress):
Build them ourself instead of using the pre-build binaries from pypi.org
Use proper staging
Allow to deploy/package them
Properly set Craft env when branch is switched (eg. with Craft Master in CI)
Blueprints
libjpeg-turbo 3.0.3
Multiple fixes for build of shared vs. static libs
libvpx 1.15.0
Add minGW 14.2 (not the default yet!)
7z 24.09
KShimgen 0.6.1
linuxdeploy-plugin-qt 2.0.0-alpha-1-20250119
qtkeychain 0.15.0
About KDE Craft
KDE Craft is an open source meta-build system and package manager. It manages dependencies and builds libraries and applications from source on Windows, macOS, Linux, FreeBSD and Android.
The Linux App Summit is a project we KDE created, together with GNOME and some other parties. We wanted a physical space where to discuss our platform to different stakeholders.
We have seen lots of progress since 2019. From a KDE perspective, we see our flatpaks and snaps. This adoption brings all sorts of users to our software that otherwise wouldn’t have been able to.
From the other side of the equation, linux distros have been evolving like ever. We have seen a myriad of distributions using technologies that we would have never dreamed of. And we can find them both on consumer and development devices. Even KDE Linux and GNOME OS are looking into tightening the other end of that software distribution loop.
Now, it’s time to take things even further.
This year we will have LAS 2025 in Tirana. Consider participating in LAS 2025! How you ask?
Join us! It’s free to attend and, dare I say, we are lovely people.
Send a talk! You can come and talk us about how you are helping linux apps be a reality or what kind of problems you found with your app and how you solved them. Here you can find some more ideas.
Sponsor! Does your organisation take part in the linux ecosystem? Take part in it!
Welcome to a new issue of "This Week in Plasma"! Every week we cover as much as possible of what's happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.
This week we continued to polish up Plasma 6.3 in preparation for its final release in a week and a half, and I gotta say, it's looking pretty good! Most of the bug reports we've gotten from people running the beta have been minor and quickly fixed, which I'm choosing to interpret to mean that it's a good release. :)
In addition, we landed a bunch more Plasma 6.4 UI improvements! Check it all out:
Notable UI Improvements
Plasma 6.3.0
Task Manager previews now only show one copy of the playback controls for grouped apps where only a single window is playing media, and they also try to match the controls to the window where the media is playing. This matching isn't 100% perfect due to a lack of necessary data from browsers, so we'll be working to refine it over time. (Christoph Wolk, link)
App screenshots in Discover are no longer blurry when the app's metadata includes a thumbnail that's smaller than the size it will be displayed at; instead, Discover now displays the full-size version as the thumbnail. (Aleix Pol Gonzalez, link)
Fixed the mnemonics and buddy relationships for several complex UI elements on the Wallpaper page in System Settings and the desktop config window. (Kai Uwe Broulik, link 1, link 2, and link 3)
On System Settings' Users page, when you use the file picker to choose an avatar image from a file on disk, the file picker now remembers the location for next time too. (Nate Graham, link)
On System Settings' Display & Monitor page, the option to use a display's built-in color profile is now disabled when it would have no practical effect. (Xaver Hugl, link 1, link 2, link 3, and link 4)
Plasma 6.4.0
Made the contents of the context menus for the desktop trash (if you have one there) and its contents more contextually-relevant. (Nate Graham, link)
All of those confusing and/or nonfunctional chord keyboard shortcuts throughout Plasma have been removed or replaced with standard-style shortcuts. (Nate Graham, link)
On System Settings' Region & Language page, the language chooser sheet now has a search field and responds appropriately to keyboard interactions. (Nate Graham, link)
The screen action chooser OSD you can open with Meta+P will now cycle through its options if you continue to hold down Meta and press P. (Sergey Katunin, link)
On Info Center's Energy page, the graph is now displayed better when information isn't available. (Ismael Asensio, link)
Task Manager tooltips from right-screen-edge panels now shift their close buttons over to the left side, to make them harder to click by accident like with left and bottom panels. People using top panels are expected to be so elite that this isn't a problem for them 😎 (Christoph Wolk, link)
The categories displayed in Discover's sidebar have been synced with the ones shown in Kickoff/Kicker/etc. (Ujjwal Shekhawat, link)
Frameworks 6.11
The Kirigami.LinkButton UI element has been given an appropriate color change when pressed, which will be visible in many apps making use of it, including quite a few Plasma apps like Discover and Welcome Center. (Nate Graham, link)
Notable Bug Fixes
Plasma 6.3.0
KWin no longer crashes when the system has been configured to use an ICC profile that's then later moved, renamed, deleted, or otherwise made unavailable at the place KWin expects to find it. Instead, it simply doesn't apply the profile. (Xaver Hugl, link)
Fixed two KWin crashes that could be caused by the kernel or graphics drivers providing unexpected data, and a third one caused by a bug in idleness detection. (Vlad Zahorodnii, link 1, link 2, and link 3)
Fixed a case where Plasma could crash on X11 when accessed over VNC without certain XRandr extensions present. (Fushan Wen, link)
Fixed a case where the app chooser dialog could sometimes crash when you tell it to always use the chosen app to open files of that type. (David Redondo, link)
Fixed a case where the ksystemstats daemon (that provides, well, system stats) could crash after you'd finished customizing a widget or the app to remove a sensor. (Arjen Hiemstra, link)
Sticky Note widgets on the desktop no longer block the Ctrl+V shortcut from working to paste files onto the desktop, even when the note widget isn't focused. (Marco Martin, link)
Fixed the spinboxes on System Settings' Accessibility page, which would become semi-broken when you typed numbers into them rather than interacting with them using the arrow buttons or up/down arrow keys. They were ironically not very accessible! But no longer. (David Edmundson, link)
Fixed two Plasma 6 regressions in the Kicker application menu: one that required two presses of the backspace key to delete characters entered into the search field; and another that made it impossible to navigate between groups of the multi-column search view. (Marco Martin, link 1 and link 2)
Fixed a bug in the System Monitor app and widgets that caused the number of CPUs to be mis-counted on some systems. (Arjen Hiemstra, link)
Filtering text on Info Center's Firmware Security page now works properly, displaying matches on separate lines as expected. (Harald Sitter and Nate Graham, link)
Discover is now more reliable at showing themed app icons on certain distros. (Harald Sitter, link)
Fixed the screen color display for games that use the scRGB color space in HDR mode. (Xaver Hugl, link)
Fixed the colors of the Night Light preview when using a dark color scheme, and when adjusting the color temperature while Night Light is currently active. (Thomas Moerschell, link 1 and link 2)
Discover now shows something more sensible when launched with no internet access. (Aleix Pol Gonzalez, link)
Fixed a Task Manager bug that caused tooltips to inappropriately re-appear while their task's context menu was open and you hovered over the task again. (Nate Graham, link)
Plasma 6.4.0
On System Settings' Window Switchers page, the apps in the preview visualization are now always the same ones, and no longer sometimes display thumbnails that don't match the text and icon. (Nate Graham, link)
Entering text in the Overview screen's search field now works. (David Edmundson, link)
93 KDE bugs of all kinds fixed over the past week. Full list of bugs
Notable in Performance & Technical
Plasma 6.3.0
Improved the accuracy of CPU usage measurements in the System Monitor app and widgets by filtering out iowait, which is not really real CPU usage. (Arjen Hiemstra, link)
For people who had enabled the "Disable touchpad while mouse is plugged in" setting on X11 in the past, that preference is now migrated to the new feature (which works on both X11 and Wayland) so you don't need to manually re-enable it, and the remain orphaned backend code for the old feature has been deleted. (Jakob Petsovits, link)
System Settings' Audio page now does a more thorough job of identifying audio devices that should be marked as inactive. (Harald Sitter, link)
Plasma's KRDP remote desktop server now only runs in Plasma itself, and won't start up accidentally in other environments you might also have running on the same system, where it might interfere with or block that environment's own RDP solution. (David Edmundson, link)
Plasma 6.4.0
KRDP now supports FreeRDP version 3. (Jack Xu, link)
Deleting a Sticky Note widget also deletes the data file where its text was stored, plugging a data leak and preventing the ~/.local/share/plasma_notes/ folder from filling the system up with orphaned data taking up space. (Marco Martin, 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.
I guess this was just a matter of time, the obsession of “just make it bigger” was making most player myopic. Now this obviously collides with geopolitics since this time it’s about a Chinese company being ahead.
Looks like the monopolists are vexed and are looking for arguments to discredit the competition… of all the arguments, this one is likely the most ridiculous seeing their own behavior.
Tags: tech, ai, machine-learning, neural-networks, gpt, science, energy
I mostly agree with this piece. There’s lots of room for optimization still so we might see a temporary drop in the energy consumption of those systems. That said, longer term energy consumption is indeed the main leverage to improve performance of those systems. It can only get us so far, so new techniques will be needed. Hence why my position is that we’ll come back to symbolic approaches at some point, there’s a clear challenge at interfacing both worlds.
Why Trees Without Branches Grow Faster: The Case for Reducing Branches in Code
Tags: tech, cpu, performance, programming
Nice primer on the impact of too many branches in your code on the CPU. This is sometimes a good way to boost performance when you’re mindful about that.
Of course I agree with this piece. You need enough culture in your field to know about a breadth of topics. It will definitely help pick up the next one you don’t know about yet or help you build parallels for the tougher problems you encounter.
This is a worthy questioning… We try to reuse, but maybe we do it too much? For sure some ecosystems quickly lead to hundreds of dependencies even for small features.
Since the last update two month
ago KDE Itinerary got UI redesigns in a few areas and a number of important improvements
for accessing public transport information.
New Features
New timeline layout
The most visible change this time is the redesign of the timeline and public transport search result views done by Carl.
This improves having all relevant information available in the limited screen space. And it looks a lot better too.
Itinerary's new timeline look for train tickets.
The compact horizontal bar display for getting a quick overview over public transport search results
was also updated to match the same style and now features bar sizes proportional to travel time (as
long as there’s enough screen space for that).
Itinerary's new journey search result view.
My Data page
Another very visible change is the new “My Data” page that replaces the old “Passes & Programs” page
on the prominent third bottom bar tab.
The My Data page gives you quick access to several of the “secondary” functionalities in Itinerary:
Program memberships
Reservation-independent tickets
Favorite locations
Health certificates
Statistics
Itinerary's new My Data page.
Events
There’s a number of upcoming conferences featuring Itinerary-adjacent talks and
the opportunity to meet people working on Itinerary, Transitous and other related topics:
Transitous has completed the migration to MOTIS v2
and along with it to new hardware. Besides better performance and higher quality first/last mile routing
this also allows us to benefit from all the improvements and newly added features in MOTIS again,
which in the past couple of months had only gone into the new version.
Besides increasing the data coverage there’s also a lot of effort going into improving the data
quality. Where that’s not possible at the source additional processing steps or safeguards are added.
Examples include:
Using a “de-incrementing” proxy on the DELFI GTFS-RT feed to avoid the “memory loss” caused by frequent restarts/crashes
of the service producing that feed, resulting in increased realtime data coverage in Germany.
Sanity checks against “time travel”, ie. erroneous negative travel times in realtime feeds. The router will happily make
use of those otherwise and loop you through those connections to get you to your destination earlier.
Improved selection of line names, matching closer what is expected and/or used in public communication usually.
Replacement for DB’s Hafas
Deutsche Bahn’s Hafas API has been shut down earlier this year. That has been the backbone
for many FOSS public transport tools due to its very wide coverage in Europe, Itinerary and
KTrip also heavily relied on it.
As there had been rumors of this happening in December already it didn’t hit us entirely
unprepared fortunately, and within less than 48h we had updated APKs in KDE’s F-Droid repositories
that use DB’s new custom replacement API instead.
The new API doesn’t have all the details we used to get previously and our client code
is still brand new and not benefiting from many other operators using the same API, so
some disruptions caused by this are still to be expected.
Once more this shows why Transitous is so important, we don’t want to be dependent on semi-official
proprietary APIs that can disappear at any time without notice.
KPublicTransport trip query support
KPublicTransport so far provided three basic operations: Searching for locations,
querying arrivals or departures at a given stop and querying connections between two locations.
We now added a fourth one, querying trips. That is, one specific run of a vehicle along a route/line.
Besides generally showing more information this has one main use-case in Itinerary, efficiently querying
delays for booked trains/busses. That is currently done with a mix of routing (full level of detail, but
very expensive) and departure/arrival queries at the start/destination (cheap, but only gives us information
about delays at that one location). Trip queries combine the best of both approaches, giving us the full
level of detail while avoiding expensive routing.
Native support for trip queries currently exist in the MOTIS, OpenTripPlanner,
Hafas and Deutsche Bahn backends, for all other backends trip queries are transparently emulated using routing.
Fixes & Improvements
Travel document extractor
Added or improved travel document extractors for American Airlines, Bilkom, booking.com, Brightline, Coloseum Tickets, Deutsche Bahn, Dimedis Fairmate, Droplabs, European Sleeper, Eurostar, Flixbus, goout, Koleo, Leo Express, Lufthansa, PKP, Polregio, SBB, SlovakLines, SNCF, Southwest, Trenitalia and Universe.
New generic extractors for ERA SSB v3 GRT and FCB v3 ticket barcodes.
All of this has been made possible thanks to your travel document donations!
Public transport data
Fixed access to public transport APIs of Digitransit (Finnland), Entur (Norway), Rolph (Germany), VRS (Germany) and ZVV (Switzerland).
Improve realtime arrival/departure time parsing for intermediate stops for EFA-based backends.
Improve merging of vehicle features with conditional/limited availability.
Indoor maps
The indoor map renderer got a few new features for use in MapCSS styles:
Support for (directional) textured line fills.
Limiting label visibility to a bounding polygon.
Better differentiation between closed lines and areas (which is syntactically ambiguous in the OSM data model and needs considering tagging semantics).
The work on textured lines also uncovered a bug in the OSM raw data tile server
where cliff lines where erroneously treated as closed lines.
Textured line rendering used to indicate cliffs.
Itinerary app
The new per-trip timeline view introduced with 24.12 received a number of improvements:
Add weather forecasts from start of day to end of day of the trip.
Ignore canceled elements when determining weather forecast length.
Fix adding daylight saving time change information.
Improve detection of timezone transitions based on location changes.
Initially position the trip groups list so that the current or next trip is in view.
Ignore changes to trip groups not currently displayed. This fixes random elements from adjacent trips
that received an update sometimes appearing in the timeline of another trip.
That’s not all though:
Fixed importing passes or other things without an attached trip group.
Fixed deleting generic Apple Wallet passes.
Optimized editor loading performance.
Fixed notifications on Android 15.
Fixed displaying of positive timezone change offsets.
Reload settings when importing a backup containing changed settings.
Set a default file name for backup files.
How you can help
Feedback and travel document samples are very much welcome, as are all other forms of contributions.
Feel free to join us in the KDE Itinerary Matrix channel.
As you can see, we are now basing the major version number on the release year. This makes sense as we are doing one major version per year. It is also a good occasion to do it now to celebrate the 25 years of GCompris.
This version adds translation for one more language: Sanskrit.
This new version contains 195 activities, including 5 new ones:
"Sketch" is an activity for drawing freely with multiple tools to let children explore their creativity.
"Calculate with ten's complement" is the continuation of the existing ten's complement activities. This one helps the children to swap the numbers to easily compute a sum.
"Vertical addition" is an activity to write an addition and solve it.
"Vertical subtraction", is similar to the addition activity but for subtraction with the borrowing by regrouping method.
"Vertical subtraction (compensation)", is similar to the subtraction one with the borrowing by compensation method.
It contains bug fixes and graphics improvements on multiple activities.
With the help of teachers, we rewrote a big part of the activities description to be clearer.
When we switch language in the menu, the new language is now applied directly, without having to restart GCompris.
On the technical side, it is also the first release using Qt6.
We have also set the graphical renderer to direct3d11 by default on Windows.
It is fully translated in the following languages:
Arabic
Bulgarian
Breton
Catalan
Catalan (Valencian)
Greek
Spanish
Basque
French
Galician
Croatian
Hungarian
Italian
Latvian
Malayalam
Dutch
Polish
Brazilian Portuguese
Romanian
Sanskrit
Slovenian
Swedish
Turkish
Ukrainian
It is also partially translated in the following languages:
Azerbaijani (90%)
Belarusian (86%)
Czech (98%)
German (88%)
UK English (99%)
Esperanto (99%)
Estonian (88%)
Finnish (91%)
Hebrew (96%)
Indonesian (93%)
Georgian (85%)
Lithuanian (92%)
Macedonian (83%)
Norwegian Nynorsk (94%)
Portuguese (89%)
Russian (92%)
Slovak (82%)
Albanian (98%)
Swahili (92%)
Chinese Traditional (88%)
You can find packages of this new version for GNU/Linux, Windows, Android and Raspberry Pi on the download page. This update will also be available soon in the Android Play store, the F-Droid repository and the Windows store.
Today we're releasing Krita 5.2.9! This is a bug fix release, containing all bugfixes of our bug hunt efforts back in November. Major bug-fixes include fixes to clone-layers, fixes to opacity handling, in particular for file formats like Exr, a number of crash fixes and much more!
Special thanks to Doreene Kang, Ralek Kolemios, Pedro Reis, Guillaume Marrec, Aqaao, Grum999, Maciej Jesionowski, Freya Lupen, Dov Grobgeld, Rasyuqa A. H.
Add shortcuts to bezier curve and freehand path
Fix original offsets not being accounted for when copying from another document (Bug 490998)
Fix updates when copy-pasting multiple nodes into a new document
Fix python Py_SetPath() deprecation by always using qputenv()
JPEG XL export: Fix unable to set EPF value to -1 (encoder chooses)
G'Mic has been updated to 3.5.0 stable.
Download
Windows
If you're using the portable zip files, 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.
Note: We are no longer making 32-bit Windows builds.
We consider Krita on ChromeOS as ready for production. Krita on Android is still beta. Krita is not available for Android phones, only for tablets, because the user interface requires a large screen.
The Linux AppImage and the source .tar.gz and .tar.xz tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).
Qrca WiFi mode, Trust and Safety in Tokodon, and more
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.
Due to FOSDEM happening next weekend, there won't be any "This Week in KDE Apps" post next week. If you are in Brussels during the event, the KDE team will be in building AW, next to our friends from GNOME. Come say hi, we will have some stickers and demo devices!
General Changes
The About page used in many Kirigami apps now uses a new FormLinkDelegate for entries that will open a link. (Carl Schwan, Kirigami Addons 1.8.0. Link)
Loading IMAP tags was optimized. (Carl Schwan, 24.12.2. Link)
Some SQL queries were fixed so that they don't exceed the limits imposed by the SQL engines (e.g. when reindexing a big email folders). (David Faure, 24.12.2. Link)
Qrca gained a mode to only scan for Wifi QR-codes. Currently this can be triggered with the --wifi flag, but in the future this will be triggered directly from Plasma Network Management to scan for Wifi codes. Additionally when scaning the QR-code for an existing connection, instead of creating a new connection, Qrca will update the credentials of the existing connection. (Kai Uwe Broulik. Link)
We removed the option to share a QR-code and replace it with a button to copy the QR-code. (Jonah Brüchert. Link)
We added a menu item under the "Filters" timeline action to configure filters. (Joshua Goins, 25.04.0. Link)
We improved the look of filtered posts significantly. (Joshua Goins, 25.04.0. Link 1)
Tags and polls are hidden when the post has a content notice. (Joshua Goins, 25.04.0. Link 1 and link 2)
As part of more trust and safety improvements, we added a button to mute a conversation, so that you don't get any notifications for conversations you are not interested too. (Joshua Goins, 25.04.0. Link)
We fixed voting in polls that was not working reliably. (Joshua Goins, 25.04.0. Link) and improved Tokodon when using a screen reader. (Joshua Goins, 25.04.0. Link)
Third Party Apps
BlueJay
Evan Maddock released the 1.0.0 and 1.0.1 of BlueJay. BlueJay is a Bluetooth manager written in Qt with Kirigami.
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.
I have an Android phone. The phone is 5 years old, functions perfectly for me, and is now E-Waste.
I can tell by the pictures on the phone that I bought it just after conf.kde.in in 2020 because it’s full of pictures of my visit to Colombia (where I met Maui Toolkit developer Camilo). It’s a Motorola G7 Power. It came with Android 9. It was updated to Android 10. It’s been a fine phone for 5 years, the battery life is still measured in days, it makes calls and does Matrix and Mastodon and whatnot. I personally have no reason to replace it at all.
I do have a banking app on it, which is now telling me that I need Android 11 to keep using the banking app.
I presume the bank has a good reason for requiring the newer version. There’s no question of “just don’t use the app” since, well, Dutch banks are nearly inaccessible except via their phone app.
Motorola has a lousy record of providing Android updates for its phones, if I recall, and so
the phone is now E-Waste.
Exactly the same thing happened with my mom’s phone. Slightly newer, no updates, E-Waste. The only upside I can think of here is that postmarketOS has two more devices for testing available (there are instructions for the G7 Power which are just as inscrutible as how-to-configure-XOrg instructions used to be in the ’90s. Assuming
non-zero energy and some pent-up annoyance in the future, I can improve on that situation.