08 Mar 2026

feedPlanet KDE | English

This Week in KDE Apps

New Glaxnimate release, source mode in Marknote and S3 support in Dolphin

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.

Office Applications

Marknote Write down your thoughts

It's been a busy week in Marknote again. Valentyn Bondarenko extensively reworked tables to fix rendering issues (office/marknote MR #143 and office/marknote MR #169).

Valentyn Bondarenko also added a new dialog to add note links more easily (office/marknote MR #161) and added subtle animations to various parts of the UI (office/marknote MR #162 and office/marknote MR #168).

Shubham Shinde extended the search function of Marknote to also be able to replace text (office/marknote MR #154).

Siddharth Chopra added a source mode to Marknote, for people who prefer to edit Markdown using a plain text editor (office/marknote MR #118).

Carl Schwan improved the context menu, making it appear directly underneath the button and fixing some accessibility issues (office/marknote MR #166).

Finally, there was quite a bit of polish and refactoring done by the whole team in preparation for the release planned next week.

KMyMoney Personal finance manager based on double-entry bookkeeping

Ralf Habacker added a way to list all your unsaved reports and to delete multiple reports at the same time (office/kmymoney MR #322).

PIM Applications

Merkuro Calendar Manage your tasks and events with speed and ease

Yuki Joou redesigned the schedule view to be less crowded and more concise (pim/merkuro MR #573).

Yuki made it possible to set a start date also for tasks and not only for events (pim/merkuro MR #611). She also fixed the sort button state in the todo view (pim/merkuro MR #612), among other various small issues (pim/merkuro MR #579, pim/merkuro MR #609, pim/merkuro MR #610).

Zhora Zmeikin fixed a crash when editing or creating a new event (pim/merkuro MR #608).

Merkuro Mail Read and write emails

Yuki Joou also worked on Merkuro Mail and fixed various issues when sending emails (pim/merkuro MR #615).

Merkuro Contact Manage your contacts with speed and ease

Finally, Yuki added a way to copy phone numbers from a contact book entry easily (pim/merkuro MR #614).

KMail A feature-rich email application

Albert Astals Cid refactored how temporary files are stored so they are no longer stored in /tmp. This mostly helps in case multiple users use the same machine (pim/messagelib MR #334).

Kleopatra Certificate manager and cryptography app

Thomas Friedrichsmeier changed the font used by plain text email signatures in the Kleopatra and GpgOL.js email viewers to be monospaced, as many signatures depend on that (pim/mimetreeparser MR #91).

Creative Applications

Glaxnimate Vector Animation Editor

This week we celebrated the first release of Glaxnimate as part of KDE. Welcome to the family! The big highlights of this release are better integration with KDE in terms of theming, improvements in the animation timeline, and better SVG export and import. Read more in the full announcement.

In the development branch, Mattia Basaglia continued to improve Glaxnimate. This includes a brand new rendering engine based on ThorVG (graphics/glaxnimate MR #84). This means the rendering is now hardware accelerated, which is faster than the old QPainter-based renderer. Additionally, Mattia improved the backend (graphics/glaxnimate MR #86) and built an experimental WASM renderer based on it for the web (graphics/glaxnimate MR #87).

Multimedia Applications

KPhotoAlbum KDE image management software

Randall Rude updated the documentation (graphis/kphotoalbum MR #73).

Developers Applications

Kate Advanced text editor

Leia uwu fixed Kate so that when renaming a file, any open tabs with this file will also be updated accordingly (utilities/kate MR #2043).

KDevelop Featureful, plugin-extensible IDE for C/C++ and other programming languages

Martin Bednar added support for noexcept in the autocompletion model of KDevelop (kdevelop/kdevelop MR #858).

Network Applications

NeoChat Chat on Matrix

James Graham continued working this week on improving and polishing the new rich text editor in NeoChat (network/neochat MR #2730, network/neochat MR #2729, network/neochat MR #2722, ...)

Joshua Goins disabled the search feature in encrypted rooms as the server is not able to search in them (network/neochat MR #2724).

Kaidan Modern chat app for every device

Melvin Keskin improved the usability of the emoji picker and mentioning participants in a group chat (network/kaidan MR #1522).

System Applications

Dolphin Manage your files

Albert Mkhitaryan added keyboard shortcut support for service menu actions (system/dolphin MR #1167). So now you can assign a shortcut to the context menu actions provided by other applications or user scripts. See doc

Nicolai Sehrt added an option for forcing all tabs in Dolphin to have the same width (system/dolphin MR #1154). Méven Car also updated Dolphin so that, by default, tab widths are automatically determined by their title length (system/dolphin MR #1170).

Méven Car also centered most settings pages to be a bit more consistent with System Settings (system/dolphin MR #1192).

Nekto Oleg improved support for the S3 protocol in KIO-enabled applications like Dolphin. While S3 is commonly associated with Amazon Web Services (AWS), the implementation now also supports custom endpoints and is no longer limited to AWS-compatible services (network/kio-s3 MR #7, network/kio-s3 MR #8 and network/kio-s3 MR #9). Additionally, a new System Settings page makes it possible to configure multiple S3 providers at the same time (network/kio-s3 MR #9 and network/kio-s3 MR #10).

…And Everything Else

This blog only covers the tip of the iceberg! If you're hungry for more, check out This Week in Plasma, which covers all the work being put into KDE's Plasma desktop environment every Saturday.

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, keep KDE continue bringing Free Software to the world.

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

08 Mar 2026 7:20am GMT

digiKam 9.0.0 is released

digiKam 9.0.0 Running Under Linux

Dear digiKam fans and users,

After months of intensive development, bug triage, and feature integration, the digiKam team is thrilled to announce the stable release of digiKam 9.0.0. This major version introduces groundbreaking improvements in performance, usability, and workflow efficiency, with a strong focus on modernizing the user interface, enhancing metadata management, and expanding support for new camera models and file formats.


New Features and Major Changes

General Updates and Porting

digiKam 9.0.0 marks a significant milestone with the core code now fully ported to Qt 6.10.1 for the AppImage and macOS bundles, ensuring improved performance, security, and compatibility with modern operating systems. The Windows Qt6 bundle also benefits from the latest Qt 6.9.1 and KDE Frameworks 6.20.0.

08 Mar 2026 12:00am GMT

07 Mar 2026

feedPlanet KDE | English

FOSDEM 2026

FOSDEM 2026

This year I had the chance to attend my first ever FOSDEM. My main objective there was the GCompris workshop in FOSDEM Junior track. It was an experimental one with the initiative from the organizer since it was only the third year that this track existed.

The workshop had way more adult attendees interested in GCompris for their children than children themselves. So, naturally, it turned more into a dev room than a workshop.

Me, together with the organizers came to a conclusion that GCompris isn't fit for the FOSDEM Junior, at least not in the form of: short presentation -> hands free experience.

Image from the workshop

The FOSDEM, for me, was very overwhelming. The amount of people in one place as well as having to choose from many different topics, navigating an unfamiliar city had me drained by the end of the first day. Mostly because of that, on the second day I had my workshop and attended only one talk.

Despite that, it was awesome to meet the people of KDE, experience solo travelling for the first time and get to know the core of open source.

07 Mar 2026 12:00pm GMT

06 Mar 2026

feedPlanet GNOME

Andy Wingo: free trade and the left, ter: mises and my apostasy

Good evening. Let's talk about free trade!

Last time, we discussed Marc-William Palen's Pax Economica, which looks at how the cause of free trade was taken up by a motley crew of anti-imperialists, internationalists, pacifists, marxists, and classical liberals in the nineteenth century. Protectionism was the prerogative of empire-only available to those with a navy-and it so it makes sense that idealists might support "peace through trade". So how did free trade go from a cause of the "another world is possible" crowd to the halls of the WTO? Did we leftists catch a case of buyer's remorse, or did the goods delivered simply not correspond to the order?

To make an attempt at an answer, we need more history. From the acknowledgements of Quinn Slobodian's Globalists:

This book is a long-simmering product of the Seattle protests against the World Trade Organization in 1999. I was part of a generation that came of age after the Cold War's end. We became adolescents in the midst of talk of globalization and the End of History. In the more hyperactive versions of this talk, we were made to think that nations were over and the one indisputable bond uniting humanity was the global economy. Seattle was a moment when we started to make collective sense of what was going on and take back the story line. I did not make the trip north from Portland but many of my friends and acquaintances did, painting giant papier-mâché fists red to strap to backpacks and coming back with takes of zip ties and pepper spray, nights in jail, and encounters with police-tales they spun into war stories and theses. This book is an apology for not being there and an attempt to rediscover in words what the concept was that they went there to fight.

Slobodian's approach is to pull on the thread that centers around the WTO itself. He ends up identifying what he calls the "Geneva School" of neoliberalism: from Mise's circle in Vienna, to the International Chamber of Commerce in Paris, to the Hayek-inspired Mont Pèlerin Society, to Petersmann of the WTO precursor GATT organization, Röpke of the Geneva Graduate Institute of International Studies, and their lesser successors of the 1970s and 1980s.

The thesis that Slobodian ends up drawing is that neoliberalism is not actually a laissez-faire fundamentalism, but rather an ideology that placed the value of free-flowing commerce above everything else: above democracy, above sovereignty, above peace, and that as such it actually requires active instutional design to protect commerce from the dangers of, say, hard-won gains by working people in one country (Austria, 1927), expropriation of foreign-owned plantations in favor of landless peasants (Guatemala, 1952), internal redistribution within countries transitioning out of minority rule (South Africa, 1996), decolonization (1945-1975 or so), or just the election of a moderate socialist at the ballot box (Chile, 1971).

Now, dear reader, I admit to the conceit that if you are reading this, probably you are a leftist also, and if not, at least you are interested in understanding how it is that we think, with what baubles do we populate our mental attics, that sort of thing. Well, friend, you know that by the time we get to Chile and Allende we are stomping and clapping our hands and shouting in an extasy of indignant sectarian righteousness. And that therefore should we invoke the spectre of neoliberalism, it is with the deepest of disgust and disdain: this project and all it stands for is against me and mine. I hate it like I hated Henry Kissinger, which is to say, a lot, viscerally, it hurts now to think of it, rest in piss you bastard.

two theologies

And yet, I'm still left wondering what became of the odd alliance of Marx with Manchester liberalism. Palen's Pax Economica continues to sketch a thin line through the twentieth century, focusing on showing the continued presence of commercial-peace exponents despite it not turning out to be our century. But the rightward turn of the main contingent of free-trade supporters is not explained. I have an idea about how it is that this happened; it is anything but scholarly, but here we go.

Let us take out our coarsest brush to paint a crude story: the 19th century begins in the wake of the American and French revolutions, making the third estate and the bourgeoisie together the revolutionary actors of history. It was a time in which "we" could imagine organizing society in different ways, the age of the utopian imaginary, but overlaid with the structures of the old, old money, old land ownership, revanchist monarchs, old power, old empire. In this context, Cobden's Anti-Corn Law League was insurgent, heterodox, asking for a specific political change with the goal of making life on earth better for the masses. Free trade was a means to an end. Not all Cobdenites had the same ends, but Marx and Manchester both did have ends, and they happened to coincide in the means.

Come the close of the Great War in 1918, times have changed. The bourgeoisie have replaced the nobility as the incumbent power, and those erstwhile bourgeois campaigners now have to choose between idealism and their own interest. But how to choose?

Some bourgeois campaigners will choose a kind of humanist notion of progress; this is the thread traced by Palen, through the Carnegie Endowment for International Peace, the Young Women's Christian Association, the Haslemere Group, and others.

Some actors are not part of the hegemonic bourgeoisie at all, and so have other interests. The newly independent nations after decolonization have more motive to upend the system than to preserve it; their approach to free trade has both tactical and ideological components. Tactical, in the sense that they wanted access to first-world markets, but also sometimes some protections for their own industries; ideological, in the sense that they often acted in solidarity with other new nations against the dominant powers. In addition to the new nations, the Soviet bloc had its own semi-imperial project, and its own specific set of external threats; we cannot blame them for being tactical either.

And then you have Ludwig von Mises. Slobodian hints at Mises' youth in the Austro-Hungarian empire, a vast domain of many languages and peoples but united by trade and the order imposed by monarchy. After the war and the breakup of the empire, I can only imagine-and here I am imagining, this is not a well-evidenced conclusion-I imagine he felt a sense of loss. In the inter-war, he holds court as the doyen of the Vienna Chamber of Commerce, trying to put the puzzle pieces back together, to reconstruct the total integration of imperial commerce, but from within Red Vienna. When in 1927, a court decision acquitted a fascist milicia that fired into a crowd, killing a worker and a child, the city went on general strike, and workers burned down the ministry of justice. Police responded violently, killing 89 people and injuring over 1000. Mises was delighted: order was restored.

And now, a parenthesis. I grew up Catholic, in a ordinary kind of way. Then in my early teens, I concluded that if faith meant anything, it has to burn with a kind of fervor; I became an evangelical Catholic, if such is a thing. There were special camps you could go to with intense emotional experiences and people singing together and all of that is God, did you know? Did you know? The feelings attenuated over time but I am a finisher, and so I got confirmed towards the end of high school. I went off to university for physics and stuff and eventually, painfully, agonizingly concluded there was no space for God in the equations.

Losing God was incredibly traumatic for me. Not that I missed, like, the idea of some guy, but as someone who wants things to make sense, to have meaning, to be based on something, anything at all: losing a core value or morality invalidated so many ideas I had about the world and about myself. What is the good life, a life well led? What is true and right in a way that is not contingent on history? I am embarrassed to say that for a while I took the UN declaration of human rights to be axiomatic.

When I think about Mise's reaction to the 1927 general strike in Vienna, I think about how I scrambled to find something, anything, to replace my faith in God. As the space for God shrank with every advance in science, some chose to identify God with his works, and then to progressively ascribe divine qualities to those works: perhaps commerce is axiomatically Good, and yet ineffable, in the sense that it is Good on its own, and that no mortal act can improve upon it. How else can we interpret Hayek's relationship with the market except as awe in the presence of the divine?

This is how I have come to understand the neoliberal value system: a monotheism with mammon as godhead. There may be different schools within it, but all of the faithful worship the same when they have to choose between, say, commerce and democracy, commerce and worker's rights, commerce and environmental regulation, commerce and taxation, commerce and opposition to apartheid. It's a weird choice of deity. Now that God is dead, one could have chosen anything to take His place, and these guys chose the "global economy". I would pity them if I still had a proper Christian heart.

means without end

I think that neoliberals made a miscalculation when they concluded that the peace of doux commerce is not predicated on justice. Sure, in the short run, you can do business with Pinochet's Chile, privatize the national mining companies, and cut unemployment benefits, but not without incurring moral damage; people will see through it, in time, as they did in Seattle in 1999. Slobodian refers to the ratification of the WTO as a Pyrrhic victory; in their triumph, neoliberals painted a target on their backs.

Where does this leave us now? And what about Mercosur? I'm starting to feel the shape of an answer, but I'm not there yet. I think we'll cover the gap between Seattle and the present day in a future dispatch. Until then, let's take care of one other; as spoke the prophet Pratchett, there's no justice, just us.

06 Mar 2026 9:05pm GMT

Allan Day: GNOME Foundation Update, 2026-03-06

This post is the latest in my series of GNOME Foundation updates. I'm writing these in my capacity as Foundation President, where I'm busy managing a lot of what's happening at the organisation at the moment. Each of these posts is a report on what happened over a particular period, and this post covers the current week as well as the previous one (23rd February to 6th March).

Audit time

I've mentioned the GNOME Foundation's audit on numerous occassions previously. This is being conducted as a matter of routine, but it is our first full formal audit, so we have been learning a lot about what's involved.

This week has been the audit fieldwork itself, which has been quite intense and a lot of work for everyone involved. The audit team consists of 5 people, most of whom are accountants of different grades. Our own finance team has been meeting with them three times a day since Tuesday, answering questions, doing walkthroughs of our systems, and providing additional documents as requested.

A big part of the audit is cross-referencing and checking documentation, and we have been busy responding to requests for information throughout the week. On last count, we have provided 140 documents to the auditors this week alone, on 20 different themes, including statements, receipts, contracts, invoices, sponsorship agreements, finance reports, and so on.

We're expecting the draft audit report in about three weeks. Initial signs are good!

GUADEC 2026

Planning activity for GUADEC 2026 has continued over the past two weeks. That includes organising catering, audio visual facilities, a photographer, and sponsorship work.

Registration for the event is now open. The Call for Papers is also open and will close on 13 March - just one week away! If you would like to present this year, please submit an abstract!

If you would like travel sponsorship for GUADEC, there are two deadlines to submit a request: 15th March (for those who need to book travel early, such as if they need a visa) and 24th May (for those with less time pressure).

LAS 2026

This year's Linux App Summit is happening in Berlin, on the 16th and 17th May, and is shaping up to be a great event. As usual we are co-organizing the event with KDE, and the call for proposals has just opened. If you'd like to present, you have until 23rd March to submit a paper.

The Travel Committee will be accepting travel applications for LAS attendees this year, so if you'd like to attend and need travel assistance, please submit a request no later than 13th April.

Infrastructure

On the infrastracture side, GNOME's single sign on service has been integrated with blogs.gnome.org, which is great for security, as well as meaning that you won't need to remember an extra password for our WordPress instance. Many thanks to miniOrange for providing us with support for their OAuth plugin for WordPress, which has allowed this to happen!

That's it for my update this week. In addition to the highlights that I've mentioned, there are quite a number of other activities happening at the Foundation right now, particularly around new programs, some of which we're not quite ready to talk about, but hope to provide updates on soon.

06 Mar 2026 6:38pm GMT

This Week in GNOME: #239 Accessibility Contributions

Update on what happened across the GNOME project in the week from February 27 to March 06.

GNOME Core Apps and Libraries

Calendar

A simple calendar application.

Hari Rana | TheEvilSkeleton (any/all) 🇮🇳 🏳️‍⚧️ reports

Everyone, rejoice 🙌

Georges livestreamed himself reviewing and merging accessibility contributions in GNOME Calendar again, specifically the entirety of merge request !564, which introduces keyboard-navigable month cells. As a result, as of GNOME 50, GNOME Calendar's month view will be fully navigable with a keyboard for the first time in its history!

Here's a quick explanation of how to navigate:

  • When tabbing between events, focus moves chronologically. This means that focus continues to move down until there are no event widgets overlaying the current cell. Then, focus moves to the topmost event widget in the next cell or row. Tabbing backwards with Shift+Tab moves in the opposite direction.
  • On the last event widget, pressing Tab moves the focus to the adjacent month cell. Conversely, pressing Ctrl+Tab on any event widget has the same effect.
  • Pressing an activation button (such as Enter or Space) displays the popover for creating an event. Additionally, pressing and holding the Shift key while pressing the arrow keys selects every cell between the start and end positions until the Shift key is released, which displays the popover with the selected range.

The only high-level goal that needs work now is conveying these information with assistive technologies properly.

Both merge requests !564 and !598 took us almost an entire year to explore various approaches and finally settle on the best one for our use case. Everything was done voluntarily, relying solely on support from donors and those who share these posts, without any financial backing from other entities. In contrast, most, if not all, calendar apps backed by trillion-dollar companies still don't offer proper keyboard navigation across their views. In many cases, they haven't even reached feature parity. If it is not too much trouble, please consider funding my accessibility work on GNOME. Thank you! ♥️

GTK

Cross-platform widget toolkit for creating graphical user interfaces.

Emmanuele Bassi reports

GTK 4.22.0 is now available for application developers! Lots of changes happened in this development cycle:

  • a new SVG-based format for symbolic icons, including state-based animations
  • GtkSvg, a paintable that renders (animated) SVG efficiently
  • GtkAccessibleHypertext, an interface for accessible object containing links
  • GTK now relies on the settings portal, under Wayland
  • improved language filtering in the font selection dialog
  • a new reduced motion setting, complete with media query, for controlling the amount and type of animations in widgets
  • GskRenderReplay, a new API for replaying render nodes
  • the backdrop-filter CSS property is now supported
  • GtkPopoverBin is a new widget that you can use to show a popover menu on a widget

GTK 4.22 is going to be available in the GNOME 50 run time.

Python Bindings (PyGObject)

Python language bindings for GNOME platform libraries.

Arjan reports

PyGObject 3.56.0 has just been released. Major features include: better integration with GObject's lifecycle (do_constructed, do_dispose), a simpler way to deal with Python wrapper objects, and cleanup of legacy code.

A write-up of the most important changes can be found at https://pygobject.gnome.org/news/pygobject-3-56.html.

This is a stable release, so you can find it on PyPI, as well as the GNOME download server.

Third Party Projects

Ronnie Nissan announces

This week I released concessio v0.3.0 adding support for umask conversions. This was a requested feature. I also added umask explanition to the help dialog. Hope you will like it.

You can get Concessio from Flathub

Ans Ibrahim says

Memento, the movie tracking app, got updates this week with version 1.1.0 and 1.1.1:

  • IMDb rating support in movie details and refresh flow
  • Localization improvements, including French translations
  • UI and navigation polish, plus layout fixes

Also highlighting the original 1.0.0 features:

  • Watchlist management with search, sorting, and pagination
  • Play history tracking with date, place, and optional comments
  • Movie details with cast/crew and external links
  • Dashboard and top-people insights

Marcel Tiede announces

There is a new community project Maui.Gtk that integrates GTK via the GirCore C# bindings as a linux backend for Microsoft's MAUI.

Rat Cornu says

ratic is a new music player in construction, built with gtk-rs and relm4. The first version was released this week, with:

  • Support of most music files
  • Sort and group by album, artist, full-text searching
  • Dynamic blurred background with light/dark modes
  • A music queue with several play modes
  • Support of MPRIS controls
  • Internationalization support using weblate (currently only english and french) It still misses a lot of features, but it will continue to grow in the following weeks, so do not hesitate to test it, open an issue or even come talk with us in the matrix room!

Ronnie Nissan announces

Just today I published Embellish v0.7.0. This version adds support for custom fonts.

  • Add a custom font using a url pointing to a zip or tar.xz file
  • Export all the custom fonts
  • Import custom fonts either from a file or by copy pasting them in the import dialog
  • The import dialog using GtkSourceView to color highlight the json data

Tip: you can add any font, not just NerdFonts making Embellish a really useful tool in my biased opinion.

You can get Embellish from Flathub

Parabolic

Download web video and audio.

Nick reports

Parabolic V2026.3.0-beta1 is here!

This release contains many new features, fixes and a new macOS build of the GNOME app! We are asking all users to help test this release and the new macOS build, if possible (as I personally do not own a Mac so I rely on users in the community to work with me in testing). Thank you for any help in advanced! 😃

Here's the full changelog:

  • Added macOS app for the GNOME version of Parabolic
  • Added Windows portable version of Parabolic
  • Added the ability to specify a preferred frame rate for video downloads in the Parabolic's settings
  • Added the ability to automatically translate embedded metadata and chapters to the app's language on supported sites. This can be turned off in Converter settings
  • Added the ability to update deno from within the app
  • Added thumbnail image preview to add download dialog and downloads view
  • Added failed filter to downloads view
  • Improved selection of playlist video formats when resolutions are specified
  • Improved selection of playlist audio formats on Windows when bitrates are specified
  • Improved cropping of audio thumbnails
  • Improved handling of long file names, they will now be truncated if too long
  • Removed unsupported cookie browsers on Windows. Manual txt files should be used instead
  • Updated yt-dlp

That's all for this week!

See you next week, and be sure to stop by #thisweek:gnome.org with updates on your own projects!

06 Mar 2026 12:00am GMT

21 Feb 2026

feedplanet.freedesktop.org

Simon Ser: Status update, February 2026

Hi all!

Lars has contributed an implementation independent test suite for the scfg configuration file format. This is quite nice for implementors, they get a base test suite for free. I've added support for it for libscfg, the C implementation.

I've spent some time working on the go-proxyproto library. While adding support for PP2_SUBTYPE_SSL_CLIENT_CERT (a PROXY protocol addition to carry the TLS client certificate I've introduced last month), I've fixed large PROXY protocol headers being rejected (TLS certificates can be a few kilobytes), I've fixed some issues in the test suite, and I've improved the HTTP/2 helper. I've merged support for PP2_SUBTYPE_SSL_CLIENT_CERT in tlstunnel, soju and kimchi.

Speaking about soju, delthas and taiite have finished up soju.im/client-cert, a new IRC extension to manage TLS client certificates. Clients can register, unregister, and list TLS client certificates which can be used for authentication for the logged in user. We aim to stop storing plaintext passwords, instead generating a fresh TLS certificate when logging in for the first time and storing its key. Nobody has started working on a Goguma patch yet, but that would be nice!

Goguma now has a brand new shiny website! Many thanks to Jean THOMAS for building it from the ground up. delthas has added a /invite command, I've added support for removing reactions (via the new unreact message tag), and I've experimented with a Web build of the app (just for fun, with WebSockets connections instead of TCP).

kanshi v1.9 has been released. This new version is the first to leverage vali for Varlink support. The new ...output directive can match any number of outputs, a the new mode preferred output directive can be used to select the mode marked as preferred by the kernel.

I've resumed work on oembed-proxy, a small server which generates oEmbed previews for arbitrary URLs. It's quite simple: send an HTTP request with a URL, it replies with a JSON payload with metadata such as page title, image size, and so on. I plan to use it for IRC clients, to show link previews without leaking the client's IP address and to make them work on Web clients. I've added support for Open Graph, the most widely used scheme to attach structured data to Web pages. I ended up linking with ffmpeg because I figured I would need to eventually generate thumbnails for images and videos. I played a bit with CGo to integrate Go's streaming io.Reader with ffmpeg's C API. I had to jump through a few hoops, but it works!

Hiroaki Yamamoto has contributed wlroots support for ext-workspace-v1, and Félix Poisot has upgraded color-management-v1 to minor version 2. Félix also uncovered some holes in our explicit synchronization implementation - we're in the process of fixing these up now. I've started the wlroots release candidate cycle, and I just published RC3 today.

I've spent quite some time improving go-kdfs, a Go library for the Khronos Data Format Specification. KDFS defines a standard file format to describe how pixels are laid out in memory and how their contents should be interpreted. I've added a bunch of new pixel formats, JSON output for the CLI, unit tests against dfdutils, and a lot of other smaller improvements. I've written a wlroots patch to remove a bunch of manually written pixel format tables an replace them with auto-generated tables from go-kdfs. I've also added sample position to pixfmtdb, a Web frontend for go-kdfs (see for instance the Y samples on the DRM_FORMAT_NV12 page). Next up, I'd like to add missing features to the kdfs compat command so that wlroots can get rid of all of its tables (better endianness support, and flags to specify/strip some information such as the alpha channel, color primaries or transfer function).

I'm quite happy with all of the good stuff we've managed to get over the fence this month! See you in March!

21 Feb 2026 10:00pm GMT

20 Feb 2026

feedplanet.freedesktop.org

Christian Gmeiner: GLES3 on etnaviv: Fixing the Hard Parts

This is the start of a series about getting OpenGL ES 3.0 conformance on Vivante GC7000 hardware using the open-source etnaviv driver in Mesa. Thanks to Igalia for giving me the opportunity to spend some time on these topics.

Where We Are

etnaviv has supported GLES2 on Vivante GPUs for a long time. GLES3 support has been progressing steadily, but the remaining dEQP failures are the stubborn ones - the cases where the hardware doesn't quite do what the spec says, and the driver has to get creative.

20 Feb 2026 12:00am GMT

13 Feb 2026

feedplanet.freedesktop.org

Dave Airlie (blogspot): drm subsystem AI patch review

This topic came up at kernel maintainers summit and some other groups have been playing around with it, particularly the BPF folks, and Chris Mason's work on kernel review prompts[1] for regressions. Red Hat have asked engineers to investigate some workflow enhancements with AI tooling, so I decided to let the vibecoding off the leash.

My main goal:

- Provide AI led patch review for drm patches

- Don't pollute the mailing list with them at least initially.

This led me to wanting to use lei/b4 tools, and public-inbox. If I could push the patches with message-ids and the review reply to a public-inbox I could just publish that and point people at it, and they could consume it using lei into their favorite mbox or browse it on the web.

I got claude to run with this idea, and it produced a project [2] that I've been refining for a couple of days.

I started with trying to use Chris' prompts, but screwed that up a bit due to sandboxing, but then I started iterating on using them and diverged.

The prompts are very directed at regression testing and single patch review, the patches get applied one-by-one to the tree, and the top patch gets the exhaustive regression testing. I realised I probably can't afford this, but it's also not exactly what I want.

I wanted a review of the overall series, but also a deeper per-patch review. I didn't really want to have to apply them to a tree, as drm patches are often difficult to figure out the base tree for them. I did want to give claude access to a drm-next tree so it could try apply patches, and if it worked it might increase the review, but if not it would fallback to just using the tree as a reference.

Some holes claude fell into, claude when run in batch mode has limits on turns it can take (opening patch files and opening kernel files for reference etc), giving it a large context can sometimes not leave it enough space to finish reviews on large patch series. It tried to inline patches into the prompt before I pointed out that would be bad, it tried to use the review instructions and open a lot of drm files, which ran out of turns. In the end I asked it to summarise the review prompts with some drm specific bits, and produce a working prompt. I'm sure there is plenty of tuning left to do with it.

Anyways I'm having my local claude run the poll loop every so often and processing new patches from the list. The results end up in the public-inbox[3], thanks to Benjamin Tissoires for setting up the git to public-inbox webhook.

I'd like for patch submitters to use this for some initial feedback, but it's also something that you should feel free to ignore, but I think if we find regressions in the reviews and they've been ignored, then I'll started suggesting it stronger. I don't expect reviewers to review it unless they want to. It was also suggested that perhaps I could fold in review replies as they happen into another review, and this might have some value, but I haven't written it yet. If on the initial review of a patch there is replies it will parse them, but won't do it later.

[1] https://github.com/masoncl/review-prompts

[2] https://gitlab.freedesktop.org/airlied/patch-reviewer

[3] https://lore.gitlab.freedesktop.org/drm-ai-reviews/

13 Feb 2026 6:56am GMT