We will be reinstalling the virthost that runs download-ib01, torrent.fedoraproject.org and fedorapeople.org. During the outage these sites will be down.
/rss20.xml">
We will be reinstalling the virthost that runs download-ib01, torrent.fedoraproject.org and fedorapeople.org. During the outage these sites will be down.
I am a big proponent of the “don’t make rules you can’t (or won’t) enforce” maxim. The careful reader will notice that the word “automatically” does not appear anywhere in that advice. Automated policy enforcement is good. It reduces maintainer burden, gives the community a consistent experience, and…you know…makes sure the project’s policies are enforced.
Sometimes automated policy enforcement is easy. There are plenty of tools out there to require a certain degree of password length/complexity, ensure commits have a DCO signoff, and so on. Sometimes the technical implementation is harder. That doesn’t mean the policy can’t go forward.
The Fedora Engineering Steering Committee just decided to require two-factor authentication for members of the provenpackager group (people who have essentially project-wide privileges for package maintenance). In the discussion about whether to adopt such a policy, folks pointed out a few legitimate concerns. The account system can’t require two-factor authentication for only a specific group. Some entry points to the packaging systems are accessible with an SSH key, which limits the protection of a two-factor authentication policy.
These are both good arguments. The counter argument is that such a policy improves the security of the project, even when unevenly followed. Manual audits can check for ongoing compliance.
In general, you can rely on good-faith actors to follow policies that are:
If all of those are true, and you have some way to manually check compliance, then it’s okay if the enforcement can’t be automated. This is especially true when partial compliance is a meaningful improvement over a default of zero compliance.
This post’s featured photo by Dim Hou on Unsplash.
The post Not all policy enforcement needs to be automated appeared first on Duck Alignment Academy.
On Saturday May 30th 2026, the XV edition of P.I.W.O. Poznań Free Software Fest was held in Poznań,
Poland.
P.I.W.O. is an event with a long history. Between 2004 and 2018, it was organized by various student associations at the Poznań University of Technology. After 2018’s XIII edition (superstition much?), it entered a long hiatus that lasted until 2025, when members of the newly-formed Knyfyrtel Poznań Hackerspace decided to bring it back. The reactivated event proved a huge success, with the XIV edition bringing in 197 attendees. As such, ambitions for 2026 were rather big.
This year’s edition was the result of combined efforts of three Poznań-based organizations:

Thanks to Webrains, for the first time in its history, the event was held at the Adam Mickiewicz University in Poznań – namely, the uni’s Faculty of Mathematics and Computer Science. Also a historical first, the XV edition was granted honorary patronage by the President of Poznań City Council.
The event spanned almost the entire Saturday, opening at 9:30 am and closing at 7:35 pm. The agenda was tightly packed, featuring 3 lecture tracks with 24 talks, 2 workshop tracks with 8 activities, plus a LAN Party track with 3 tournaments, as well as “free play” sessions. There was also a quiet corner where, thanks to the “Honte” group, attendees could relax and learn to play Go.



Throughout the years, one of P.I.W.O.’s hallmarks was the lunch break, with the attendees being provided free pizza. This year couldn’t be any different, with some 66m² (or 710 ft²) of pizza being delivered to the venue. (It disappeared frighteningly quick.)


The Fedora Community was represented by:

This year’s P.I.W.O. served as an opportunity to announce the creation of SPOIWO – Sojusz Przyjaciół Otwartego i Wolnego Oprogramowania (Alliance of Friends of Open and Free Software). This diverse coalition of social and technology organisations, cooperatives and open source businesses signed a declaration in support of digital sovereignty. The alliance was formed in response to the ever-deepening of public institutions’ dependency on closed platforms and their loss of control over data and communication.

The signing ceremony also featured speeches by representatives of SUSE Poland, Polish Linux User Group, “Internet. Czas działać!” Foundation and PLZ Spółdzielnia.
The event wrapped with 452 attendee badges issued, which exceeded even the most daring of expectations. (The number also explains why the pizza disappeared so quick.) The bar for the next edition is set high, but so are the organizing team’s ambitions.



If you’d like to learn more about the event, watch the live stream recordings, or subscribe to news so you won’t miss the announcement for the XVI edition – you can do all of that on the event’s website, at piwo.sh.
The post Fedora at XV P.I.W.O. Poznań Free Software Fest appeared first on Fedora Community Blog.
Some hosts are being relocated and have been taken down for that purpose. OCP workers 04 and 05 are on the list.
While this should have been transparent to end users, it has caused unforseen consequences with the Apache LoadBalancer setup for Openshift Apps, when requests mistakenly get sent to …
Ahora te voy a contar una de esas aventuras de SysAdmin que te ponen a sudar frío, pero que al final te dejan con una sonrisa de oreja a oreja.
Acabo de migrar mi servidor físico de CentOS Stream 9 a CentOS Stream 10 usando Leapp. La neta, aunque el proceso es noble, me topé con varias broncas en el camino (desde falta de espacio en boot hasta conflictos de red) y aquí te dejo el mapa completo para que usted, ¡pare de sufrir!
Antes de que pudiera siquiera pensar en correr el preupgrade, me di cuenta de que mi partición /boot (de apenas 1 GB) estaba al 65% de capacidad. Como DNF necesita instalar el nuevo kernel y Leapp requiere mínimo 100 MB libres para maniobrar, no se iba a armar la cosa.
Como tengo XFS sobre LVM en la raíz (y esa chingadera no se puede encoger online ni offline), no podía simplemente reparticionar el disco. Por fortuna, hace un ratito te conté cómo apliqué el paro definitivo para tu boot con dracut hostonly.
Siguiendo esos pasos, reduje el peso de cada RAM disk de ~235 MB a ~69 MB. Eso me devolvió ~330 MB libres de inmediato, dejando mi boot al 32% de uso y abriendo la puerta para continuar con el upgrade sin tener que andarme metiendo en desmadres de reparticionar discos en vivo.
Note
La neta es que, mi servidor físico (local), no está en producción. Nomás que... me da weva conectarle un monitor y un teclado para moverle...
Con el espacio libre resuelto, instalé las herramientas necesarias para la migración. En CentOS Stream, esto se hace a través de los paquetes de ELevate:
dnf install leapp-upgrade-el9toel10
Una vez instalado, corrí la herramienta de diagnóstico para buscar inhibidores (bloqueos del sistema):
leapp preupgrade
El reporte inicial me arrojó un inhibidor de alto riesgo: Legacy network configuration found.
Resulta que en CentOS Stream 10 se eliminó por completo el soporte para los viejos archivos ifcfg-* en /etc/sysconfig/network-scripts/. Si no migras esto, tu tarjeta de red no va a levantar al reiniciar y tu servidor va a quedar incomunicado en la calle.
Migrar la conexión a formato `keyfile` (nativo de `NetworkManager`): Utilicé la herramienta nativa de NetworkManager para convertir el perfil.
nmcli connection migrate enp6s0
NetworkManager automáticamente borró el archivo ifcfg-enp6s0-1 y creó el nuevo perfil estructurado en /etc/NetworkManager/system-connections/enp6s0.nmconnection.
Limpieza de systemd: Leapp también detectó symlinks rotos de servicios viejos (como vdo.service y zabbix-server-mysql.service) que andaban estorbando. Los borré de volada:
rm -f /etc/systemd/system/multi-user.target.wants/zabbix-server-mysql.service /etc/systemd/system/multi-user.target.wants/vdo.service
Corrí de nuevo leapp preupgrade y esta vez arrojó exit code 0 (¡libre de inhibidores!). Aunque advirtió que mi procesador (AMD Family 15h) ya no tiene soporte oficial por Red Hat, verifiqué con el linker que soporta la microarquitectura x86-64-v3 sin bronca.
Con el semáforo en verde y mis respaldos al día, arranqué la descarga de paquetes. (mentiras... ni respaldé nada...)
Warning
¡Mucho ojo con la sesión SSH! La descarga e instalación del entorno temporal pesa más de 2 GB. Si tu SSH se desconecta por timeout a la mitad del jale, el proceso padre va a morir por un error de "Broken pipe" y va a tronar el instalador gacho. Para evitar desmadres, lo ideal es correr todo dentro de una sesión de tmux (o screen) para que puedas desconectarte y reconectarte sin perder la ejecución:
# Iniciar una sesión de tmux
tmux new -s upgrade
# Correr el upgrade
leapp upgrade
Si por alguna razón la red parpadea o se te cierra la sesión, sólo tienes que volver a conectarte y restaurar el cotorreo con tmux a -t upgrade.
Cuando el comando terminó con éxito y me indicó que todo estaba listo, ejecuté el reinicio:
reboot
El sistema se apagó, cargó el kernel especial de actualización (ELevate-Upgrade-Initramfs), ejecutó la transacción de paquetes y se volvió a reiniciar de manera automática.
Al volver a entrar por SSH, verifiqué que ya estaba del otro lado:
cat /etc/os-release
Ya chingamos: CentOS Stream 10 (Coughlan)` con kernel 6.12.0.
Sin embargo, el comando systemctl is-system-running me devolvió el estado degraded. El culpable era el servicio systemd-networkd-wait-online, el cual estaba habilitado por una instalación vieja pero no tenía perfiles activos (ya que NetworkManager controla todo el desmadre).
Lo desactivé para dejar el sistema limpiecito:
systemctl disable --now systemd-networkd systemd-networkd-wait-online systemd-networkd.socket
systemctl reset-failed
Volví a checar el estado y finalmente quedó en running. ¡Chulada de sistema!
La neta es que migrar con Leapp es bastante fácil si sabes leer los reportes y previenes los bloqueos antes de reiniciar. La clave de esta historia fue optimizar dracut y no dejar ningún perfil ifcfg de red vivo.
¿Qué te parece? ¡¿Te avientas la actualización de tus servidores a CentOS Stream 10?! Si no te animas, échame un grito. :)
Hoy me topé con un dolor de cabeza clásico de los que administramos servidores: la partición /boot de uno de mis servidores físicos (dev1.casa.g02.org) andaba agonizando. Apenas medía 1 GB y ya estaba al 65% de su capacidad. Con el upgrade que andaba haciendo, meter otro kernel iba a hacer que todo valiera madres por falta de espacio.
La primera ocurrencia lógica es: "pues le quito espacio a la raíz (/) y se lo paso a /boot". Pero, ¡oh sorpresa! Mi partición raíz está formateada con XFS y vive dentro de un volumen lógico (LVM). Para los que no sepan, XFS no se puede encoger (shrink). Así que esa idea valió madre de volada.
Investigando las entrañas del sistema, me di cuenta de que cada imagen de initramfs generada por dracut pesaba la grosería de ~235 MB. ¿Por qué tanto desmadre? Resulta que por defecto, el sistema las compila en modo "genérico", empacando todos los drivers habidos y por haber por si decides mudar el disco a otra compu.
Pero como mi servidor es una máquina física bien establecida, ¿para qué quiero drivers de Hyper-V, VMware o NVMe si mi disco es un SATA común y corriente? Ahí es donde entra la magia del modo hostonly en dracut.
Para no andar batallando en el futuro, creé una regla persistente para que todas las futuras imágenes de boot se compilen optimizadas:
Crear el archivo de configuración: Creé un archivo drop-in para dracut con la opción mágica.
# /etc/dracut.conf.d/hostonly.conf
hostonly="yes"
Regenerar las imágenes: Reconstruí los RAM disks para todos los kernels instalados para aplicar el cambio inmediatamente.
dracut -f --regenerate-all
Verificar el espacio: Chequé cuánto espacio gané con este parote.
El resultado de esta optimización fue inmediato y super chido:
¡Me ahorré más de 330 MB en total! El uso de la partición /boot bajó del 65% al 32%, dándome espacio de sobra para varios kernels más sin tener que andarnos preocupando por fallos de espacio en la siguiente actualización de DNF.
Warning
¡Ojo con la portabilidad! Si decides mudar tu disco físico a otra máquina con hardware totalmente diferente, el sistema podría no arrancar porque el initramfs optimizado no tendrá esos drivers. La ventaja es que la imagen de rescate (rescue) siempre se genera en modo genérico, así que puedes bootear con ella y volver a compilar el initramfs para el nuevo hardware.
La neta es que es mejor optimizar lo que ya tienes antes de meterte en desmadres de reparticionar discos en caliente, sobre todo cuando tienes XFS en el camino. Con una sola línea de configuración le di un respiro enorme a la máquina y me ahorré un dolor de cabeza enorme.
¿Cómo la ves? Si andas sufriendo por espacio en tu partición de boot, ya te la sabes: ¡dale una oportunidad a hostonly, no?!
I have a 5G modem in my Lenovo x13s and t14s. I run Fedora on them, currently Fedora 44. I have had issues in the past when traveling. The 5G modem works fine when in the US but will not connect to any provider when roaming. It has worked after some time in the UK and Australia, but not in other countries. I use Google Fi for phone service, which allows roaming with the same data allowance as in the US.
After some digging during my current trip, when it wasn’t connecting, I think I have found the issue and a workaround to ensure I can connect. Google Fi uses two networks, T-Mobile in the US and Three UK when roaming. It also uses T-Mobile for roaming. The issue seemed to be that the towers were rejecting the SIM card, attempting to register using T-Mobile’s default APN that seems to be baked into the SIM card as a default profile. The ModemManager logs looked like the following
ModemManager[1603]: <msg> [modem0] 3GPP packet service state changed (unknown -> detached)
ModemManager[1603]: <msg> [modem0] 3GPP packet service state changed (detached -> unknown)
ModemManager[1603]: <msg> [modem0] 3GPP packet service state changed (unknown -> detached)
ModemManager[1603]: <msg> [modem0] 3GPP packet service state changed (detached -> unknown)
The trick that got it to connect was to make a change to the default profile used to connect to the phone tower was to run an mmcli command: “mmcli -m 0 –3gpp-set-initial-eps-bearer-settings=”apn=h2g2,ip-type=ipv4v6” Which forces the sim to use the Google Fi APN and not the T-Mobile one
This is a report created by CLE Team, which is a team containing community members working in various Fedora groups for example Infrastructure, Release Engineering, Quality etc. This team is also moving forward some initiatives inside Fedora project.
Week: 15 – 19 June 2026 (Flock Week!!)
This team is taking care of day to day business regarding Fedora Infrastructure.
It’s responsible for services running in Fedora infrastructure.
Ticket tracker
This team is taking care of day to day business regarding CentOS Infrastructure and CentOS Stream Infrastructure.
It’s responsible for services running in CentOS Infrastructure and CentOS Stream.
CentOS ticket tracker
CentOS Stream ticket tracker
This team is taking care of day to day business regarding Fedora releases.
It’s responsible for releases, retirement process of packages and package builds.
Ticket tracker
This team is taking care of quality of Fedora. Maintaining CI, organizing test days
and keeping an eye on overall quality of Fedora releases.
This team is working on introduction of https://forge.fedoraproject.org to Fedora
and migration of repositories from pagure.io.
This team is working on keeping Epel running and helping package things.
This team is working on improving User experience. Providing artwork, user experience,
usability, and general design services to the Fedora project
If you have any questions or feedback, please respond to this report or contact us on #admin:fedoraproject.org channel on matrix.
The post Community Update – Week 25, 2026 appeared first on Fedora Community Blog.
This is a report created by CLE Team, which is a team containing community members working in various Fedora groups for example Infrastructure, Release Engineering, Quality etc. This team is also moving forward some initiatives inside Fedora project.
Week: 08 – 12 June 2026
This team is taking care of day to day business regarding Fedora Infrastructure.
It’s responsible for services running in Fedora infrastructure.
Ticket tracker
This team is taking care of day to day business regarding CentOS Infrastructure and CentOS Stream Infrastructure.
It’s responsible for services running in CentOS Infrastructure and CentOS Stream.
CentOS ticket tracker
CentOS Stream ticket tracker
This team is taking care of day to day business regarding Fedora releases.
It’s responsible for releases, retirement process of packages and package builds.
Ticket tracker
This is the summary of the work done regarding AI in Fedora.
This team is taking care of quality of Fedora. Maintaining CI, organizing test days
and keeping an eye on overall quality of Fedora releases.
This team is working on introduction of https://forge.fedoraproject.org to Fedora
and migration of repositories from pagure.io.
This team is working on keeping Epel running and helping package things.
This team is working on improving User experience. Providing artwork, user experience,
usability, and general design services to the Fedora project

If you have any questions or feedback, please respond to this report or contact us on #admin:fedoraproject.org channel on matrix.
The post Community Update – Week 24, 2026 appeared first on Fedora Community Blog.
A primary focus across many groups was the upcoming Fedora 45 release cycle, which drove the submission and discussion of several key Change Proposals, including system-wide updates to LLVM 23 and a multi-widgetset Lazarus IDE. This release preparation was accompanied by significant package maintenance, highlighted by the major OpenSSL 4.0 update and its mass rebuild, compatibility work for Python 3.15, and security-driven package replacements in EPEL. Another common thread was the evolution of core infrastructure, with teams managing the migration from Pagure.io to Forgejo and the transition from Nagios to Zabbix for system monitoring. Community testing was also a crucial activity, with efforts centered on the new KDE Plasma 6.7 release and the restoration of Google Drive integration in GNOME. Finally, improving community processes was a recurring theme, with discussions on creating a new SIG for systemd-sysexts and enhancing security by mandating 2FA for packagers.
This week's announcements focus on the upcoming Fedora 45 release cycle and evolving infrastructure. A reminder was sent out for the upcoming deadlines for F45 Changes, with two new proposals already submitted: a system-wide update to LLVM 23 and a plan to offer the Lazarus IDE with multiple widgetsets. On the infrastructure front, a post discusses the final steps for migrating from Pagure.io to the new Forgejo-based forge, while another provides a technical guide for onboarding Forgejo-hosted projects to Fedora Konflux. The Anaconda team is also seeking community input on a new web-based remote installation feature being built for headless systems.
In community news, a new Outreachy intern shared their experience working on the Fedora Release Schedule Planner API, highlighting a valuable contributor program. For the broader Linux community, a Fedora Magazine article details a practical method for how to sandbox AI coding agents with microVMs on Fedora Linux, addressing a modern security concern for developers.
This week, discussions focused on several Change Proposals for the upcoming Fedora 45 release. New proposals were introduced to update the system-wide LLVM toolchain to version 23 and to offer the Lazarus IDE with multiple widgetset options (including GTK3 and various Qt versions), giving developers more choice beyond the current GTK2-only package. These proposals are now open for community feedback.
Discussions continued on previously submitted proposals. Regarding the Golang 1.27 update, it was noted that a fix for DWARF5 debugging issues is unlikely to be included in this release; developers needing this functionality are directed to a dedicated COPR repository. The libxml2 2.15 update, which will require a mass rebuild and deprecates the Python bindings, is awaiting consideration of feedback from the developer mailing list. A significant debate is ongoing around the proposal for a minimal GRUB EFI for Confidential Computing. While the proposal aims to create a smaller, more stable bootloader for Unified Kernel Images (UKIs), the discussion questions the rationale for not using systemd-boot, with conflicting information about the systemd maintainers' willingness to add necessary features.
Learn more about the FESCo team.
The main activity for the Workstation / GNOME group this week centered on the ongoing effort to restore Google Drive integration in GNOME. In the forum discussion "[Call for Testers] Restoring Google Drive integration in GNOME", a user inquired about installing the test packages on Fedora Silverblue. In response, instructions were provided on how to use rpm-ostree to replace the necessary system components from the testing COPR repository. This provides an opportunity for Silverblue users to contribute to testing this important feature.
Learn more about the Workstation / GNOME team.
This week's focus was the release and testing of KDE Plasma 6.7.0. The new version was made available for testing on Fedora 43 and Fedora 44, and the community was encouraged to help test and report bugs. In preparation for the final release, the COPR repository for the Plasma 6.7 beta was retired.
Discussions following the release highlighted several user-reported issues. Users on Kinoite noted that the network manager repeatedly asked for Wi-Fi passwords after rebooting; a workaround was discovered which involves entering the password in the main system settings instead of the connection pop-up. Other reported issues include a login loop for some users and desktop instability after clearing the Mesa shader cache. A dependency issue affecting kdevelop on Fedora 43 was also brought up, with the team noting it is a known problem related to a gpgme issue and is expected to be fixed after the Plasma update is pushed to stable.
Learn more about the KDE team.
This week's activity was light as team members recovered from the Flock 2026 conference. The primary focus was on the monitoring system transition discussed in the main Infrastructure meeting. Nagios has now been officially decommissioned, and work is underway to remove its remaining components from all hosts. The team reviewed the current alerts in the new Zabbix monitoring system, identifying several noisy checks related to mail queues, file ages, and backups that will be tuned or investigated. The Daily Standup was a brief check-in, mostly acknowledging the post-conference recovery period.
During the Infrastructure meeting, several actions were agreed upon to refine the new Zabbix monitoring setup:
smtp-mm will be increased to reduce noise caused by spam bounces.countme file age checks will be raised to prevent intermittent alerts.dl03 mirror will be investigated.Learn more about the Infrastructure team.
This week, the Release Engineering group's activity centered on a community forum discussion. A user shared their detailed experience of successfully creating a customized Fedora 44 XFCE live ISO using the kiwi-ng tool. They described a multi-hour process of trial and error, highlighting solutions for common issues like user login configuration and providing practical advice, such as avoiding the /tmp directory for build outputs to prevent space-related failures. The user also sought help from the community on how to properly format and share their working config.xml file, presenting an opportunity for others to engage and assist.
Learn more about the Release Engineering team.
This week, the Quality team discussed several technical issues affecting development releases. A significant disruption occurred when a failing test, upgrade_server_domain_controller, blocked all Rawhide updates over the weekend. Other reported problems include broken Adwaita themes in XFCE on Rawhide due to the removal of gnome-themes-extra, a libvirtd service failure on Fedora 44 related to a ZFS module, and a temporary dependency issue preventing Thunderbird installation which was already being tracked. The team also welcomed a new contributor and announced the next QA meeting for June 22.
There are several opportunities for community involvement. Testers are needed for a new Synaptic-style GTK4 frontend for DNF5, which has received positive initial feedback. Additionally, the effort to restore Google Drive integration in GNOME continues, with instructions now available for testing on Fedora Silverblue. As always, volunteers are welcome to help with the validation of Fedora 45 Rawhide nightly composes.
Learn more about the Quality team.
This week, discussion continued on the long-running topic of a design proposal for Fedora's documentation. The conversation focused on the proposal's use of a tag-based system for organizing user documentation. Contributors expressed concerns about the reliability and consistency of manual tagging, suggesting it can indicate poor search functionality and structure. A preference was noted for traditional navigation methods like Tables of Contents for better topic discovery. As a modern alternative to manual tagging, it was suggested that Large Language Models (LLMs) could be employed for automated classification, which might prove more effective and less costly over a large set of documents.
Learn more about the Docs team.
This week, the Internationalization team announced a significant new collaboration: the MATE Desktop project has migrated its translation work to the Fedora Weblate platform. This move invites all translators to contribute to MATE applications and documentation directly within the Fedora infrastructure, strengthening the ties between the communities.
In other news, the community welcomed a new and proactive Norwegian translator, Arvind Frøiland, who introduced himself on the mailing list. Having already completed the Norwegian Bokmål translation for systemd, Arvind expressed a keen interest in contributing to other core components and requested reviewer permissions to help maintain and improve Norwegian translations more effectively.
Learn more about the Internationalization team.
This week in EPEL was quiet, with a sparsely attended meeting due to the Flock conference. The main focus was on several significant package changes proposed on the mailing list. A key discussion is underway to replace the end-of-life p7zip package with the modern 7zip in EPEL 8 and 9 due to numerous unfixable security vulnerabilities in the older package. This is considered a slightly incompatible update, and an issue has been filed for community feedback and future discussion.
Other proposals seeking community input include the retirement of qt6-qtwebengine from EPEL 9 due to maintenance difficulties and a high number of CVEs, and a plan to update syncthing to v2 in EPEL 10 while retiring it from EPEL 8 and 9 because older dependencies prevent necessary security updates. Contributors, especially maintainers of packages that depend on these, are encouraged to participate in the discussions.
Learn more about the EPEL team.
This week, discussion centered on a proposal to create a new Special Interest Group (SIG) focused on systemd system extensions (sysexts). The proposal, initiated by Jean-Baptiste Trystram, follows discussions at FLOCK 2026 and aims to formalize the building, documentation, and distribution of sysexts based on Fedora content. These extensions are seen as a key method for adding functionality to atomic systems, especially for software not well-suited for containers or Flatpaks. The primary goals for the proposed SIG would be to establish an official build process, potentially using Konflux, and to solve the open questions of distribution and discoverability. The idea has received positive engagement, with several contributors expressing interest in joining the effort.
Learn more about the Atomic team.
During the weekly meeting, the team reviewed upcoming system-wide changes for Fedora 45. A critical issue was discovered with the proposal to relocate RPM repository configurations to /usr. Because rpm-ostree relies on DNF4, this change is expected to break client-side package layering, a significant feature for users. This will be tracked closely. The team is also seeking a volunteer to investigate a bug related to another F45 change in fedora-coreos-tracker/issues/2160.
In the forums, a proposal was made to create a new Special Interest Group (SIG) for systemd-sysexts. The goal is to establish an official process for building and distributing system extensions, which offer a way to add functionality to atomic systems for software that isn't well-suited for containers. The proposal has received positive feedback and interest from several community members, presenting a new opportunity for contribution.
Learn more about the CoreOS team.
The AI & ML SIG met this week to discuss preparations for the upcoming Fedora 45 release, which is scheduled to branch on August 11, 2026. A key topic was the ongoing effort to update packages for the Python 3.15 release, which is causing the usual compatibility issues with torch and triton. The group plans for F45 to ship with ROCm 7.2, and work is underway on a compatibility package set to support this version on F46 when the next major ROCm release arrives. There is a strong interest in packaging local AI tools for F45, and contributors are needed to help review packages for the pi-coding-agent (Bugzilla #2464801) and the olla local AI proxy.
The idea of creating a dnf package group for AI/ML tools was briefly discussed but was ultimately deferred. The group felt it was too early to add this, given the complexity of handling different hardware backends (like ROCm) and the desire to avoid adding process overhead for the small number of active packagers. The meeting also touched on the status of OpenVINO, confirming that no one in the SIG is actively working on it at the moment.
Learn more about the AI & ML team.
The Security SIG held its weekly meeting to discuss recent events and plan future work. Following the Flock conference, the group noted a new connection with Red Hat Product Security (RH ProdSec) and discussed concerns about documentation with security implications, which will be addressed soon. A major topic was the FESCo proposal to mandate two-factor authentication (2FA) for provenpackagers, prompted by recent security incidents in the wider open-source community. The SIG offered to support this initiative by helping with documentation and communications.
The team also triaged several issues, focusing on providing better support for package maintainers dealing with CVEs. This led to a decision to create a formal process for maintainers to request assistance. The group also briefly touched on tickets related to security-optimized sysctl settings and a protocol for skipping meetings. Contributors are encouraged to review and comment on the open tickets in the Security Forge and the Security Docs Forge.
security/tickets repository and announce the new process on the devel mailing list.Learn more about the Security team.
This week's activity for the Perl group focused on routine package maintenance and an enhancement to packaging tools. The perl-PPIx-Regexp package was updated to version 0.092 via several pull requests. The perl-Net-DNS package was also updated to version 1.55, which included an update to the upstream GPG signing key. A notable improvement was merged for perl-rpm-build-perl, which now supports the package NAME VERSION; syntax to improve automated dependency generation.
A discussion was initiated by Remi Collet regarding a build issue for PHP extensions on EPEL-10.2. It was noted that extensions were incorrectly being built against the newer PHP 8.4 stack instead of the default PHP 8.3. This occurred because the build system selected php8.4-devel as the best provider for the php-devel dependency. A workaround has been implemented to ensure packages are built against the correct version.
BuildRequires for PHP extensions will be constrained to a specific version range (php-devel >= 8.3 with php-devel < 8.4). This ensures they build against the intended default PHP 8.3 stack. All affected extensions have already been rebuilt with this fix.Learn more about the PHP team.
.spec file templates. This would allow rpmdev-newspec to use current templates and could be integrated into a new fedpkg new command. Following the discussion, a spec-templates repository was created, and a pull request for a fedpkg new-package command was opened to implement this functionality.upgrade_server_domain_controller test. He noted the bad timing post-Flock and devconf.cz and mentioned he was actively investigating to resolve the issue as soon as possible.containerd package. A FESCo exception now allows all Fedora releases to have the same containerd version, constrained only by the Go version. Additionally, starting with v2.3.x, the containerd-shim-runc-v2 will be provided as a static binary, matching upstream, which should be a transparent change for users.llvm22 compatibility package. The plan is to push version 23.1.0 into F45 during the Beta Freeze, with release candidates being tested in COPR beforehand.lazarus-ide package will be renamed to lazarus-ide-base, and new sub-packages for each widgetset will be introduced. This will allow users to choose their preferred interface and will facilitate the eventual retirement of gtk2.nodejs and devel lists about the presence of pre-built binaries in the node_modules directories of bundled Node.JS packages in Fedora. The consensus was that this is an oversight and not permitted by packaging guidelines. The conversation highlighted the fundamental difficulty of adhering to Fedora's policies with the NPM ecosystem, where dependencies often include pre-compiled or minified assets, making review and maintenance impractical. It was suggested that bugs should be filed for affected packages and a FESCo ticket opened to address the systemic issue.fx package, which was orphaned years ago due to issues with NodeJS packaging guidelines. Ben Beasley, the former maintainer, confirmed this was the reason and noted that since the tool has been rewritten in Go, the original packaging problems are no longer relevant, and it would be welcome back in Fedora.List.remove() issue inside a for-loop in Java, comments on a spam email promoting a code editor that was also sent to openSUSE lists, and the continuation of a long discussion on AI-driven contributions which pivoted to requiring 2FA for packagers. Technical discussions covered packaging guidelines for distribution conditionals, how to handle autogenerated documentation in RPMs, and the implications of swapping fedora-release on COPR compatibility for Remixes. Announcements were made regarding the sunset of pagure.io, a change proposal for libxml2 2.15, and another for a minimal GRUB EFI for Confidential Computing. Users sought help with a mockbuild failure in rawhide and a Bodhi update issue. Finally, there was a check on a non-responsive maintainer and a question about the OpenSSL 4.0 mass rebuild.ccze and sslh packages, with a long-term goal of rewriting them in Rust.highfive 3.3.0 is being prepared for Rawhide and listed the dependent packages that will be rebuilt.openbabel 3.2.0 was announced for Rawhide, which will require several dependent packages like IQmol and avogadro2 to be rebuilt or updated.libupnp 2.0.2 build which includes a soname bump, and that all dependencies except the already-FTBFS eiskaltdcpp will be rebuilt.fmt 12.1.0 and spdlog 1.17.0 in Rawhide, which will involve a soname bump and a mass rebuild of dependent packages in a side tag.QXlsx 1.5.1, which includes a soname bump. The dependent package LabPlot builds fine, while stellarium is already failing for other reasons.abseil-cpp to version 20260526.0 in F45/Rawhide, which breaks ABI compatibility and will require a rebuild of all dependent packages in a side tag.libbox2d from version 2.x to 3.x in Rawhide, which includes a soname bump. The main consumer, libreoffice, will be upgraded at the same time.libetpan to 1.10.1, which involves a soname bump. The dependent packages cairo-dock-plug-ins and claws-mail will be rebuilt, but this will be postponed until after the OpenSSL 4.0 changes are merged.libgit2 package has been retired in Rawhide as part of the Changes/Versioned_libgit2_packages implementation, and requested reviews for pending pull requests on packages that still need to be updated.evolution-data-server 3.61.1 release which includes a soname bump for libcamel. He plans to rebuild all affected packages in a side tag.openssl3 compatibility package is available for packages that have not yet been updated. Maintainers are urged to make their packages compatible before the F45 mass rebuild.mesa to v26.1.x in Fedora 44, coordinating with RPM Fusion maintainers. A discussion also started about the possibility of updating Mesa in Fedora 43 as well.rust-handlebars5 compat package in Rawhide, as the CLI tool it provides (handlebars-cli) is no longer part of the main handlebars crate in version 6.Caveat lector
This post discusses tools reluctantly written with AI assistance. If you don’t entertain using them under any circumstance, and think even reading about them legally compromise your ability to reimplement them yourselves, stop reading now
Today’s post introduces dbranch, a tool to update a Debian package in unstable, and rebuild downstream branches (currently supports Ubuntu PPAs and stable proposed-updates; backports support could be easily added once I have a package that needs it). Eagle-eyed readers might notice the naming similarity with my previous tool ebranch; and the credit for the name and inspiration eventually came from Jens Petersen’s fbrnch.
I was looking forward to this year’s Flock - Fedora Project Conference. I had to cut my vacation short and return from my river trip a day early.
I arrived in Prague at noon on Sunday, just in time to attend František Lachman’s workshop “PR-based Gating for Fedora: Can We Make It Work?”. We all agreed that we want all contributions to happen through pull requests and only after all tests pass. However, we also realized it is not easy: gating for multi-package PRs will be difficult (unless we have a monorepo). Proven packagers will need special handling (can we work on this later?), and first, we need the new Forgejo—everyone is looking forward to it. Coincidentally, later at Devconf, I spoke to Marcela, who mentioned that SUSE already has Forgejo for all packages and that it does not scale as they expected.
But the important message from Miro was: “we should not force maintainers to use a new workflow; we should make it pleasant and easy to use so they want to use it on their own.”
After this workshop, I checked into my hotel and later returned to the venue. We had a passionate conversation with Aleksandra, Miro, and Karolina during a card game. We then moved with several other people to a nearby pub that served Belgian beer. I had only one glass, but I felt very dizzy and tired, so I returned to the hotel sooner than the rest of the gang.
On Monday, I joined Collin for breakfast, and we discussed the dark corners of RPM building.
Then I moved to the venue and listened to Jef Spaleta’s “State of Fedora” talk. Fedora’s usage is growing, and KDE is working enormously well, but the decline in Fedora’s contributors is accelerating. We have to figure out why and take action, rather than just setting up plans without execution.
The “Fedora Council Strategic Proposals” session was great. Two highlights stood out:
“It’s not the new generation that is different. It’s you who is different,” said Aleksandra. “They talk about changing a wallpaper; we are talking about burnout.”

“I would not join Fedora if it were stable. I want to improve it.” Jef Spaleta

The subsequent “FESCo Q&A” was less vibrant but provided a great opportunity to learn about members' views. For newcomers, Kevin’s remark that FESCo’s role is sometimes to say “No” and stop things was likely interesting. However, FESCo cannot drive new initiatives; individual contributors must do that.
Then I watched Stef’s talk about Hummingbird; this was not new to me as we closely cooperate on agentic packaging.

I also observed the talk “Packit and Fedora: The CI Story Continues”, as it summarized what my team accomplished with Fedora CI. There were many examples, and the feedback was positive. I appreciated that Matej managed to substitute for Nikola, who got sick at the last minute.
Several ideas in the Q&A highlighted that PRs are not mandatory and that maintainers do not always follow upstream in a timely manner.
I attended “The EU CRA vs. Community: Why You’re Safe, and How Stewards Help”. The CRA was new to me, and the session was packed with concrete information. You may check the most interesting slides in my Mastodon post. The biggest takeaway is that open-source maintainers do not need to worry, but they should be prepared that companies using their software will start email-bombing them in August. There was a nice guide on how to politely reject them.
I took a break and talked to people in the hallway, sharing remarks with my team members. I talked with Kashyap about bootstrapping RISC-V; he was thankful for our support in Copr. We drafted next steps, only to find that Kashyap’s colleague already did that while I was on vacation.
I then observed “What’s Cooking in Copr, Testing Farm, tmt, Packit and Log Detective”, where Franta and people from my team shared our current work and future plans. It was great that Franta brought the team members on stage.
After this, I was quite tired, so I headed to the hotel for a quick nap and shower to get ready for the Official Party, which took place at Manifesto—a local market with various street foods. I met many familiar faces as well as new people.
On Tuesday I listened to Adam’s “RHEL 11 is branching from Fedora 46: What this means for you” talk and appreciated his honesty in answering “I do not know” to several questions. Later in the hallway, we discussed whether branching RHEL during the Fedora branching phase is ideal, and why we don’t branch during the beta phase instead.
I then moved to Kevin’s talk, “Scrapers Gotta Scrape Scrape Scrape”. This topic was familiar, as we are also fighting scrapers, and Jiri from my team helped package Anubis and its dependencies for Fedora. However, I learned several new things, and the follow-up Q&A was fun. If you think people ranting about scrapers only wrote inefficient web applications, you should definitely see a recording of this talk.
I attended Frederick’s talk, “Machine-readable package lifecycle information in repository metadata”. He spoke about their DNF plugin that can set various End-of-Life dates for different packages. This was extremely helpful, and since we wanted to do something similar in RHEL, I immediately emailed the DNF team to introduce them to Frederick.
After the talk, I bowed to Frederick, as he is reportedly the person behind the migration of AWS Linux to Fedora.
I listened to Microsoft’s talk, “Two Years In: Accelerating Microsoft Contribution to Fedora”. It was interesting to see how much Microsoft uses Fedora. The highlight was that the presenters were from different teams within Microsoft and were largely unaware of each other’s work.
I then talked to people in the corridor, including Bex, who introduced me to two students from Jihlava interested in a high school internship.
The highlight was definitely the lightning talks. They were strictly 5 minutes long (including notebook setup). I learned about current Lenovo support for Linux, how Miro sped up the last Python mass rebuild, and I reported on the current status of the SPDX migration, noting that the next steps will proceed without me. Fortunately, Max started a SIG that wants to take over the work. I shared some information with him that didn’t fit into the lightning talk. Jiri presented his achievement of packaging Goose for Fedora and even provided a live demo!
By this point, I was quite tired, so I passively watched the presentation of the Contributor Recognition Awards. Then, I went into the city to meet a friend, and we attended the theater performance Tahle země je naše.
Tip: If you want to see any mentioned talk, you can find it in the schedule and then rewind to the specific time in the Streams. The edited and cut talks are usually available weeks later on Fedora’s channel.
DevConf CZ is huge even. With over one thousand participants and eleven tracks - it is huge. As this is a conference in my hometown I volunteered to help organizers: I chaired one of the rooms and acted as a fire marshall. That includes overseeing A/V tech. Help speakers to connect to video and mic. Make sure they do not run with that. Remind them the time.
This year, I chose a room with Lightning talks. There was 15 minutes for each talk and 5 minutes for a break. And it was a blast!
I chaired the Thursday morning and Friday afternoon. One of the best delivered talks was from new junior who was speaking for the first time - yet she overperformed more senior people.
“AI accelerated learning. Mentorship directed it. Real systems grounded it.” Kaja Prokopova @ “From Sysadmin to Software Engineer: A Non-Traditional Path into Tech”
Petr Kaška spoke about detecting malicious prompts. You can attack your model using https://github.com/Security-FIT/PromptAttacker
Anežka Müller speaks about how she organizes a small one-day, one-track conference, Python Pizza. You can use her recipe for free https://docs.python.pizza/
James Freeman with his theory about technology dopamine culture.
Jan Jurca spoke about tests on the filesystem that produce different results if you use the filesystem for some time. You can artificially simulate the usage of filesystem and then run the benchmarks using Filestorm https://github.com/janjurca/Filestorm
See the interesting slides.
I did a small cameo at lightning talk by my student Peter Stefunko in his talk “From SBOM to Dependency Stacks: Making Software Structure Visible“ where he tries to visualize the state of the operating system using famous XKCD comics “Dependency”. You can check his work at github.com/peter-stefunko/rpm2xkcd2347.
I did not attend Thursday’s party as we had an anniversary with my wife and preferred my wife over all of you. 🙂
I met many old faces, former colleagues. And the biggest surprise was the booth of Free Software EU where I found the Czech edition of the book Ada & Zangemann that I helped to translate. I did not know it was already printed - that was because the print was finished that morning. I then called Tomas Stary who took the work from me and who I never met - only to find that he is standing beside me in the queue for ice cream 🙂
Mathias post about the new print https://mastodon.social/@kirschner/116770321504331386
Half of the batch. Fresh from print.
Later we discussed with Tomas, his publisher and Lucie from RH additional steps to advertise the book.
Last week I had to extend complicated, unfamiliar Helm chart. While I've discussed approach with my carbon-based coworker, actual editing and extending was done by Claude Code.
Refactors and renamings were tedious, but Claudius did them in no time. During the review we decided to significantly change the way chart is organised. Claude executed the changes perfectly.
If I had to fully understand the working of the chart, it would have taken me a good part of the week. Making the changes – another day or two. Significant rework midway – I'd probably be too demotivated to do it.
With AI assistant, I have finished work in two days. Tested, simplified, cleaned up.
But I have no more skills than I had before. I do not understand this Helm chart much better. I've spotted a thing or two during the review, but in no way I have a fuller comprehension. AI let me borrow expertise without acquiring it.
Next time when I'll have to work on this chart, I will use Claude again. I've got softly locked-in in using AI assistant to work. And I'm not happy with that.
Now, my employer sees this as an acceptable tradeoff. Paid for some tokens, unlocked couple of my pricy senior-level hours to do other stuff. It balances. Subsidising Scam Altman and his ilk is a money well spent from this perspective.
We are at the point where we offload more work to so-called AI. Those are just tools. You know what more primitive tools we had before? Assemblers. Then compilers. No one writes machine code by hand anymore. Maybe someone despairs because of it, but people commonly writing binaries are more likely to be dead by now.
No one treats high level compilers as fad and stuff kids these days do. It's just a tool, expected to work and dissappering into the background.
There's one important difference. We do not have to pay for the compilers,
thanks to work of the GNU Project last century (gcc) and Apple more recently (llvm/clang).
But at this point we are paying for tokens. I expect that as we
cannot fathom working with any codebase without a compiler now, a LLM-driven
assistant will be required to tackle bigger projects in near future.
To be free, we need to be able to run assistants at reasonable cost. Free is reasonable. Not paying through the nose for electricity is reasonable. We can hope for good quality chinese models to be available for free. We need a free toolkit revolution again. It was GNU Compiler Collection for the previous generation. Would it be Kimi now?
And we need the proprietary AI bubble to pop and rationality to return.
066/100 of #100DaysToOffload
Way back in September I apologized for the gap since my last update. I am, once again, sorry it’s been so long since I posted an update. I recently presented at talk at Flock 2026 - if you prefer consuming updates via video where live demos fail, you can find that on YouTube.
This post is something of a summary of that talk, but the short version is Siguldry has all the features Sigul has, plus some. That means we can start deploying it in the coming weeks.
In the last post, I noted I had implemented server-side support for PGP signing. That’s gone now, I’m pleased to say, because I came across a much neater approach. I implemented a small PKCS#11 module inventively called siguldry-pkcs11.
I can’t take credit for any of the ideas I’m about to describe, since I stole them from multiple other projects. Our friends over in Flatcar have to sign things as well, and they use a key stored in Azure Key Vault. The way they use it is that they implemented a minimal PKCS#11 module. That was my primary inspiration, but I also recently spent some time building a drop-in replacement for pesign-daemon and the idea of exposing the signing interface over a Unix socket that can be mounted into isolated build environments was another concept I borrowed.
For those who aren’t familiar, PKCS#11 is a standard that is made up of a C interface. To implement it, you create a shared object file with a few well-known C functions used to discover your implementations of the interface. Users load your shared library, call a well-known function to get a table of functions where you provide your implementations for the various features. What’s nice about this is that common libraries like OpenSSL can speak to PKCS#11 modules, so you can make any tool that uses those common cryptography libraries use your implementations.
PKCS#11 is a fairly broad specification that covers not just signing, but also encryption/decryption, digest calculation, random number generation, and key management (creating, modifying, deleting, etc). What I realized while poking around Flatcar’s implementation is that you actually don’t need to implement everything. You can, instead, stub out all the functions you don’t want to implement and have them return the handy “function not supported” error code. The list of functions I opted to not support is extensive.
In fact, all I implemented was the functions to authenticate, list keys, and sign. However, that’s enough to make it possible to use the Siguldry server with tools including (but definitely not limited to): rpmsign, ostree gpg-sign, cosign (if built with PKCS#11 support), gpg2 (with the gnupg-pkcs11-scd service), sq (once it merges its PKCS#11 support), systemd-measure, systemd-sbsign, pesign, and perhaps most humorously, ssh. All these tools know how to speak to PKCS#11 modules so they “just work” with Siguldry. Any new tool people make will also likely just work.
One thing that’s neat about this approach is that we sit between the tool requesting the signature and the signing server. This means we can hash the content client-side and requests to the server are very small: just a hash, the algorithm used for the hash, and the key name. No more sending a 4GiB ISO over the network only to have the server hash it, that all is done before the request starts.
The last thing that’s really cool about this approach is that if Fedora decides it needs a new signing server and spends some big bucks on a fancy hardware security module, it will definitely ship with a PKCS#11 module of its own so we can start using it with our existing tooling, no development required. If Siguldry stops being the right choice for Fedora, it’s really easy to swap it out.
The other thing I did was to implement a Siguldry client that binds a Unix socket and proxies requests from the local system to the remote Siguldry server. I did this because you can expose the socket into locked down environments, such as RPM build environments, install the PKCS#11 module into that environment, and sign things. Right now Fedora uses this general approach for SecureBoot, except it’s specific to the pesign utility. While I’d prefer to disconnect the signing event from the building of a package, it’s important to support the current workflows and this was a neat way to do that which is generic across signing tools.
It has another advantage. Since the Unix socket is set up using a systemd socket unit, we can sandbox the client proxy, and also configure it with the necessary credentials to connect to the Siguldry server and unlock signing keys. This lets you, if necessary, allow anyone to sign content without needing to manage secrets themselves. The secrets can be encrypted with systemd-creds and bound to hardware. All we have to do is ensure the keys that are configured that way get a special flag when queried via PKCS#11: the “protected authentication path” flag.
The primary way Fedora uses its signing server is via an AMQP consumer that automatically signs things. Robosignatory is the current tool used, but it needs some significant changes to work with this new workflow. In particular, we don’t want to sign content serially, but the fedora-messaging Python library commonly used to interact with the AMQP broker doesn’t handle concurrency well. And, since we now call out to the particular tool used to sign content rather than sending it to the server, the consumer is primarily a mapping between message topics and those various tools.
All those reasons led me to re-implement it, and since I’ve got no imagination with names, it’s called siguldry-fedora-autopen. It uses the lapin AMQP client with Tokio to manage hundreds or thousands of RPMs/ISOs/containers/etc signing operations at the same time. This means builds should no longer languish in the signing queue for many hours.
All this probably (hopefully) sounds great, but as with all things there are a few problems. Well, really just one big problem. Back in the Fedora 37 days, we enabled IMA signing for RPMs. The short version of how that works is that each file inside an RPM gets signed. And, unfortunately, the PKCS#11 interface is synchronous. This means that rpmsign requests a signature when it creates an OpenPGP signature on the RPM header. It then requests a signature for each file, waiting for each signature request to finish before starting the next one. Now, when the RPM only has dozens or a couple hundred files that happens fairly quickly. A signature might only take a couple milliseconds and the request/response latency might be a couple dozen more milliseconds (or a lot less depending on how close the server is from the client).
Of course, not all RPMs only have a few hundred files. Some have many, many thousand. For these, a simple OpenGPG signature takes less than a second (even if the RPM is, say, 10GiB). The IMA signing can take many minutes, depending on how many files it has. I’ve been running a client locally, with a server in a nearby datacenter, and the largest time I saw for a signing operation was around 40 minutes. This is really unfortunate, but it is important to remember that we can now do thousands of signing operations at the same time, so even when these slow builds are signed, other builds can be serviced in a timely manner.
There’s a couple ways we can make this better, but the “easiest” involve a custom signing implementation that avoids using the PKCS#11 path.
In the next few weeks I’m hopeful we’ll have enough time to sit down and deploy Siguldry to Fedora’s staging environment. I want to really kick the tires and ensure it’s rock solid before we move it to production, but I think it’s reasonable to hope for that in the next couple of months.
While that’s happening, I’m going to add support for ML-DSA signing. That will allow us to produce signatures that are safe in a post-quantum cryptography world. After that, I’ll investigate OpenPGP’s hybrid signature schemes, although given recent developments I wonder if we want to bother with those. I’ll defer to what the professional cryptographers have to say about that.
Sometime in the next few Fedora releases, though, you should expect to see new signature algorithms in use (pending FESCo approval etc etc).
Thoughts, comments, or feedback greatly welcomed on Mastodon
Another wonderfull flock is in the books. This post is likely to be kind of long, and was written a few days after I got back home, so it's likely I forgot some things or misremembered them somehow. If so, it's not intentional.
TLDR version: Another great flock. Lots of good conversations, lots of good talks, good food, good friends. I'd like to give kudos to all the people who put things on. It's not easy planning a large event like this and at least from my perspective everything went very smoothly.
My journey started a few days before flock on Thursday the 11th. I had actually planned to come in a day early to recover from travel, but it turns out there was a meeting scheduled then, so I got to recover in the meeting instead (more on that in a minute).
Two hour drive to portland airport (PDX) turned into about 2.5 due to traffic, but I had planned buffer so it was fine. This time I was taking icelandair via Keflavík (KEF) instead of my usual jump via Amsterdam. The transfer time was quite low (around an hour), but I read that it was easy to transfer there.
The flight was fine, the transfer was a bit fun: They deplaned us out on a tarmack and we had to take a bus to the terminal. That took a while as they wanted the bus fully loaded. Then, they said the customs area was understaffed today and would take longer than normal. So, I rushed as best I could and ended up at my gate only to hear that the next flight was waiting for crew and hadn't boarded yet. :)
The hotel in prague was the same one as last years flock. Last year I had stayed at a nearby hotel, but this year I just stayed at the conference one. I have to say the rooms were nicer there and it was pretty nice to not have to walk over and back a lot.
I got in friday afternoon and took a short nap, then met up with Tomas and Adam for dinner. We picked a nice sounding place nearby and it was a bunch of nice conversation and food.
Saturday I had planned to recover from travel, but instead I went to a face to face meeting we had with a bunch of the Red Hatters that were coming to flock. There wasn't anything secret here, it was mostly just discussing what various groups were working on and how we could all help each other out and get things landed/working.
There was a lot of technical discussion and planning type things along with lots of things that were further discussed at flock.
I was able to chime in on some hardware questions and some cloud resources along with some policy questions.
Saturday evening was the 'sponsors dinner' with a bunch of folks from companies sponsoring flock along with leeds of various parts of the project. Amusingly, it was in the same resturant we were at the previous night! It was all good though. I sat near Jermey Cline, David Duncan and Jef Speleta and we had a bunch of conversations on tons of topics.
The first day this year was workshops, the keynote and other regular talks would be the next day. I can understand why you might want to do things this way as it allows you to get people excited and working on something and then leverage that work for their talk in the later days. On the other hand it means that the workshops had a lot of talk/presentation before being able to get to the actual work part of the workshop.
The first slot I ended up in the 'hallway track' (as I would many times in the coming days). Talked to too many people to even list. :)
Next I went to the forgejo workshop. It was fine and there were a few questions, but either everyone had burned out their discussions on it, or the folks with those questions/discussions weren't there as it seemed to go very quietly. I think lots of contributors are getting used to forge.fedoraproject.org now and can imgaine how a migrated src.fedoraproject.org might look.
Lunch was up next. This year the mentor summit was doing a 'lunch and learn' thing each day, and I went each day. I sat at the 'operations' table on Sunday and had a great conversation with several new to fedora folks. We talked about matrix a fair bit and software we all use.
After lunch I went to the Fedora Data & Analytics Workshop with Justin and Michael. I think things were pretty interesting, but we spent a lot of time getting everyone up to speed on the background and only had a short time at the end to work on workshoppy things. Still, very interesting stuff here. We have lots of data, but we dont really analize it very much, and I am hopefull this system will allow us to do so! Right after this workshop I got pulled into a hallway track discussion and didn't get a chance to say Hi to Michael in person. :(
After that was more hallway discussions and then our team had a team dinner. Always great to see people I work with day to day over the internet in person. Some of us then rushed back from dinner for...
The flock 2026 candy swap. This year was even bigger I think that last year. We barely fit in the bar where this was happening. Tons of good stuff, lots of good stories. A few people said to me "Do you do this every year? Wow, this is great! I would have brought something if I knew". After the swap, beers in the bar and I managed to have a nice discussion on Books with MattH and Aoife along with some music discussions with many others.
Monday started out with the keynote state of Fedora from Jef. There was even a nice bit of stats out of the data workshop that was interesting.
Then up in the same room was the Council round table, followed by the FESCo one. Interestingly, the Council didn't get any AI related questions, but FESCo did. Do watch those recordings if you are interested in any of those questions/answers.
There was a talk on hummingbird after that, which was great. I'm excited to see hummingbird and to see what it's going to grow into.
Mentor summit lunch and learn monday was the 'infrastructure' table for me. We had folks from Azure linux and Amazon linux (both now based on Fedora) asking a bunch of infrastructure questions. I also asked them a bunch about their infrastructure too. It was very encouraging this year to not only see groups like this at flock, but asking how they can be more involved and help Fedora out and thus help themselves as downstreams. I'm really hopefull we can help each other and all end up better for it. This was probibly the most encouraging thing I saw at flock this year. :)
After lunch I went to Lenkas Forgejo runners on fedora forge talk. This was largely stuff I knew about, but it was great to see all in one place. There were some nice questions. We are definitely seeing some good use from these runners and it's good to see work on them continue.
I had a bunch of hallway conversations after that, then off to...
Post-quantum cryptography for Fedora infrastructure with Alexander and Jakob. The timelines here are really scary to me. There's a lot thats just starting to land now, but the dates for moving things are coming up super fast. I hope it will all work out, but it's a lot of things and a lot of work. :(
Dinner Monday was the flock reception. It was in a nearby outdoor food court, which I had actually had lunch at last year. It was a nice setup, they blocked off a large area of tables for us and gave us vouchers to get a meal at any of the... many food places. They also brought us all a bunch of free appitizers to the point where it almost wasn't worth getting a real meal. :) Had a lot of conversations on a lot of topics here. I managed to find Michael Winters and we started to talk, but then they called the group photo and we were seperated, then after that we both got pulled into other conversations. (This was a theme)
A group of us then went to a belgian beer place and stayed talking until the wee hours.
The last day already!
I started with the "RHEL11 and what it means for you" talk. Nice to see dates listed there and an attempt to get fedora things landed in time for RHEL11.
Next up was the state of the fedora kernel from Justin. Nothing too much that I didn't know, but was good to clarify things and hear questions from folks.
In the next slot I really wanted to go to Kashyap's riscv talk, but unfortunately that was when _my_ talk was scheduled also. ;( So, I gave my talk about scrapers. It was a pretty nice crowd, and there were lots of good questions from people. I did have AV problems however, they were unable to capture from the projector for the live stream, so they could only use the camera to capture it. I have no idea why that was happening. Somehow also, I wasn't able to read my notes while giving the talk, so I missed saying a few things I meant to mention. Things like: "robots.txt was orig called RobotsNotWanted.txt", and asking if anyone remembered the /. effect. ;) Overall I think it went well.
After a bit of hallway conversation, next up with the talk about Microsoft contributions to Fedora. It's great for this work to get highlighted. I am very happy with all the work Jeremy has been doing on our signing infrastructure, along with all the other places they contribute.
I then went to the "Upgrading Fedora Infrastructure from Nagios to Zabbix" talk. This was given by Michal, because Greg was unable to attend. He did a fine job going over things, and Greg was in the matrix room for the talk answering questions. I'm super happy about this finally getting over the finish line (at least the initial one) I think we are in a much better place.
Last day of Mentor summit lunch and learn I sat at the Release Engineering table. We had a mix of folks this time. Some Amazon linux folks, someone asking how to get involved that was just starting out, and someone who was involved in server/docs. We had a pretty wide ranging conversation.
After lunch were the lightning talks. There were a bunch of them, and I was amazed at how many folks had slides. I guess they were ready to talk about their thing at a minutes notice. Lots of interesting stuff in there. Worth a video re-watch.
Finally, the last session of the conference: The Fedora’s Contributor Recognition Program. I won this award last year, and was involved a small amount with choosing winners this year. All the proposed candidates were great! Fedora is nothing without it's contibutors and the folks awarded were all super well deserving folks. Make sure you say 'thanks' to those who help you.
With the conference officially over, I was very tired, so I went to take a nap. Michael Winters was down in the bar, and I said I would try and meet up after I got up. So, after my nap I wandered down and... I swear I saw him walking off to dinner with a group of folks. Missed again. (I'm not avoiding you Michael! Honest!)
I ended up at dinner with a small group and we actually talked non computer nerd things ( music, podcasts, and even politics ).
The next day was the travel home. Due to timezones I would leave the Prague airport at 2pm and get into portland at like 5:30pm. (it is NOT 3.5 hours of flights).
I again had fun with the transfer in iceland. Our plane from Pague was a few minutes late, then we needed to take the bus to the terminal, then passport control was even more backed up than it was last time. I finally got to my gate and their was an attendet there who asked me my name. I then took a bus with only 3 other people on it to the plane. They held it for us, but I made it.
The rest of the trip back was uneventfull, but will take a while to recover. Luckily, there's a holiday this friday so I do have a 3 day weekend.
Overall I think things went super nicely and smoothly, but:
The weird AV issues for my talk. It's likely something off about my aarch64 laptop. So, perhaps I should take a boring x86_64 one next time. Or spend some time poking at it before time for my talk.
There were a lot of folks that I usually look forward to talking with in person that were not able to make it this time. Due to various reasons, but it was sad to not see them. You all know who you are, you were missed.
There were a ton of hallway conversations, and I am sure I don't remember most of them but the few I do:
Alexander showed me a new rust based IDP setup he has been working on. Super cool looking and very on point for Fedora.
There was a number of AI conversations, but more of the 'what do you think is going to happen when the bubble bursts' than anything else. There was a foundations whiteboard where people could add things around the 4 foundations and under friends was "more people, less AI".
Lots of good talks with Amazon Linux and Azure Linux folks. I hope to see them chime in on matrix with questions/comments/contributions.
Jeremy and I had a number of talks about the new signing stuff.
Nice to see Toshio again and talk with him on lots of things.
Had some good talks about 2fa and otp and such with Gotmax23.
A conversation I had a number of times was "where should we do flock next year?". There were a lot of ideas, no telling what will win out. We might not do too badly to just do it in Prague again, IMHO.
As always, comment on the fediverse: https://fosstodon.org/@nirik/116784039502240226
RH/entrevistador: “Qual sua pretensão salarial?”
Candidato/entrevistado: “Qual é o seu orçamento/valor aprovado/budget para a vaga?”
É assim que a entrevista deve transcorrer, a partir do número da empresa. Se há uma vaga, há um orçamento aprovado para ela.
Se o candidato fala sua pretensão às cegas, sempre sai perdendo. Se a pretensão for baixa, é só isso que vai receber. Se for muito alta, será eliminado, muitas vezes sem nem saber o motivo.
É o candidato que deve optar por continuar ou não o processo após ouvir o valor aprovado da empresa para a vaga.
O candidato controlar o valor do salário na entrevista pode lhe garantir uns bons 20% a mais de valor inicial. Se o entrevistador controlar, será os mesmos 20%, só que para menos.
É claro que nem todo candidato:
Um “caçador de cabeças” (head hunter) entra na primeira entrevista de um candidato com exatos 2 objetivos: 1️⃣ checar se há bom casamento financeiro entre o candidato e o valor aprovado para a vaga e 2️⃣ captar se o candidato, de uma forma geral e difusa, tem a ver com a empresa e a função da vaga. Este último pode ser previamente sondado pelo perfil publicado da pessoa e será aprofundado mais adiante no processo. Então comprovar compatibilidade financeira é o objetivo mais importante da primeira entrevista. E, por incrível que pareça, isso pode ser resolvido nos primeiros 6 minutos de entrevista, ou no chat antes de qualquer encontro.
Pense: por que o candidato tem que ter um número e revelar, mas o recrutador não? Se há uma vaga, há um orçamento aprovado para ela. E é o candidato que deve decidir se aquilo atende suas expectativas. Não o contrário.
Reescrito a partir de comentários que deixei numa publicação do Márcio Gonçalves no LinkedIn.
Release Candidate versions are available in the testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for parallel installation, the perfect solution for such tests, and as base packages.
RPMs of PHP version 8.5.8RC1 are available
RPMs of PHP version 8.4.23RC1 are available
ℹ️ The packages are available for x86_64 and aarch64.
ℹ️ PHP version 8.3 is now in security mode only, so no more RC will be released.
ℹ️ Installation: follow the wizard instructions.
ℹ️ Announcements:
Parallel installation of version 8.5 as Software Collection:
yum --enablerepo=remi-test install php85
Parallel installation of version 8.4 as Software Collection:
yum --enablerepo=remi-test install php84
Update of system version 8.5:
dnf module switch-to php:remi-8.5 dnf --enablerepo=remi-modular-test update php\*
Update of system version 8.4:
dnf module switch-to php:remi-8.4 dnf --enablerepo=remi-modular-test update php\*
ℹ️ Notice:
Software Collections (php84, php85)
Base packages (php)
This week was weird. Something happened to my RSS reader. Anyway … still some good stuff — the interview with Kelsey Hightower, and the piece on how Meta is messing up its culture.
Why is Meta destroying its engineering organization? - sign of maturity :-)
You attended the 2026 iteration of DevConf.cz, a yearly open source conference in Czechia!
Across the project, the dominant focus was on preparing for the upcoming Fedora 45 release. This involved FESCo debating significant Change Proposals like a system-wide libxml2 update and a new GRUB package for Confidential Computing, while the Quality and ELN teams were busy testing and integrating major updates like Python 3.15 and preparing for OpenSSL 4. A key strategic initiative discussed by the Council and Atomic groups is the plan to use Konflux to build and ship bootc base images for the F45 cycle. Another common theme was the upcoming Flock conference, which impacted meeting attendance and served as a central point for planning, presentations, and resolving blockers. Concurrently, several groups were managing infrastructure changes, including the completed migration from Nagios to Zabbix and the ongoing move of repositories from Pagure to Fedora Forge.
The F44 election cycle has concluded, with results announced for the Fedora Council, FESCo, Mindshare, and EPEL Steering Committee. This followed a final reminder to vote earlier in the week. In the lead-up to Flock 2026, the "#Commit History" campaign continued to highlight contributor stories, featuring interviews with speakers Jaroslav Reznik, Jona Azizaj, Justin Wheeler, and Peter Boy. The campaign also encouraged community members to share their own first commit stories, and an election-period interview with Council candidate Tomáš Hrčka was also published.
On the technical front, two change proposals for Fedora 45 were announced: a system-wide update to libxml2 that will require a mass rebuild, and the creation of a minimal GRUB EFI package for Confidential Computing. An important announcement explained the upcoming Microsoft Secure Boot certificate expiration, assuring users that Fedora is prepared and there is no need to panic. For testers and developers, non-official Fedora 44 RISC-V images are now available, and a new guide details how to onboard a Forgejo-hosted project to Fedora Konflux for CI/CD.
This week, the Council's activity centered on the "Atomic This Week - 2026-06-09" update, which summarized the progress of the Atomic Initiative (formerly the bootc initiative). Key discussions focused on the plan to use Konflux for building and shipping the Fedora bootc base image, targeting the Fedora 45 release. The main blocker identified is securing approval from Fedora releng for a managed namespace, a topic to be discussed in person at Flock. The group also addressed the need for a clearer governance structure and contribution ladder to improve contributor access to Konflux. For the initiative's long-term future, the consensus is to create a new, permanent "Atomic SIG" dedicated to bootc base images, rather than merging with the Atomic Desktops SIG. Interested contributors are invited to join the #bootc:fedoraproject.org Matrix channel to participate.
Learn more about the Council team.
Several new Change Proposals for Fedora 45 were introduced and discussed this week. A proposal to update libxml2 to version 2.15.3 was submitted, which is notable as it includes an ABI change requiring a system-wide mass rebuild and deprecates the python3-libxml2 subpackage. Maintainers of packages using the old Python bindings are encouraged to migrate to alternatives. Another new proposal aims to create a minimal GRUP EFI package specifically for Confidential Computing environments to boot Unified Kernel Images (UKIs). This proposal generated significant debate, with many contributors questioning the decision to create a new GRUB variant instead of using the existing systemd-boot, and challenging the rationale provided for its rejection.
In other news, the long-running Protobuf 5.x/6.x update was reported as complete and is now available in Rawhide. For those interested in testing upcoming changes, the NodeJS metapackage change is now available in a COPR for preliminary testing. Finally, the proposals for Erlang 27 and RPM 6.1 were formally submitted to FESCo for voting.
Learn more about the FESCo team.
During their weekly meeting, the Packaging Committee approved a change to make the Web bundling guidelines consistent with a prior FESCo decision (PR#1539), although they plan to revisit that underlying decision in a separate ticket. A significant open-floor discussion revolved around the process for packaging new cryptographic libraries, where a packager has been unable to get a required public response from the crypto team for over a year. The current plan is to escalate this to FESCo after the Flock conference if it remains unresolved. The committee also debated a proposal for using file triggers to generate shell completions but postponed a decision due to concerns about its compatibility with immutable systems (like rpm-ostree) and containers.
Learn more about the Packaging Committee team.
In the final Mindshare meeting of the current term, the committee focused on transitioning responsibilities and a major new proposal. Discussions covered the off-boarding process for the appointed representatives from CommOps and Marketing, highlighting an opportunity for new contributors to step into these roles. The primary topic was an experimental initiative proposed by the Fedora Council to use Open Collective for community fundraising to support event travel, starting with BalCCon. This aims to create a more agile reimbursement process outside of Red Hat's corporate systems. The committee showed broad support for the experiment, emphasizing the need for careful messaging to avoid misperceptions about Red Hat's funding commitment.
A significant forum discussion this week centered on a contributor's frustration with a non-responsive package maintainer, which sparked a broader conversation about the contributor experience. The thread highlighted the challenges volunteers face and the negative impact that a lack of feedback can have on contributor retention, a key area of concern for the Mindshare committee.
Learn more about the Mindshare team.
The Workstation Working Group held its bi-weekly meeting, covering several topics. Discussions included a proposal to drop Libcanberra and move sound handling into GNOME Shell, the use of AI for static analysis and duplicate bug detection, and the potential replacement of the Seahorse password manager with a more modern application like Key Rack. On the forums, a call was made for Fedora GNOME users to test a new open-source AI usage tracker called OpenUsage Community, providing an opportunity for community involvement. The ongoing conversation about a potential Fedora edition for NVIDIA's RTX Spark AI hardware also continued.
Learn more about the Workstation / GNOME team.
This week, the KDE SIG prepared for the final release of Plasma 6.7.0. The COPR repository for the Plasma 6.7 beta was decommissioned as the testing phase concluded ahead of the official release. This marks a key milestone for users and testers looking forward to the new stable version.
A discussion was also started regarding a user experience issue in KDE Discover, where the interface provides no progress indication during immediate updates, unlike the behavior for offline updates. The user was advised to report this feedback upstream to the KDE community, presenting an opportunity for contributors to engage with developers to improve the software.
Learn more about the KDE team.
This week, the Infrastructure team announced two major milestones. First, the long-running migration from Nagios to Zabbix for monitoring is now complete, and Nagios has been shut down. The focus now shifts to refining the new Zabbix checks, reducing alert noise, and onboarding other teams to consume their own monitoring data. You can read the full announcement here. Second, Akashdeep Dhar and Lenka Segura were welcomed into the sysadmin-main group, granting them root access in recognition of their extensive contributions. The announcement and congratulations can be found on the discussion forum and the mailing list.
With several team members traveling for the Flock conference, availability may be reduced. During the week's meetings, the team triaged tickets related to dead mirror links and crypto spam, and discussed ongoing work to protect repositories against malicious pull requests. The monthly AWS usage report prompted a discussion about cleaning up unused QA instances to reduce costs. A new contributor was welcomed during the weekly meeting, and opportunities for community involvement include helping with open tickets and collaborating on the new Zabbix monitoring system.
noc01 and noc02 were stopped.sysadmin-main group, which has root access to the infrastructure.Learn more about the Infrastructure team.
The Quality team's weekly meeting focused on the status of Fedora 45, particularly the recent landing of two major Changes: kmscon consoles and Python 3.15. These have introduced some known issues, such as broken kickstart installs and console problems on IoT and CoreOS, which require attention from testers. A call was made for a volunteer to organize Test Days for the F45 cycle, and the next kernel test week is expected in about three weeks. On the mailing list, a plan was proposed to simplify CI infrastructure by discontinuing legacy .ci. messages.
On the forums, a new version of the community-driven DNF UI tool was released, now using the official dnf5daemon for transactions. A significant discussion was sparked by a contributor asking "Is it worth contributing to the Fedora Project?" due to an unresponsive maintainer. This led to a broader conversation about the challenges of a volunteer-driven project and the processes for handling such issues. The team also welcomed a new potential contributor, Ephraim Kaov, who requested to join the QA group.
Learn more about the Quality team.
The Design team's meeting this week was centered on preparations for the upcoming Flock conference. The team discussed progress on the presentation slideshow, beta wallpaper, and livestream splash screen. They also reviewed high-quality promotional videos from a new contributor, ProducerRob. Other key topics included the design for the Flock party badge, where they considered reusing existing assets, and a discussion on the Datagrepper icon, weighing the use of pre-made SVGs against custom designs to ensure recognizability at small sizes.
Learn more about the Design team.
The Internationalization team held its weekly meeting to discuss upcoming Fedora 45 changes. The team is considering postponing the variable fonts change for fonts-rpm-macros and is planning a new change to package upstream LibreOffice dictionaries as alternatives to the current Fedora hunspell dictionaries. On the mailing list, there was a call for Kurdish speakers to help correctly identify and tag existing translations that use the generic "ku" language code. The team also welcomed back a returning contributor, Javier Blanco, who will be assisting with Spanish translations.
Learn more about the Internationalization team.
This week, the COPR team published the release notes for the copr-backend server update that was performed during a planned outage on June 2nd. The announcement provides details and context for users and contributors about the changes implemented.
Learn more about the COPR team.
During the weekly EPEL meeting, the main topic was repository lifecycle management. The steering committee discussed the timing of minor version retirement and decided to maintain the current policy, closing the related issue. The practical effects of this policy were highlighted in a mailing list thread concerning the recent retirement of EPEL 10.1, where users were reminded that EOL content is available from the archive mirrors. For packagers, a forum discussion clarified that requests for new branches should still be filed against pagure.io instead of the new Fedora Forge instance.
In other news, a final notice was sent to the epel-announce and epel-devel mailing lists regarding the impending retirement of python-django3 from EPEL 8 and 9. The package is end-of-life and has unpatched security vulnerabilities, and since no one has volunteered to maintain it, it and its dependents will likely be retired. The committee also agreed to find a new time for its weekly meetings to improve attendance.
Learn more about the EPEL team.
This week's ELN meeting covered several major upcoming changes and ongoing work. The Python 3.15 update has largely landed in ELN, a significant milestone as this is the version RHEL 11 will branch with. Preparations are also underway for the migration to OpenSSL 4, which is planned for next week in Rawhide and will subsequently land in ELN. Most of the ELN package set has been tested against the new version, and a compatibility package for OpenSSL 3 will be provided to ease the transition. Other discussions included resolving a packaging dependency issue for bootc images, following up on the Hyperscale kernel configuration problem with a new contact in the Red Hat kernel team, and the upcoming migration of the ELNBuildSync service to Fedora Infrastructure hosting.
Learn more about the ELN team.
The Atomic group's weekly meeting focused on the proposal to use Konflux for building and shipping the bootc base image, with the goal of having this in production for the Fedora 45 release. The main challenge identified is convincing Fedora Release Engineering to support the required managed namespace for signing and pushing artifacts. This topic will be a key discussion point at the upcoming Flock conference, where a presentation is being prepared. The group also discussed improving contributor access to Konflux and the long-term governance of the initiative's work, which will likely involve creating a new SIG to maintain the base images after the initiative concludes post-F45.
In the forums, user support discussions continued. One thread saw a user ask for updates on a Konsole TTY error on F44, suspecting an issue with Flatpak integration. Another conversation clarified why a locally installed RPM for Proton VPN on Silverblue is not updated via the Software Center and must be managed manually with rpm-ostree.
During the Atomic meeting, the group formally agreed on the following points regarding the move to Konflux:
bootc base image.Learn more about the Atomic team.
In this week's CoreOS meeting, the team reviewed the Fedora 45 release schedule and confirmed that no immediate actions are required. The open floor session included a technical discussion about the boot-time flow of base.platform.d entries and the ignition-fetch.service, prompted by an Afterburn pull request. Another key topic was the status of a proposal to integrate Butane functionality directly into Ignition, as tracked in issue #2006, with the goal of targeting it for the Fedora 45 release. The team also noted which members will be attending the upcoming Flock conference.
spresti will investigate the operational ordering related to the Afterburn pull request.spresti will update issue #2006 with previous feedback and follow up with dustymabe regarding the proposal to integrate Butane into Ignition for Fedora 45.Learn more about the CoreOS team.
During the weekly IoT meeting, the main topics were the upcoming migration from Pagure to Fedora Forge and the status of release testing. The team is preparing for the repository migration, which is considered urgent as Pagure's decommissioning is imminent. Regarding release engineering, a refresh of the Fedora 44 images is planned but is currently blocked waiting for an update to image-builder. A critical issue was discussed for Fedora 45 (Rawhide), where all OpenQA tests are failing across all architectures. This bug is a key focus for the team, and contributors are encouraged to help investigate the problem.
Learn more about the IoT team.
In the weekly Alternative Images meeting, discussion focused on RISC-V progress and the migration from Pagure.io to GitLab. The final recompile of CentOS Stream 10 for RISC-V is nearly complete after resolving a %dist tag conflict by changing it to .el10rv. The team hopes to begin building the RISC-V images next week, aided by configurations provided by the RHEL team. This progress is significant for the broader community interested in RISC-V on CentOS.
The migration of key repositories to GitLab is complete as Pagure.io is being decommissioned. While internal documentation has been updated, there is an opportunity for contributors to help by updating the public docs.centos.org website to reflect these changes, as tracked in this work item. This ensures that contributors are not disrupted by the platform change and can easily find the new repository locations.
kiwi-descriptions, sig, spin-bugs, and anaconda-liveinst.Learn more about the Alternative Images team.
The Cloud SIG held its weekly meeting and discussed the recent successful migration of the cloud-sig to forge.fp.o. Thanks were given to the contributors who made this transition possible. The primary focus of the meeting was planning for the upcoming Flock conference.
A significant portion of the discussion was dedicated to organizing a Cloud-SIG meetup at Flock. This provides a key opportunity for contributors to connect in person. The group brainstormed several important topics for this meetup, including a strategy for handling image customizations, creating a formal release checklist, developing a 3-year strategic plan, and exploring the creation of a dedicated AI/ML cloud image.
Learn more about the Cloud team.
This week, the AI & ML group's activity focused on the ongoing effort to figure out NPU support in Fedora for the F43 release. A significant step forward was shared by Alessandro Lattao, who posted a link to a working COPR for FastFlowLM. This project enables running Large Language Models (LLMs) on AMD Ryzen AI NPUs. This provides a concrete opportunity for contributors to get involved by testing the new packages and helping to advance NPU enablement within the distribution.
Learn more about the AI & ML team.
This week, the RISC-V group announced the availability of non-official Fedora 44 images for community testing. These images feature a new "Omni" kernel variant intended to support a broader range of hardware. During the weekly meeting, the team noted that while the package delta for F44 is minimal, some boot issues have been reported. Work has now begun on Fedora 45, with the immediate priority being the integration of Python 3.15. Hardware updates included the addition of a Spacemit K3 board to the Koji build system. A decision was also made to establish a new SCM structure for RISC-V specific packages.
forge.fedoraproject.org. The repository structure will be /riscv/packagename (e.g., /riscv/gcc), forking from the main /rpms/ repositories.Learn more about the RISC-V team.
The Security SIG held a brief meeting this week, with low attendance as many contributors were traveling to the Flock conference. The group reviewed the open tickets in the main Security Forge and the Security Docs Forge, and contributors are encouraged to vote on ticket #8. A discussion arose about the meeting's weekly frequency, with suggestions to either move to a bi-weekly schedule or cancel meetings when there are no topics. This will be discussed further in a future meeting when more members are present.
Learn more about the Security team.
A discussion was initiated on the mailing list regarding a packaging issue where the %{gosource} macro failed for the checkmake package. The macro generated a URL for the source tarball that resulted in a 404 error. The packager found a manual workaround by constructing the URL differently and questioned whether the problem stemmed from the upstream project's release process deviating from the norm. This thread presents an opportunity for Go packaging experts to clarify the expected behavior of the macro and best practices for handling such upstream inconsistencies.
Learn more about the Go team.
This week's activity for the Perl group focused heavily on package maintenance, including version updates and proactive compatibility fixes. Several packages were updated to be compatible with upcoming releases, such as perl-BDB for Perl 5.43.2+, perl-re-engine-RE2 for Perl 5.43.11, and perl-Net-SSLeay for OpenSSL 4.0. Additionally, several modules received version bumps, including perl-HTTP-Daemon, perl-HTTP-Message, and perl-Locale-Codes.
A key ongoing discussion revolves around the large number of orphaned Perl packages resulting from a maintainer's inactivity. A list of packages still needing adoption was circulated, presenting a significant opportunity for contributors to take ownership and help maintain the Perl ecosystem within Fedora.
perl-BDB package was patched to rename a function, avoiding a name collision with the upcoming Perl 5.43.2+.perl-re-engine-RE2 package was adapted to work with Perl 5.43.11.perl-Net-SSLeay to ensure it builds with OpenSSL 4.0.perl-WWW-RobotRules package was updated to fix its build and a dependency on DB_File.perl-HTTP-Daemon was updated to version 6.17, perl-HTTP-Message was updated to version 7.02, and perl-Locale-Codes was updated to version 3.90.Learn more about the Perl team.
RepoURL tag in RPM was rejected in favor of using the existing VCS tag. An example was shared from the Hummingbird project, where for packages without a traditional upstream, the VCS field points to the package's location in Fedora's infrastructure.dlopen(), allowing binaries to adapt their functionality based on which libraries are installed.libgit2_1.8 package in Rawhide, with further changes and rebuilds planned for after Flock.kevtt) introduced himself as a newcomer looking to get involved with the Join SIG, testing, and documentation to learn more about Linux and the community.henrymmey), a teenager from Germany, introduced himself with an interest in infrastructure, systems management, and Linux development, and is seeking guidance on where to contribute.fmt and the dependent spdlog package in about two weeks.spec-version-maven-plugin and jakarta-json as they are no longer required by antlr4-project. He noted that spec-version-maven-plugin is still a dependency for other packages and will need a new maintainer.xterm-console before quickly re-adopting it after realizing it was still needed.wavemon. After encouragement to become the maintainer, Iñaki Ucar stepped in to formally adopt the package and start the un-retirement process, as Viktor was not yet a packager.Lately, it seems the industry is aggressively pushing immutable, image-based operating systems for the desktop. Shipping a cryptographically sealed, read-only root filesystem sounds super fancy and elegant on paper, but in reality, it's a solution looking for a problem, unless you're running a smart fridge or a corporate kiosk.
Let me be perfectly clear: immutable systems are the correct choice for single-purpose appliances, point-of-sale terminals, and sealed server nodes. If your hardware only needs to run a fixed set of remote directives without any user intervention, then yes, a mutable root filesystem is just begging for trouble.
But trying to force this architecture onto a general-purpose desktop? That is a spectacular regression. It wraps the user in a straitjacket, offloads system complexity onto you, and strips away ownership, performance, and actual security in the process.
Here is the engineering reality of why the immutable desktop fails the general user.
In a traditional mutable distribution (like Fedora or Debian), the supply chain is centralized. A dedicated, paranoid security team audits and patches the core repositories. Immutable desktops, however, force you to rely on containerized app stores (Flatpak or Snap). This shifts your trust from a central team to thousands of random, unvetted package maintainers. If a developer gets tired of maintaining a popular app and a malicious actor takes over the namespace, they can silently push a credential stealer directly to your machine. It gets delivered instantly via background updates, completely bypassing distribution-level QA.
Furthermore, standardizing the exact same OS image across millions of installations creates a beautiful, uniform monoculture. If a zero-day is found in that specific image, every single user on Earth gets compromised by the exact same payload. Congratulations! On a mutable system, your messy "state drift" (different library versions, weird compiler flags, custom packages) acts as a natural defense system, frequently causing exploit payloads to crash and burn. Diversity is security, compa! ;)
A security disaster doesn't require active malice; simple developer laziness works just as well. If a developer using Flatpak to distribute an app bundles an outdated version of libwebp or openssl in their container and forgets about it, that vulnerability is now permanently camped out on your system. Because your host OS is read-only, your central package manager is completely powerless to patch it.
While common base libraries might get updated in shared runtimes, modern desktop software is dominated by Electron, Node, Python, and Rust. These apps bundle their own massive piles of NPM packages, Cargo crates, and entire copies of Chromium inside their container. When a critical vulnerability drops in one of these nested dependencies, your shared runtime does absolutely nothing to save you. You are completely at the mercy of the upstream developer rebuilding their app. Until they do, you are left running a collection of isolated zero-day vulnerabilities while basking in a false sense of security. Sweet dreams!
Advocates love to claim containerized apps protect you via sandboxing. This is, plain and simple, an architectural lie. To make complex applications actually work, maintainers routinely ship containers with massive filesystem overrides (like --filesystem=home). The moment a compromised application updates, it has immediate access to your SSH keys, browser session cookies, and cloud tokens. Securing /usr/bin while leaving /home wide open to unvetted third-party containers is a spectacular failure in threat modeling.
Besides, malware doesn't even need write access to /usr to stick around. It can easily drop a systemd user service (systemd --user) or a simple autostart entry in your home directory. Bam! Permanent persistence achieved without ever needing to touch root. The read-only system partition didn't even notice.
Note
Sure, you can install Flatseal to manually restrict these overrides. But honestly: who has the time to audit permissions for dozens of apps every time they update? Nobody.
Immutability decouples applications from the base system, which completely kills the memory-saving benefits of dynamic linking (shared libraries). Forcing a machine with 4GB or 8GB of RAM to load multiple massive runtimes (like GNOME 45, GNOME 46, and the Freedesktop SDK) into memory simultaneously is a crime against efficiency. The immutable model assumes your RAM and storage are infinite, actively punishing users who aren't running high-end rigs.
Atomic updates sound cool until you realize they require downloading massive OS image deltas alongside gigabytes of duplicated container runtimes. If you are on a metered internet connection, an unstable power grid, or a mechanical hard drive, a simple security patch turns into a multi-gigabyte download and a system-crippling I/O bottleneck. This architecture was clearly designed by developers with gigabit fiber, completely ignoring real-world infrastructure.
When you hit a hardware edge case, like needing a proprietary Wi-Fi driver, compiling a custom DKMS module, or setting up a legacy printer, a mutable root lets you fix it in five minutes. An immutable system tells you to get lost. The root is read-only! Trying to layer kernel modules with tools like rpm-ostree adds massive fragility to the boot process and frequently leaves you rebooting into a broken state.
Warning
STAY AWAY! If your hardware needs out-of-tree drivers, immutable desktops can cause silent failures during kernel updates. Always verify your hardware compatibility unless you like playing Russian roulette with your boot loader.
If you're a developer or sysadmin, get ready for a headache. Running a containerized user space on an immutable host completely breaks standard POSIX troubleshooting. Classic CLI tools like strace, perf, or gdb fail to work cleanly when processes are wrapped in read-only ostree layers and container namespaces. You are forced to jump through hoops; entering specific debug shells or bypassing namespaces, just to do basic system profiling. Talk about unnecessary friction!
The loudest argument for desktop immutability is that traditional package managers break during updates, especially if your power cuts out. But in reality, this is a tiny edge case. Modern mutable package managers handle transactions with incredible reliability. Over-engineering your entire operating system just because someone might forget to plug in their laptop battery is solving a non-existent problem while ruining usability for everyone else.
More importantly, you do not need a read-only root to get atomic updates and boot rollbacks. Distributions like openSUSE (with Btrfs and Snapper) and SerpentOS prove that you can have a fully writable, standard mutable filesystem while enjoying transactional upgrades and snapshot recovery. Immutability is a massive, unnecessary straitjacket that over-engineers a problem already solved by smart snapshotting.
Don't forget that sandboxing frameworks add their own complex code—and therefore, their own security bugs. When the container manager itself gets hit with a CVE (like sandbox escapes allowing arbitrary code execution), your supposedly "secure" environment is instantly compromised. Adding endless layers of abstraction doesn't magically eliminate bugs; it just moves them to a place that's much harder to debug and, guess what? There are potentially millions of systems with your exact same configuration now. The attacker's wet dream!
An operating system should empower you to own your hardware, not treat you like a guest. Immutability demotes the system administrator to a mere consumer of upstream images, stripping away granular, read-write control of the filesystem. For any engineer or developer, this feels like a straightjacket, fundamentally contradicting the core ethos of Free Software and technological sovereignty.
Oh, but my favorite is, by far, "Now ma Grand ma' cannot destroy the installation"... I mean, who gives root to their grandma? Sheesh!
Sure, some immutable desktop defenders will tell you that I'm wrong; that you can easily get around these limitations by spinning up a container, tweaking config files, and rebooting. But do you see the catch? Indirection! You are introducing a Matryoshka doll effect. Now, you have to dig through logs inside the container, correlate them with logs outside the container, and pray nothing breaks when the container is rebuilt. You've just tripled the effort required to debug a simple issue. No thanks!
And honestly: you don't need a locked-down host to run containers. You can run Flatpaks, Podman, and Distrobox on Arch Linux or Debian today, keeping your application lifecycle decoupled from the host OS without surrendering control of your own system binaries.
Look, immutable systems have won the server room and the appliance market, and they deserved to. But until the desktop ecosystem can solve the supply chain, memory bloat, and hardware enablement crises inherent to containerized delivery, forcing a read-only root onto the general public is just academic arrogance over practical engineering. Keep the desktop mutable, keep it open, and keep owning your hardware!
La neta, a veces el internet te da sorpresas chidas. Hace unos días, un compa en la red me ofreció donar dos servidores virtuales para mi proyecto de MxOS. ¡Un parote, la verdad! Pero como en todo, siempre hay un "pero": las únicas opciones de sistema operativo que me ofrecía eran Rocky Linux o AlmaLinux.
Y ahí estuvo el detalle. Para MxOS, tener CentOS Stream 10 es un requerimiento a huevo. Así que, en lugar de ponerle peros a la donación, me puse a investigar cómo cambiar el alma de esos servidores. Al final, encontré el caminito para convertir AlmaLinux 10 a CentOS Stream 10 de volada.
Para no andar haciendo todo a mano y arriesgarme a que algo valiera madres, me armé un script de Bash bien perro. Aquí te comparto el cotorreo de cómo quedó:
Note
¡Mucho ojo con las versiones! Las URLs de los paquetes en el script apuntan a la versión 10.0-23.el10. Como CentOS Stream 10 se actualiza de manera continua, es muy probable que esas versiones ya hayan cambiado en el mirror. Antes de correr el script, échale un ojo a mirror.stream.centos.org para verificar los nombres exactos de los archivos RPM más recientes de centos-gpg-keys, centos-stream-repos y centos-stream-release.
#!/usr/bin/bash
# download almalinux release, repos and gpg-keys rpms
# just in case
dnf download almalinux-{release,repos,gpg-keys}
# install cs10's repos and gpg keys
dnf -y install \
https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-10.0-23.el10.noarch.rpm \
https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-10.0-23.el10.noarch.rpm
# remove the almalinux files
rpm -e --nodeps almalinux-release almalinux-repos almalinux-gpg-keys
# install the cs10 release
dnf -y install \
https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/Packages/centos-stream-release-10.0-23.el10.noarch.rpm
# sync
dnf -y distrosync --allowerasing
# fix SELinux labels
fixfiles onboot
# reboot
reboot
A primera vista parece magia, pero la neta es pura lógica de administración de paquetes de Red Hat. Deja te explico paso a paso qué hace cada comando de esta rola:
Hacer este tipo de migraciones antes daba mello, pero con las herramientas modernas la neta es que es un proceso bastante noble. Aunque la persona que ofreció los servidores se me desapareció y no tengo los servidores todavía, estuvo bueno el reto para aprender a hacer esto si nos vuelven a ofrecer esto para MxOS.
¿Cómo la ves? Si alguna vez te donan servidores y no vienen con tu sabor preferido de Linux, ya te la sabes: ¡todo tiene solución, no?!
Warning
Esto se pudiera complicar si usas repositorios externos o instalas paquetes que no vienen en los repositorios. Es de sabios hacer pruebas primero, carnal.
Earlier this week, curl project lead Daniel Stenberg announced the “curl summer of bliss“. For just over a month, the maintainers will be taking a break. This includes not accepting any vulnerability reports. This is a good thing.
Most open source software relies in part or in total on the work of volunteers. Nothing can cause burnout quite like never getting a break. Even when someone is being paid to maintain software, they still need some time away. Taking time off is an investment in the long-term sustainability of the project.
“But this is bad for security!” you say. Yes, some vulnerabilities may go unaddressed. You get what you pay for sometimes. Stenberg made clear in his post that people with support contracts will still receive their agreed level of service. If the security of the project is important enough to you, there’s something you can do about it. curl has seen a large increase in security reports this year. If a month off buys extra years of maintenance, that seems like a good trade.
It’s easy for open source contributors to get wrapped up in the project. It becomes part of their identity and they sometimes feel like the project couldn’t run without them. In some cases, that’s true. But we’re all still people and we need time to regroup. If you find yourself overwhelmed, you can take a break.
This post’s featured photo by David Lezcano on Unsplash.
The post Taking a break is good appeared first on Duck Alignment Academy.
If you’ve ever needed to install Fedora Linux on a headless server, a Raspberry Pi, or any machine without a monitor attached, you’ve probably reached for VNC or RDP. They work – but as the installer moves to a web-based interface, there’s a new opportunity to do something more native to that model. We’re building it, and we want your input before we go too far down a path that’s hard to reverse.
The Anaconda installer’s Web UI first landed in Fedora Linux 42 Workstation and was extended to all Live spins in Fedora Linux 43. It’s a full graphical installer built on Cockpit tooling and using PatternFly widgets. The GUI is rendered in a fullscreen browser window – but until now, that browser had to be running on the same machine you’re installing onto.
Here’s the thing: VNC and RDP were built around the GTK interface. While RDP could technically work with the Web UI too (it operates at the display level), a remote browser is a much better fit – orders of magnitude less data and much lower UI latency. As the Web UI becomes the primary installer interface across Fedora Linux editions, it needs its own native remote access story.
On top of that, there are two more forces pushing in the same direction.
As browsers move toward Flatpak packaging – already the reality for atomic desktops and derivatives like Bazzite – remote installation opens an opportunity for shipping focused, smaller boot images that don’t need to bundle a local browser at all. A lightweight ISO aimed at headless and network install scenarios, where the assumption is that you’re connecting from another machine.
And once you have a browser-rendered installer, serving it to a remote browser is the natural next step anyway. A headless ARM SBC doesn’t need to run a GPU-accelerated browser locally just to show you a disk partitioning screen. Your laptop can do that for it.
The concept is pretty straightforward: Anaconda’s Web UI, already built on Cockpit, gets served over HTTPS. You point a browser at the machine you’re installing, authenticate with a PIN, and you’re controlling the installation remotely. No VNC client, no RDP client, no X forwarding. Just a browser.
If you’ve used Cockpit to manage a server, you already have a feel for the experience. The difference is that the machine you’re connecting to is mid-install, not running a full OS.
The ones we’ve talked through most:
Headless servers – You’re installing onto a server in a rack with no attached display. You expose the Web UI over the network and control everything from your workstation.
Lightweight ARM SBCs – Devices like Raspberry Pi have limited resources. With remote rendering, the Pi just runs the installer backend; all the UI rendering happens on whatever machine you’re connecting from.
Remote monitoring – Even if you’re not fully headless, being able to watch an installation from another machine is genuinely useful. Kick off a server install, go make coffee, check progress from your laptop.
We’ve had some meaty discussions about how this should work, and a few things are now settled.
Authentication: You set a PIN through kickstart or boot options, and type it into the browser login page. Same pattern as VNC and RDP – the user provides the password, not the system.
TLS with self-signed certificates: The connection is encrypted, but the certificate is generated on the fly at boot. That means your browser will show the “this certificate isn’t trusted” warning. We’ve accepted this tradeoff – shipping a private key on installation media is a security risk, and the IP address isn’t known ahead of time, so standard PKI doesn’t really apply. For environments that need proper certificates (say, a university deploying at scale), Image Builder is likely the right path to embed custom certs. That’s a later problem.
Single connection only: Only one browser session can connect at a time. Two concurrent sessions could genuinely conflict – one session starting installation while another changes the storage configuration. So: one connection, full stop.
Reconnection behavior: If you disconnect and reconnect, what happens depends on where the installation was. Before the review screen – the point of no return – you start from step one. After the review screen (installation actually running), you land on the progress view. Simple two-state model, covers the critical cases.
Config isolation and port: All Cockpit configuration specific to remote installation lives in /etc/anaconda/cockpit/, not the default Cockpit paths – otherwise the config could leak into the installed system. We’re leaning toward port 443 by default so you can just point your browser at the machine’s IP without specifying a port, but the port will also be configurable.
VNC has been around in Anaconda for years; RDP support was added more recently. Both work by screen-sharing the GTK interface. Technically, RDP could work with the Web UI too – it operates at the display level, scraping pixels from the screen. But a remote browser is simply better: you send orders of magnitude less data and get much lower UI latency compared to streaming a full desktop.
Beyond performance, there are practical advantages. No client is required – any modern browser works. No VNC viewer to install, no RDP client to configure, no protocol quirks across platforms. And it’s the same Web UI we’re already actively developing, so features and fixes automatically benefit the remote experience. With VNC or RDP, you’re screen-sharing a separate GTK codebase – a separate maintenance burden.
VNC and RDP aren’t going away for now – they still work with the GTK legacy interface. But as the Web UI becomes the default across more Fedora Linux editions, browser-based remote access is where the investment goes.
This is a developer preview. Here’s what’s working:
Here’s what’s still open:
If you want to see the PoC in action, there’s a draft PR at rhinstaller/anaconda-webui#1274 with the authentication setup – custom login page, pin-based auth script, socket-activated systemd units, and the Cockpit config override. To try it yourself, clone the PR branch, build an updates image, and boot it with virt-install:
git clone -b poc-remote https://github.com/bruno-fs/anaconda-webui.git cd anaconda-webui make create-updates.img virt-install \ --name anaconda-remote-test \ --ram 4096 \ --vcpus 2 \ --disk size=20 \ --location /path/to/Fedora-Everything-netinst-x86_64-Rawhide.iso \ --extra-arg "inst.updates=http://your-host:port/updates.img" \ --extra-arg "inst.webui.remote"
This is a proof of concept, not production-ready code. The PIN is hardcoded to 1234, there’s no TLS, and single-connection enforcement isn’t in place yet. Don’t use this for real installations – it’s meant to show the direction and let you poke at the approach. Once the installer boots, point a browser at the VM’s IP and enter 1234 on the login page. It’s rough, but it runs.
We’re sharing this now because some of these decisions are hard to unwind once the feature ships, and community input is more useful now than after the fact. A few things we’re genuinely thinking about:
Remote installation is opt-in – you enable it through boot options or kickstart. But here’s a question we’re genuinely considering: should we ship a lightweight boot ISO without a local browser, with remote installation enabled by default? A minimal image aimed at headless and network install scenarios, where the assumption is that you’re connecting from another machine. Would that be useful to you? And if you’re using VNC or RDP for remote installation today, would this replace them? What would it need to do that it doesn’t yet?
Come talk to us on Matrix (#anaconda:fedoraproject.org), or leave a comment on this article. You can also follow the work on the anaconda-webui GitHub repo. We’re looking forward to hearing from you.
This post is tough to write because Flock to Fedora is my favorite conference, and last year’s Flock might have been the best conference I’ve ever been to. I love the Fedora community, Prague is beautiful, the venue is nice, we always have so many interesting talks and workshops, the organizers do an amazing job preparing this event for us, so I feel really guilty saying that I did not have much fun this year. That is 100% on me, though. Flock bears no blame.
It wasn’t exactly the wisest decision ever to run my first half-marathon the very evening before the conference, and then waking up early to commute to Prague. It must have hit me much more than I was willing to admit. I feel fine physically, but I can’t pay attention to anything because nothing feels exciting. That is the most lifeless I’ve felt in a long time.
So, in case anyone is wondering … it was me, not you.
Despite all that, these were the highlights of the event for me.
Great job on the migration from pagure.io to forge.fedoraproject.org. It was handled exceptionally well. Next, we look forward to the migration of src.fedoraproject.org to Forgejo, which can’t come soon enough. Tomáš Hrčka teased us that this migration may take considerably less time than the previous one because they already know how to do things (e.g., deploy Forgejo, etc).
Ellis Low showed us how to run an LLM on our laptops through Llama and how to interact with it. I really appreciated him saying that, except for this one small text-in, text-out magic black box, everything else is standard software engineering as we know it.
Most of the discussion revolved around a decline of new contributors and us failing to connect with the next generation. “They talk about changing wallpaper, we talk about burnout” – Aleksandra Fedorova.
I found Pavel Raiskup’s return to the stage hilarious.
As presentations go, Kevin Fenzi’s talk about AI scrapers was the best. It started with minor A/V dificulities, which is a nice reminder to not feel bad, the next time it happens to you, because it happens to everybody. Even the main infra guy. Semi-joking aside, I enjoyed the brief history of web scraping and Kevin’s taxonomy of scrapers, clearly showing that not all scrapers are the same (e.g., web.archive.org). However, the current AI scrapers are the plague of the internet, and I am so glad the Fedora Infra team fights them as best as they can to keep our services running.
I ran into my former Copr team mate Adam Šamalík in the hallway, and we had a nice chat about life. When we still worked together (10 years ago, oh how the time flies), I randomly asked him what he did on a weekend. “We had no plans, so we bought plane tickets and went on a date to Amsterdam with my girlfriend”. Fucking what?! That was the coolest response ever. Since that day, I remember it every time my creaking, lazy bones struggle to do something spontaneous. Why am I telling it now? Adam is now happily living in the Netherlands full-time. Funny how one impromptu decision can completely change your life.
Made friends with Emmanuel Seyman. He said hello after seeing the Fedora Podcast episode with me as a guest. I really enjoyed our chat, and I am going to follow up online because I think he’ll really like Sundaram Krishnan’s project coprtree.
Miro Hrončok shared some of his ideas about improving the Fedora Package Review Process with me. This deserves an article on its own, so stay tuned.
At the Flock 2026 Birds of a Feather session, poetically named FFFwF (or, for us lazy people, Forging Fedora’s Future with Forgejo), we discussed the current state of our migration effort to the new forge. I asked the obligatory question: Who still has things on pagure.io?!
A few brave contributors raised their hands, some with an uneasy look in their eyes. Miro swiftly pointed out that everybody is affected by one particular repository; looking at you, `fedora-scm-requests`. Luckily, the RelEng folks have it in their sights. Sure, there are a few other repos lying around the old faithful, but it is time for the Fedora Project to move on and embrace the Forge.
Our new home is currently running on the LTS branch in v15.0.2. We are going to stick with it in production, and our next LTS upgrade will be to v19.
Pagure itself as a project is hosted on pagure.io, and that service is going to be decommissioned at the end of July 2026. What does that mean for you? Well, that depends on when you are reading this.
If you just came back from Flock 2026 and you still have active repositories on pagure.io, here is what you need to do:
Some of us have commits in projects that point back to pagure.io. Don’t worry, we are not going to break your links, for foreseeable future. We will explore options for implementing redirects so your historical links successfully point to their current locations.
The best way to handle the transition after your move, right now, is to inform your users about your new home. Add a BIG BOLD ANNOUNCEMENT to your README, close all open issues, and create a single pinned issue with your migration announcement.
Note: Do not expect to be able to log in to pagure.io after July 2026.
Well, that is the next target in the scopes of the Forge team. As I showed you in the room, we have 11 Features that define the transition. The biggest task at hand is a bit more sneaky. We are missing multiple enhancements to the upstream project that will require a lot of coordination and Go code. So, if you find yourself in possession of spare cycles and a particular need to help us make it better and faster, Forgejo is waiting for you!
A road-map with all the tasks for the move will land in the Forge soon. (See resource list below.)
AI Disclaimer: Grammar and formatting were done with the help of robots; all the original brain-farts are my own.
Today, the syslog-ng team released three different syslog-ng versions, which provided a good opportunity to wear my “Release is coming” t-shirt. This coordinated release is due to an SQL injection security bug fix, even if most likely it affects less than a handful of people (I mean, is there anyone who still uses SQL to store logs in 2026…?)

For more details, check the respective release notes. The syslog-ng OSE release notes are available at https://github.com/syslog-ng/syslog-ng/releases/tag/syslog-ng-4.12.0 Release notes for the commercial products should be available soon at https://docs.oneidentity.com

Hi, I’m Aman, a software developer and open-source enthusiast who enjoys backend development, APIs, and building tools that are useful to others.
I recently started my Outreachy internship with the Fedora community, and this is my first blog as an intern. In this post, I want to share what my first two weeks have been like, what I’ve learned so far, and what I’m looking forward to in the next phase of the internship.
I’m working on the Fedora Release Schedule Planner API, a project focused on improving Fedora’s release planning workflow by moving away from older XML-heavy processes and strengthening the current FastAPI-based API through better tests, authentication, and infrastructure integration.
Fedora is a global open-source community behind Fedora Linux and many related projects. People contribute in many areas, including packaging, infrastructure, design, documentation, testing, and release engineering.
One thing I’ve enjoyed learning about Fedora is its Four Foundations: Freedom, Friends, Features, and First. These values reflect Fedora’s focus on free and open-source software, community, innovation, and adopting new technologies early.
What I like about Fedora is that it is not only about writing code. Communication, documentation, reviews, and helping new contributors are also important parts of the community.
Through this internship, I’m also getting a better understanding of Fedora’s release process and how different contributors work together to improve the tools used by the community.
My Outreachy project is Enhancing the Fedora Release Schedule Planner API.
Fedora’s traditional release planning workflow relied heavily on manually edited XML files, which made the process difficult for newcomers, harder to scale, and less connected to modern tooling.
The Fedora Release Schedule Planner API is a modern FastAPI-based project hosted on Codeberg. It has already moved from Flask to a modular FastAPI architecture, uses Pydantic for data validation, provides auto-generated Swagger documentation, and relies on Forgejo Actions for CI/CD testing.
The goal of my internship is to help make this API more production-ready. My work will focus on improving the test suite, strengthening CI reliability, adding secure authentication with OpenID Connect, integrating the API with Fedora infrastructure data, and preparing it for deployment.
I had already started contributing to the Fedora Release Schedule Planner API during the Outreachy contribution period. During that time, I joined the project’s Matrix chat, went through issues and pull requests, and became familiar with the basic project structure.
So, during the first two weeks of the internship, my focus was more on understanding the project in depth. I followed discussions in the Matrix chat, worked through issue and pull request conversations, and learned how mentors and maintainers review changes.
We also have a weekly Google Meet call with the mentors. These calls are helpful for discussing progress, asking questions, and understanding what to focus on next.
Alongside exploring the codebase, I spent time reading Fedora documentation and project-related resources to better understand the release planning workflow.
I also explored the FastAPI codebase, tests, CI setup, and previous pull requests more closely. This helped me understand how tools like Pydantic, Swagger documentation, and Forgejo Actions are being used in the project.
One of my biggest challenges in the first two weeks was understanding the codebase beyond its basic structure. During the contribution period, I had already become familiar with the main parts of the project, but during the internship, I started understanding how different layers work together, including API routes, database models, Pydantic schemas, services, templates, and tests.
Another challenge was making sure my changes did not affect existing behavior. I had to run tests, check formatting, and verify things locally before updating a pull request.
My biggest win was becoming more confident with the project workflow. I was able to work on issues, raise pull requests, respond to review feedback, and understand the expectations around code quality and maintainability.
I also became more comfortable with the tools used in the project, including FastAPI, SQLAlchemy, Pydantic, Jinja2, HTMX, tests, and CI checks.
A small win for me was getting some of my pull requests merged. For example, PR #425 and PR #427 helped me understand the review process better and gave me more confidence while working on the project.
In the next month, I want to continue building on the work from the first few weeks. Currently, we are focusing on fixing UI-related issues, improving the code structure, and aligning the codebase with the project’s expected structure.
Along with that, I want to keep improving the test suite and make sure the API works correctly with the current FastAPI and Pydantic structure.
I also want to start preparing for the authentication part of the project. Since OpenID Connect is an important goal of this internship, I plan to spend time understanding how Fedora authentication works and how it can fit into the Release Schedule Planner API.
After that, I want to gradually learn more about how this API can connect with Fedora infrastructure data. This is important because the long-term goal of the project is to move away from the older XML-based workflow and make the release planning process more modern and maintainable.
These first two weeks have helped me understand the project better. I now have a clearer understanding of the Fedora community, the Release Schedule Planner API, and how people collaborate in open source.
I still have many things to learn, but I feel more comfortable with the project now than I did at the beginning of the internship.
I am thankful to Outreachy, Fedora, and my mentors for this opportunity, and I am looking forward to continuing the work in the coming weeks.
PS: Cover image generated with the help of an AI tool.
The post From Contributor to Outreachy Intern: My Fedora Journey Begins appeared first on Fedora Community Blog.
AI coding agents such as Claude code or Codex get more capable every month. This is great for productivity, but approving all commands gets annoying really quickly. On the other hand, allowing agents to run any command on your work machine is not a great idea. They are really good at exploring your production cluster using kubectl or running remote commands at your production servers over SSH.
Fortunately, Linux distributions come with plenty of options for process isolation. You can run agents as a completely different user, in a container, or in a VM. This article shows how to use microVMs to run coding agents.
Running AI agents in unattended mode is like running untrusted code. Companies behind these agents, such as Anthropic or Google, are not trying to steal credentials, but people keep coming up with new attack vectors like Slopsquatting or prompt injections virtually anywhere.
The coding agents themselves ship with built-in mitigations that try to refuse prompt injections as described, for example, here.
Lightweight sandboxing technologies are another layer of defense in coding agents. On Linux, bwrap is one of the possible implementations. This raises the bar, yet sandbox escapes are still a problem. Take a look at CVE-2026-39861 as an example of multi-platform sandbox escape.
You could use containers to isolate the agent in their own namespace, but they still share the host kernel. Some of the the recent kernel vulnerabilities resulted in privilege escalation (switching from regular user to root) suggesting that containers are not enough as a security boundary.
In the rest of this article, I describe how to use microVMs to easily sandbox coding agents on your Fedora Linux.
First of all, let’s take a look at what microVMs are. Just like any VM, they have their own kernel, one per each microVM. Compared to traditional VMs they start in very short time (hundreds of milliseconds) but don’t offer all the features of full VMs.
This article explains usage of krun runtime for podman. This approach offers the same well-known workflow as containers, but simply runs every container as a microVM.
Start by installing the runtime:
dnf install crun-krun
To run a microVM, simply run podman with –runtime=krun in your terminal:
podman run --runtime=krun --rm -it fedora:44 /bin/bash
A microVM is not a regular container, so a few things might behave differently. First, allocate enough CPU and RAM with krun annotations. The defaults are too small and might result in OOM (Out Of Memory) kills. Second, make sure you have libkrun version >= 1.8. Older versions have a bug which prevents you from pressing Enter in your coding agent. Third, the microVM ignores the USER set in the Dockerfile and always boots as root. Either switch to the correct user manually or put the switch into an entrypoint script.
This section outlines a simple setup for a Python project managed by uv. It uses podman-compose to mount the project into the microVM. Compared to containers, this podman compose needs additional annotations for UID/GID translation, SELinux labeling, and HW resources. The final setup is very similar to what you would need for containers.
To install podman compose from official Fedora repositories, run:
dnf install podman-compose
The setup has 3 parts:
As mentioned above, podman with krun runtime still runs containers, but spawns each of them in a microVM. This example container includes uv package manager, claude code and a few additional RPM packages. Define your own container based on your project dependencies and programming language.
Make sure to create an unprivileged user and use it for running the agent.
FROM fedora:44
ARG HOST_UID=1000
ARG HOST_GID=1000
# Create group and user matching host UID/GID
RUN groupadd -g ${HOST_GID} appuser && \
useradd -u ${HOST_UID} -g ${HOST_GID} -m appuser
RUN mkdir -p /venv && chown appuser:appuser /venv
RUN mkdir -p /home/appuser/.claude && chown appuser:appuser /home/appuser/.claude
USER appuser
# Rarely-changing tooling. Kept above the dnf layer so editing the RPM list
# below does not invalidate (and re-run) these installs.
RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \
curl -fsSL https://claude.ai/install.sh | bash
USER root
# Frequently-changing RPMs. Kept last so adding a package only rebuilds from here down.
RUN dnf install git make vim free libpq-devel python3-devel gcc -y && \
dnf clean all
COPY --chown=appuser entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
USER appuser
WORKDIR /app
# This is needed because entrypoint does not have .local/bin in the PATH
ENV PATH="/home/appuser/.local/bin:$PATH"
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/bin/bash"]
The compose file defines how to mount the project directory into the microVM. This is where most of the magic happens, because podman needs to translate UID/GID and manage SELinux labels, otherwise the files would not be accessible inside of the microVM or they would end up being owned by a different user.
services:
claude:
container_name: project-name-claude
annotations:
run.oci.handler: krun
krun.ram_mib: "4096"
krun.cpus: "4"
user: "${HOST_UID}:${HOST_GID}"
userns_mode: keep-id # optional, for rootless host
build:
context: .
args:
HOST_UID: "${HOST_UID}" # use UID and GID from the host so that files created in the container have correct permissions
HOST_GID: "${HOST_GID}"
volumes:
- ../:/app:U,z # bind mount your project
- project-name-venv-cache:/venv:U,z
- claude-config:/home/appuser/.claude:U,z # persistent claude credentials/config
working_dir: /app
stdin_open: true
tty: true
environment:
- CLAUDE_CONFIG_DIR=/home/appuser/.claude
- UV_LINK_MODE=copy
- UV_PROJECT_ENVIRONMENT=/venv/env # This is inside the cached volume
- UV_PYTHON_INSTALL_DIR=/venv/python # So that uv-managed python installations are not in home but cached in /venv
- TERM=xterm-256color
- COLORTERM=truecolor
volumes:
project-name-venv-cache:
claude-config:
external: true
name: claude-config
There are 3 key parts:
The entrypoint creates a virtual environment for the Python project, because we don’t want dynamic dependencies baked into the container image. It also runs the switch from root to regular user because podman with krun runtime ignores the USER directive from the container.
#!/bin/bash
set -e
echo "Sandbox started as user: $(id -un) in directory: $(pwd)"
if [ "$(id -un)" != "appuser" ]; then
runuser -u appuser -- uv sync
echo "Running ${@} as appuser"
exec runuser -u appuser -- "$@"
fi
uv sync
exec "$@"
First, build the container:
$ HOST_UID=$(id -u) HOST_GID=$(id -g) podman-compose -f .agent-sandbox/docker-compose.yaml build STEP 1/18: FROM fedora:44 ... Successfully tagged localhost/agent-sandbox_claude:latest
Then create the external volume and run the claude container interactively:
$ podman volume create claude-config $ HOST_UID=$(id -u) HOST_GID=$(id -g) podman-compose -f .agent-sandbox/docker-compose.yaml run --rm claude Sandbox started as user: root in directory: /app Resolved 3 packages in 6ms Checked 3 packages in 1ms Running /bin/bash as appuser tty: ttyname error: Inappropriate ioctl for device [appuser@3bd1234b9a77 app]$
You can now check that the kernel is different by running uname -a inside of the microVM.
Creating the same setup manually for every project is not the greatest user experience, but you can automate the setup using a simple script like this. It installs a new sbx command that wraps the setup described above into 3 simple command options: init, build, and run.
A microVM raises the bar considerably, but it is not perfect isolation, and it would be irresponsible to present it as such. Take a look at the libkrun git repository to read more about the security model.
If you want to run software that might be dangerous, prefer using a full VM or even cloud VM.
MicroVMs seem like a sweet spot for running AI Agents. They provide a familiar workflow of containers, but the agents run on their own kernel behind a hypervisor. This article describes workflow based on podman and krun runtime because Fedora Linux ships both of them natively, but there are plenty of other options available for any platform (for example dockersandbox).
Note about AI usage: I wrote this article myself. I used Claude (Anthropic) to significantly refine the grammar, wording, and sentence structure; the technical content and all claims are my own and tested.
The F44 election cycle has concluded. Below are the results. We are posting the results early this year as we are currently on the eve of Flock to Fedora 2026 and the results were ready. Thank you to all candidates and voters, and congratulations to the newly elected members!
Two Council seats were open this election. A total of 204 voters participated in this election.
| # votes | Candidate |
|---|---|
| 958 | Miro Hrončok |
| 788 | Aleksandra Fedorova |
| 744 | Fabio Valentini |
| 637 | Tomáš Hrčka |
| 509 | Vít Smolík |
| 451 | Akashdeep Dhar |
| 337 | Hristo Marinov |
Five FESCo seats were open this election. A total of 199 voters participated in this election
| # votes | Candidate |
| 771 | Neal Gompa |
| 700 | Fabio Valentini |
| 662 | Michel Lind |
| 604 | Maxwell G |
| 549 | Simon de Vlieger |
| 537 | Adam Miller |
Four Mindshare seats were open this election. A total of 154 voters participated in this election.
| # votes | Candidate |
| 419 | Samyak Jain |
| 396 | Akashdeep Dhar |
| 395 | Luis Bazan |
| 351 | Mat H (Mat Holmes) |
| 214 | Kenz S (Makenzie Stewart) |
Four EPEL Steering Committee seats were open this election. As the amount of interviews submitted equaled the number of open seats, candidates who interviewed were automatically elected.
| # votes | Candidate |
| Automatically Elected | Carl George |
| Automatically Elected | Diego Herrera |
| Automatically Elected | Jonathan Wright |
| Automatically Elected | Troy Dawson |
The post F44 Election Results appeared first on Fedora Community Blog.
Flock to Fedora is more than a conference – it’s where the Fedora community comes alive. As part of the In the CommitHistory campaign, we sat down with confirmed Flock 2026 speakers to hear their stories: what brought them to Fedora, what Flock means to them personally, and what they’re hoping for in Prague this June. This is one of those conversations.
In 2015, an 18-year-old student walked into his first Flock not knowing a single person. He was shy, a little overwhelmed, and had no idea what he was walking into. By the time he walked out, something had shifted. The community had been so genuinely welcoming, so warm and easy to fall into that he left not just curious about Fedora, but hungry to be part of it.
That student was Justin Wheeler. And Flock never really let him go.
What started as one conference became a thread running through his entire open source journey. First he became a Fedora Magazine author. Then editor-in-chief. And now, as Fedora Community Architect, he’s the one standing on stage at the opening and closing looking out at the very kind of room that once changed his life helping shape the event that shaped him.
He’ll be the first to admit it’s a lot. “It’s way more intense and hard work than I ever could have realized,” he says, with genuine respect for everyone who built Flock before him. But that experience of once being the nervous newcomer gives him something no job description could have: an instinct for why people show up and what makes it matter.
For Justin, the answer has always been the hallway track. Not the sessions, the spaces in between them. The moment you bump into the exact person you need to talk to. The lunch conversation that turns into a collaboration. The game night and candy swap where the ice finally breaks and people stop being usernames and start being friends. “It’s the relationships we get to strengthen and build,” he says, “that make us so much more effective in everything we do the rest of the year.”
That’s also what data can’t capture and Justin thinks about this a lot as part of the Data Working Group, where he works alongside Michael Winters and Robert Wright to understand community health. Numbers can tell you a lot. But they can’t show you a first-timer lighting up when they realise they belong here. They can’t measure the moment the community becomes real.
His advice for anyone walking into Flock for the first time? “Don’t be shy. Leave your comfort zone a little. And definitely don’t skip the social events.” He says it like someone who knows exactly what it feels like to need that push and exactly what’s waiting on the other side of it.
Flock to Fedora 2026 takes place June 14–16 in Prague. Registration is at capacity but you can join the waitlist. Can’t make it in person? Follow along live on the Fedora YouTube channel.We hope to see you there!
Two good engineering podcasts to listen to this week, the one about OpenCode and the one about spec-driven development. I also really enjoyed the video about the Watchmen comic and film.
Building OpenCode with Dax Raad [Podcast] - I have been trying to use it with local models. Those are just not as good yet.
UEFI Secure Boot keys, used to sign the first stage boot loader, are expiring in June 2026 (this month!) But that only means that Microsoft can no longer sign with them. Machines, both bare metal and virtual, will continue to boot long after June is over as long as the current public keys are not removed from the firmware database or revoked via the dbx database. In the meantime, Fedora Rawhide (f45) already contains a first stage boot loader that is signed by multiple keys for maximal compatibility. So there is no need to panic, but action is recommended.
UEFI Secure Boot is a security feature which ensures only trusted (signed) applications run during a computer’s boot up process. This applies to the boot loaders, the operating system kernel, and the kernel modules. Trust is established using asymmetric cryptography. Tested algorithms, like RSA or ECDSA, are used to create asymmetric key pairs. The private key is used to sign the application. A totally different but complementary public key is used to verify the application. The private key is kept secret while the public key is available to anyone who wants to run the application. UEFI Secure Boot is only available for machines that run UEFI firmware, and for Fedora, the key expiration only applies to the x86_64 architecture (Intel, AMD), and to those who have Secure Boot enabled.
The root of trust for Secure Boot is in the firmware. Hardware manufacturers add trusted Secure Boot public keys to their devices’ Secure Boot firmware database (db). Firmware for virtualization, known as edk2-ovmf, is built with similar trusted public keys. In order to simplify the process, there is a central signing authority which signs the first stage boot loader. This is the “shim” whose public key is enrolled pretty much everywhere, and that is Microsoft. Microsoft first started signing shim with their 2011 UEFI Third Party CA, but by the end of June they will no longer be able to do so. Since October 2025, Microsoft began signing with a new 2023 key as well. Once the 2011 key expires, new shims will only be signed with the 2023 key.
The OS maintains the rest of the Secure Boot chain. Fedora’s shim embeds a Fedora Secure Boot public CA key. Private keys on Fedora’s signing server are used to sign the next stage boot loader (grub2), the kernel, and any other applications that need to run during the boot process (like fwupd for firmware updates or unified kernel images– UKIs)
When the kernel is built, kernel modules are signed using an ephemeral key. Only signed kernel modules can be loaded when Secure Boot is enabled.
The fact is that you don’t really have to do anything about any of this right now. Your computer will continue to boot. New installations of both older and new OSes will continue to be possible.
BUT, we recommend updating your Secure Boot database if and when an update is available. The next deliverable shim update can only be signed by the 2023 key and it is best to be prepared. While there are no known exploitable security vulnerabilities in shim at this time, new ones may be found next month or next year. Below are some commands that will help you determine what state your computer is in, and how to make the correct updates.
The presence of the /sys/firmware/efi directory is the clearest way to check whether you are running UEFI firmware or legacy BIOS. The following command will print “BIOS” if the efi directory does not exist:
$ [[ -d /sys/firmware/efi ]] || echo BIOS
$ mokutil --sb-state
SecureBoot enabled
The Secure Boot state may be “enabled”, “disabled”, or the machine may be in “Setup Mode”, which means there are no Secure Boot keys enrolled in firmware.
$ mokutil --db --short
580a6f4cc4 Microsoft Windows Production PCA 2011
45a0fa3260 Windows UEFI CA 2023
46def63b5c Microsoft Corporation UEFI CA 2011
b5eeb4a670 Microsoft UEFI CA 2023
This output is from a VM, and as you can see, it already contains the 2011 and 2023 public keys. Your laptop or desktop will also show other database keys from the manufacturer.
Enable and use fwupd to get your updates from the Linux Vendor Firmware Service (LVFS):
$ sudo fwupdmgr update
If you have an HP or Fujitsu machine, the update will be available soon, after you have updated your firmware. Use either the above command, or the vendor-recommended command at that time.
$ sudo dnf install pesign -y
$ sudo pesign -S -i /boot/efi/EFI/fedora/shimx64.efi
----------------------------------------------
certificate address is 0x7f3fffc11410
Content was not encrypted.
Content is detached; signature cannot be verified.
The signer's common name is Microsoft Windows UEFI Driver Publisher
No signer email address.
No signing time included.
There were certs or crls included.
----------------------------------------------
certificate address is 0x7f3fffc139e0
Content was not encrypted.
Content is detached; signature cannot be verified.
The signer's common name is Microsoft UEFI CA 2023 signer
No signer email address.
No signing time included.
There were certs or crls included.
-----------------------------------------------
The output shown here is from the dual-signed Fedora Rawhide (F45) shim. If Rawhide is not installed, the shim will only be signed with the first key, which is the 2011 key.
You can use the same pesign command to examine grub2 (/boot/efi/EFI/fedora/grubx64.efi) and the kernel (/boot/vmlinuz-…).
If a database update is not available for your system, contact your hardware manufacturer. Do not attempt to force an incompatible update. Do not update your database manually unless you know exactly what you are doing!
Do not remove or revoke the 2011 key. The 2011 key is not compromised, it is only expiring, so there is no need to remove it. Additionally, it was used to sign option ROMs, so removing it could render peripherals on your system inoperable. Likewise, adding the 2011 key to the firmware dbx database (the forbidden database) will affect option ROMs. This will stop the dual-signed shim from booting.
You joined the party at Flock 2026 in Prague!
Switch upgrades were done this morning, and something has gone wrong with them. Networking engineers are working on restoring full service.
ipv6 access to some of our services is impacted, along with possible slowdowns in other services.
Some time has passed since I've tightened TLS settings on my home server. Let's move it a notch higher, this time including home k3s cluster.
In 2026, using elliptic curves cryptography certificates should be the norm. Fortunately, automatically obtaining them is easy. I'm using cert-manager for kubernetes ingresses. Switching to ECC is a just a matter of adding an algorithm annotation on Ingress:
annotations: cert-manager.io/cluster-issuer: "zerossl-production" cert-manager.io/private-key-algorithm: "ECDSA"
and removing the secret containing old cert and key.
Small caveat: FreeIPA still lags. While it supports ACME protocol, ECC through it is not possible, yet. I've left my internal domains with RSA certificates.
For the main server, I refresh certificates using small Ruby script. I had the change RSA.new(3072) to an EC key generation, rest happened automatically:
Last time I've limited support of Transport Layer Security to versions 1.2 and 1.3. Today, let's allow the latest only. I don't care about supporting Windows 7-era clients (years out of support).
Ingress on k3s is handled by Traefik. Simplest way to influence its config is by creating a global (named default) TLS
configuration option:
apiVersion: traefik.io/v1alpha1 kind: TLSOption metadata: name: default namespace: kube-system spec: minVersion: VersionTLS13
That's all!
Change to nginx configuration on the main server is minimal, too. Version 1.2 is removed from the list, leaving only 1.3:
I have to tune Postfix and few other services TLS settings later.
065/100 of #100DaysToOffload
Flock to Fedora is more than a conference – it’s where the Fedora community comes alive. As part of the In the CommitHistory campaign, we sat down with confirmed Flock 2026 speakers to hear their stories: what brought them to Fedora, what Flock means to them personally, and what they’re hoping for in Prague this June. This is one of those conversations.
Jaroslav Reznik has been part of Fedora longer than most people remember. This goes all the way back to Red Hat Linux 5, before Fedora was even known as Fedora. After a brief detour to another distro, he joined the KDE SIG days and went on to build a long career in Red Hat’s Program Management team. But it was the EU Cyber Resilience Act (CRA) that brought him back to the Fedora community.
The moment that changed everything? A scene at FUDCon North America in 2009 watching Fedora’s Program Manager command what looked like a sci-fi control room, scheduling Fedora 13. Jaroslav looked at that and thought: I want that job. Years later, he got it.
On the CRA, Jaroslav is clear and passionate. The regulation is the first to formally acknowledge the existence of open source software in legislation. Thanks to an enormous community effort, it’s actually open-source friendly. Non-commercialised community projects are fully exempt. For a project like Fedora, the concept of open-source stewards formally recognised in the regulation opens up a powerful new model for governance.
The program management team is working to build a stewardship governance model around Fedora. They are making it a welcoming place for anyone who wants to support the project. They are clear about what stewardship should and shouldn’t be: it’s not about monetizing open source or adding burdens, it’s about helping the community raise the bar for security together.
Flock holds a special place for Jaroslav; he co-organised the very first Flock held in Prague back in 2014. Now, more than ten years later, he is returning to Prague for Flock 2026 with Roman Zhukov to not only talk about the CRA but run a hands-on workshop on it. His message is simple: you can’t do things from behind a desk.
Flock to Fedora 2026 takes place June 14–16 in Prague. Registration is at capacity but you can join the waitlist. Can’t make it in person? Follow along live on the Fedora YouTube channel.We hope to see you there!
Note: AI (Google Gemini) was used in drafting this article. The content was reviewed and verified before publishing.

I have been appreciating YOASOBI's work for quite a while now. One of the reasons why I chose Oshi No Ko (2023)'s pilot episode as a means to end my long anime media hiatus was because their popular single and the anime series' opening music, Idol, also featured in one of my favourite videogames, Forza Horizon 6 (2026). Reading into the song's lyrics only made me further intrigued to understand just what the show was all about, given how this feature song was purposely composed for this anime series. My upcoming two hour long flight meant that I would end up having nothing but time to delve deeper into uncovering the darker secrets, all while keeping the boredom at bay by watching the show.

Let me preface this with a disclaimer - I do not write reviews. Or at least, I do not write them until I feel compelled to do so. When I found myself calling up my friend right after landing from my Indigo flight, I realized this was something I would want to talk about. For someone who had sworn off anime media for almost over a couple of years now, I had little reason to return - let alone watch something that was already three years old. With the anime series itself getting refreshed for the fourth (and final) season, I could have watched something else. But for some reason, I stuck to Oshi No Ko (2023)'s pilot episode to keep me entertained on my flight from Pune to Kolkata, and boy, am I glad that I did that.

The oddly long pilot episode wastes no time throwing you into the deep end. Whether it is about finding hope amidst overriding mediocrity (when it came to Gorou Amamiya), seeking life amidst impending despondency (when it came to Sarina Tendouji), or pursuing belonging amidst surrounding insincerity (when it came to Ai Hoshino) - everyone had their motivations. Also, unlike contemporary anime storytelling, the pilot episode was filled with tonal shifts, transitioning the emotional atmosphere from inescapable despair to heartwarming wholesomeness, and from whimsical fantasies to grounded realities. Along with tight pacing, the fifty eight minute long episode had absolutely zero dull moments.

You know you have struck gold when you find yourself rooting for the side characters too. There was something charming about the likes of Miyako Saitou and Ichigo Saitou, with their personal approach towards nurturing the main characters all while battling their own demons in their desperate struggle. I felt recognized when the narrative trusted my viewing judgement - both when Taishi Gotanda elaborated on the dire state of the show business and when Kana Arima discovered her acting rival during the movie shooting. Every now and then, my inexperience in Japanese forced me to pause playback to take it all in, but the pilot episode had its own ways of rewarding attentive viewers with crucial details.

Their (subjectively appealing) stellar artstyle only ended up checking the remaining boxes for me. The evolving portrayals of Ruby Hoshino and Aqua Hoshino, both in their childish moments and precocious dealings, played a major part in establishing them as the bonafide protagonists of the anime series. From the (rather overused) cherry blossoms of the countryside to the (gloomily overcast) concrete jungle of Tokyo, Doga Kobo pulled no punches in ensuring that I moved into their narrative world the moment I pressed the play button. The (restrictively exceptional) environmental storytelling had social media, small talks, crowd discussions, and inner monologues - and honestly, I could not ask for more.

An Indigo flight changing altitudes is perhaps the worst place to get emotionally shaken, given how you would not want to have a huge lump in your throat all while struggling with blocked ears. If you are a chronic crier, do not watch the pilot episode in public unless you like getting emotionally overwhelmed amidst strangers. Trust me when I say this - the amazing narrative found multiple ways to pull me in by the heartstrings, and even I found my tears welling up in a couple of scenes. I felt weirdly familiar with and equally alienated by the mysterious actions of Ryousuke Sugano, which left me with more questions than answers. If that is what the pilot episode set out to achieve, they sure as heck succeeded.

For a Comic Con hobbyist pilgrim making a prodigal return to anime media, there could not have been a better welcome for me. With the pilot episode covering the first couple of decades of (painstakingly detailed) storytelling progression in its narrative world, Oshi No Ko (2023) has a reliable foundation to build its story forward. It really did not make a difference to me that the series themes of show business and divine reincarnation are at odds with each other. I honestly did not care that the pilot episode had been spoiled for me about three years back, or that the anime series did not have an (absolutely logical) match with the Seinen demographic. All I wanted was the fun factor and I have had my fair share.

The more I write about Oshi No Ko (2023)'s pilot episode - I am feeling like - the further I stray from writing a review and the closer I come to giving a recommendation. But as the (unfortunately shortened) Idol playback drops at the end of the pilot episode, I realized that that is what reviews are supposed to be – a compass that drives you away from poorly made anime media and closer to the good ones. And I do not state this lightly – the pilot episode has (most definitely) been among the best ones. I am already itching to see how the story progresses with Ruby and Aqua at the helm. Maybe I will get to do just that after I finish the Winter season's Festival Playlist in Forza Horizon 6 (2026), and so should you.
We, the Forge team, recently onboarded a Codeberg-hosted repo to the new Fedora Konflux instance.
This is a guide based on the onboarding experience, the steps and UI are similar in Fedora’s Forge.
oc login): https://api.kflux-fedora-01.84db.p1.openshiftapps.com:6443Konflux configuration is managed through GitOps in the
tenants-config
repo on GitLab. The UI is intended to be read-only — you should do everything through merge requests.

Follow the instructions in the
tenants-config repo:
create-tenant-resources playbook. It generates the namespace, RBACYou end up with three files:
ns.yaml — the namespace with a konflux-ci.dev/type: tenant labelrbac.yaml — a RoleBinding granting konflux-admin-user-actions to your FASkustomization.yaml — ties together the quota, RBAC, namespace and yourThen run the update-tenant-apps playbook to generate an ArgoCD application
manifest per tenant directory and update the ArgoCD kustomization.

This is where you tell Konflux what to build. We went with a Kustomize
Configuration-as-Code setup with three layers:
git-provider: forgejo, git-provider-url: https://codeberg.org),build.appstudio.openshift.io/request: configure-pacOpen a merge request with everything
Example MR.
Each Component needs a matching ImageRepository CR. If you don’t have one, the image controller
never provisions a Quay repo, spec.containerImage stays empty on the
Component, and the build service just sits there waiting. No webhook, no PaC PR,
nothing happens.
Example ImageRepository:
apiVersion: appstudio.redhat.com/v1alpha1
kind: ImageRepository
metadata:
name: forge-rawhide-production
namespace: fedora-infra-tenant
annotations:
image-controller.appstudio.redhat.com/update-component-image: "true"
labels:
appstudio.redhat.com/application: forge-production
appstudio.redhat.com/component: forge-rawhide-production
spec:
image:
name: fedora-infra-tenant/forge-rawhide-production
visibility: public
The update-component-image: "true" annotation is what tells the image
controller to write the Quay URL back to spec.containerImage on the Component.
Example MR. Do not merge yet.
Konflux needs a secret to authenticate with your Forgejo/Codeberg instance:
oc create secret generic pipelines-as-code-codeberg
-n {namespace}
--type=kubernetes.io/basic-auth
--from-literal=password={FORGEJO_TOKEN}
oc label secret pipelines-as-code-codeberg -n {namespace}
appstudio.redhat.com/credentials=scm
appstudio.redhat.com/scm.host=codeberg.org
The Konflux docs
say you need these token scopes:
Don’t restrict the token to a specific repo — scopes like write:user aren’t
available with repo-scoped tokens on Forgejo. If you set the right scopes and
it still complains about insufficient permissions, try a token with everything
enabled.
With the secret in place, merge your MR. ArgoCD picks it up and syncs the
resources. Wait a few minutes, then check:
# Did containerImage get set?
oc get components -n {namespace}
-o custom-columns='NAME:.metadata.name,IMAGE:.spec.containerImage'
# Are the ImageRepositories ready?
oc get imagerepositories -n {namespace}
-o custom-columns='NAME:.metadata.name,STATE:.status.state'
# What does the PaC status say?
oc get components -n {namespace}
-o custom-columns='NAME:.metadata.name,STATUS:.metadata.annotations.build.appstudio.openshift.io/status'
If spec.containerImage is filled in and the status shows "state":"enabled",
you’re good.

At this point Konflux opens PRs on your source repo with auto-generated Tekton
pipeline files in .tekton/. Two ways to go:
.tekton/ files,output-image pointing to quay.io/redhat-user-workloads/{namespace}/{component}@sha256:... refs from theserviceAccountName: build-pipeline-{component}We went with the second option. We already had pipelines with custom version
tagging that we wanted to keep, so we pulled in the new task bundles and labels
from the generated files and left the rest alone.
The configure-pac annotation gets consumed on the first attempt. If it fails
(token issue, rate limit, whatever), you need to re-add it:
# One component
oc annotate component {component} -n {namespace}
build.appstudio.openshift.io/request=configure-pac --overwrite
# All of them
for comp in $(oc get components -n {namespace} -o name); do
oc annotate $comp -n {namespace}
build.appstudio.openshift.io/request=configure-pac --overwrite
done
To sum it up, we created a tenant on Konflux-ci cluster, created applications and components and set a place where the images would be hosted. At the event of push to the codeberg repo main branch – the repo where we store the Forge Containerfiles, the pipeline gets triggered (scoped by the on-cel-expression to only those contexts where the change happened) and a fresh and tagged image appears on quay, ready for further testing and deployment.
Thanks to the Konflux Team for the Forgejo support!
The post Onboarding a Forgejo-hosted project to Fedora Konflux appeared first on Fedora Community Blog.
Peter Boy came to Fedora documentation the way many contributors do, by seeing a gap and deciding to fill it. As a researcher, writing is his daily work. When he looked at how he could meaningfully contribute to Fedora, documentation was the obvious answer. He started with Fedora Core 1, stepped away, and returned in 2020 when both the Server Working Group and the Docs Team were being revitalised at the same time. Since then, his focus has been on the “bigger-picture” content structure, readability, consistency, and inspiring others to get involved.
His first Flock was in Cork, Ireland in 2023, and what struck him most was the collaborative approach combined with open, structured dialogue and the sheer range of personalities all genuinely trying to get to know each other.
For a team like Docs, where so much depends on shared standards and careful communication, Peter sees Flock as irreplaceable. New ideas emerge from spontaneous conversation, something the formal structure of video calls simply can’t replicate. His message to anyone thinking about contributing? Fedora needs far more than technical contributors. Documentation, communication, community building these are all vital, and Fedora needs to do a better job of making that visible. At Flock 2026, he is most looking forward to the working groups and the hallway conversations, the ones that are simply too nuanced to have any other way.
Flock to Fedora 2026 takes place June 14–16 in Prague. Registration is at capacity but you can join the waitlist. Can’t make it in person? Follow along live on the Fedora YouTube channel.We hope to see you there!
Note: AI (Google Gemini) was used in drafting this article. The content was reviewed and verified before publishing.
Many GNOME projects have adopted a policy banning all contributions generated by LLMs. This policy was originally developed by Sophie for Loupe, but is now used in many other notable places:
This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes, but is not limited to, tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.
This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.
AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.
I won’t attempt to argue that you should allow use of AI for writing code. If you wish to ban LLM-generated code, fine. That’s probably inadvisable, but I am not going to object.
But this policy is far stricter than that. Notably, it strictly prohibits AI-generated content in issue reports (except to translate text). Don’t do this! Prohibiting bug reports is stupid and just makes your software worse. Please make sure your project’s AI policy allows for at least AI-generated static analysis results and AI-generated vulnerability reports. Otherwise, you prohibit entirely unobjectionable problem reports.
It’s hard to imagine what could possibly be the value of prohibiting valid bug reports. AI-generated static analysis works well: the AI is able to think about your code, follow execution paths, and automatically discard most false positives to avoid bothering you with them, and the quality of reports is generally pretty high. They are far from perfect, but the same is true of humans.
Here is a typical example of an AI-generated static analysis finding:
2. Resource leak in update_credentials_cb on gnutls_credentials_set failure
File: tls/gnutls/gtlsconnection-gnutls.c:169-172
When gnutls_credentials_set() fails, the function returns without calling g_gnutls_certificate_credentials_unref(credentials). The credentials was either freshly allocated or ref-bumped, so it leaks.
Pasting this into an issue report clearly violates the ban on AI-generated content. And yet, why would you not want to receive a clear and concrete bug report for memory leak?
I understand not all maintainers are fond of AI, but is your dislike really so extreme that you would choose to ignore valid problems and intentionally make your software worse? If not, then your AI policy should thoughtfully consider how to handle AI-generated content in issue reports. Certainly do not adopt a policy that outright bans all AI-generated content in issue reports.
As an issue reporter, you could theoretically take the problem found by the AI and rephrase all the words, then claim that it is no longer AI-generated content because it is rewritten. This is a waste of time and usually results in a lower-quality, less-detailed result, but you could plausibly do that. Or, if you want to go above and beyond, you could just jump ahead to creating a merge request. But realistically, if your project does not allow any use of AI in issue reports, it’s more likely that either (a) you won’t receive the issue report in the first place, or (b) you won’t receive such issue reports from experienced developers who read and respect your policy, while users who do not read your policy will continue to submit them.
What about security vulnerability reports? Since the start of this year, I have reviewed well over 100 vulnerability reports that I strongly suspect were generated by AI. To reach the “over 100” claim, I sadly only considered vulnerability reports submitted during a particularly heavy four week period, so this is an extremely loose lower bound. Suffice to say, I have seen a lot of them. The quality varies dramatically. Vulnerability reports are now often better or worse than before: better because an experienced human working with a good AI is able to find vulnerabilities that would have surely gone unnoticed without AI, and worse because an inexperienced human with a bad AI might create some pretty terrible issue reports, a significant proportion of which are just outright spam. Low-quality reports remain a problem, but nowadays most AI-generated issue reports are quite good.
Maintainers do not need to tolerate spammy vulnerability reports. If an issue report is bad, of course go ahead and close it. If it’s really bad, then I sometimes don’t even bother replying. But banning good vulnerability reports solely because some portion of the report was generated by AI is unacceptable. AI-assisted vulnerability reports are the new industry standard, and this is not likely to change. Prohibiting issue reports reduces the quality and safety of your software, punishing your users. This is too extreme.
E.P. Unny is a notable Indian political cartoonist, who worked/works with famed Shankar’s Weekly and new papers such as The Hindu and Indian Express.
Since 2020, all his cartoons (also 2025, 2026 so far) are published — every week — open-access by Sayahna Foundation.
Unny was using a font based on his handwriting style for the cartoons, designed by K.H. Hussain of Rachana. Recently, a new font designed by Varshini KVSS & ‘Kandam Collective’ is developed by Rachana Institute of Typography to use in the cartoons, and it is released as open source — see the specimen and download links.
The character set of the font is Latin only. There are plenty of alternate glyphs (for upper case and lower cases of i, j, l, g, etc. — for instance check the double ‘l’ in ‘Intelligence’ on the specimen above). Such characters are rendered alternately to give a feel of the randomness that handwriting evokes.
The source (and issue tracking) are available at RIT fonts repository.
Across the project, a primary focus was on technical modernization and infrastructure migration. This was highlighted by the major mass rebuild for Python 3.15 in Rawhide, the Workstation team's plans to replace several core desktop components like gnome-keyring and dbus-daemon, and the continued migration of services and repositories to the new Fedora Forge platform. Alongside these technical upgrades, there was a strong emphasis on improving governance and community processes, demonstrated by the Council's work on a new "Fedora Innovation Lifecycle," the official release of new forum moderation guidelines, and discussions within the Docs and EPEL teams to refine workflows and policies. Much of this work was contextualized by the upcoming Flock conference, which influenced planning and was identified as a venue for key in-person discussions. Other common themes included the development of new offerings, such as a home server spin-off and a new graphical UI for DNF, and a consistent focus on community engagement through the ongoing Fedora elections and numerous calls for new package maintainers.
This week, the Fedora 44 elections voting period opened and will run until June 12th, with candidate interviews available for review (e.g., Vít Smolík, Tomáš Hrčka). For users of the forums, new self-moderation guidelines and rules have been released to improve transparency and formalize community standards. On the technical front, a major mass rebuild for Python 3.15 in Fedora 45 has begun and successfully concluded, and packagers can now safely build in Rawhide again. Contributors were also notified of a planned infrastructure outage for server updates. In news relevant to the broader community, a recent Fedora 43 upgrade helped uncover a 20-year-old security bug in Microsoft Outlook related to unencrypted connections.
In preparation for the upcoming Flock conference, the CommOps team launched the #Commit History campaign, inviting contributors to share their origin stories. Fedora Magazine continued its series of interviews with Flock speakers, featuring insights from Jef Spaleta, Valentin Rothberg, Aleksandra Fedorova, Akashdeep Dhar, and Jona Azizaj. Additionally, the weekly Community Update detailed progress across various teams, including work on Fedora Badges, RISC-V for F44, and QE bug fixes. A helpful guide on installing Fedora across two disks was also published.
In their weekly meeting, the Council discussed several key governance topics. They reviewed the draft for a new Fedora Innovation Lifecycle, deciding to formally introduce it after the Flock conference to allow for more community context-building. The group also approved the new moderation guidelines for the Fedora Discussion forum and initiated a broader conversation about improving the representation of community moderators within Fedora's governance structures. A consensus emerged that the current "Initiatives" framework is ineffective and should be replaced, with further discussion planned. Ongoing forum topics included a proposal for a Fedora AI Ecosystem and the eligibility of teens running for Council.
Learn more about the Council team.
The main discussion for the Mindshare group this week continued to focus on the future of surveys within Fedora, specifically the proposal to shut down the LimeSurvey service. The topic was originally raised due to the sole maintainer's burnout, difficult billing changes, and community dissatisfaction with the quality of recent surveys. This week's contribution supported dropping LimeSurvey, suggesting that the Data WG could instead leverage existing, repeatable data sources for analysis. One example was using event data from Pretix via the Fedora message bus to gather insights on attendance, rather than relying on a survey. The idea of a specialized SIG for survey design was also raised to better separate statistical data gathering from simple feedback collection.
Learn more about the Mindshare team.
This week, the Workstation Working Group laid out plans for several significant technical transitions. Key initiatives include replacing the gnome-keyring daemon with 007, removing the legacy dbus-daemon to standardize on dbus-broker, and modernizing testing infrastructure by replacing xvfb-run with wl-headless-run. These efforts aim to streamline the desktop stack and align with modern practices. Contributor opportunities include finding a new maintainer for the orphaned Showtime package and helping update packages to use the new wl-headless-run testing utility.
In forum discussions, a proposal to undertake a chain of updates related to the mozjs JavaScript engine for the Cinnamon DE in Fedora 44 was debated. The consensus was to prioritize stability for the current release, deferring the larger migration but updating the existing mozjs128 package to include the latest security fixes. Another topic explored the possibility of creating a new Fedora edition for upcoming NVIDIA RTX Spark hardware, with community sentiment leaning towards leveraging existing AArch64 builds and creating documentation rather than introducing a new Spin.
gnome-keyring daemon will be replaced with 007 in Fedora Workstation, with work being managed to ensure a smooth transition.dbus-daemon package by addressing dependencies that pull it in, such as in the Anaconda installer.xvfb-run utility will be incrementally replaced with wl-headless-run for testing; this will be added to the package maintenance checklist.mozjs128 package but not to perform a larger migration to mozjs140 to avoid destabilizing a released version of Fedora.libcanberra dependency from core desktop packages by rerouting sounds directly to PipeWire.Learn more about the Workstation / GNOME team.
The Server team held its weekly meeting with a strong focus on the development of a new home server spin-off. The main discussion revolved around user-friendly management and the initial software selection. The group reviewed a draft management guide, which led to a conversation about security practices for home use, including SSH key usage, firewall configuration, and remote access strategies. There was a consensus to leverage Ansible for configuration, with a plan to provide pre-configured playbooks to simplify setup for end-users. Using Cockpit for remote management was also highlighted as a secure and accessible option. The team also discussed which applications should be included by default, agreeing to start with a minimal set from the official Fedora repositories.
Learn more about the Server team.
This week, the Infrastructure team's main operational focus was a planned mass update and reboot outage to apply the latest updates across servers. Significant progress was also made on the migration from Nagios to Zabbix for monitoring; the team is finalizing per-team notifications and is nearing the project's completion, with plans to announce the final switchover soon. Regular administrative tasks included reviewing the monthly AWS usage report and addressing untagged AWS resources.
A key topic of discussion was the future of the now-defunct scm-commits mailing list. A new forum thread was created to gather feedback from the community, especially packagers, on potential replacements. The primary options being considered are a public-inbox service, for which a proof-of-concept is already running, and leveraging the new Fedora Data Working Group (FDWG) platform for analysis and querying of commit data. Contributors are encouraged to join the discussion and share their use cases to help guide the final implementation. Other topics in the weekly and daily meetings included ticket triage and planning around upcoming events like Flock and a Red Hat Day of Learning, which may impact team availability.
Learn more about the Infrastructure team.
The Release Engineering team's weekly meeting focused on the ongoing migration to the new Forgejo instance. A significant point of discussion was the migration of the fedora-scm-requests repository, which is blocked on updates to the fedpkg tool. This change will require a broad rollout to all package maintainers and is not expected to be completed before Flock. The team also explored opportunities for automation, identifying the release End-of-Life (EOL) process and mass branching as prime candidates for future work. Additionally, a scheduled task related to retiring packages with security issues was reviewed; it was determined that the underlying policy was never fully implemented, and the team decided to request its removal from the schedule.
compose-tracker project.Learn more about the Release Engineering team.
This week, the main highlight was a community discussion around a new tool, "Dnf-ui is ready for testing", a modern GTK4 graphical frontend for DNF5. The developer is actively seeking feedback on installation, usability, and functionality, providing a great opportunity for contributors to get involved. The discussion has already yielded valuable feedback on performance, transaction handling, and testing on Fedora Silverblue via Distrobox.
Routine activities for the Quality team continued with announcements for Rawhide nightly compose testing and the upcoming weekly meeting. On the mailing lists, discussions included a user report about a missing grub2 menu after kernel updates on Rawhide and a question about the process for closing bugs for Fedora 42, which has now reached its end of life.
Learn more about the Quality team.
The main discussion this week centered on the ongoing effort to create a prototype for a modernized Fedora Media Writer. The original proposer acknowledged the community's continued interest and praised a functional prototype that another contributor developed based on the initial designs. However, the initiative has been temporarily put on hold due to other commitments and the need to investigate the existing codebase to avoid a complete rewrite. The conversation also included ideas about a web-based writer, referencing the Chromebook Recovery Utility as an example, and suggested that contributors could help by exploring the codebases of other popular tools like Rufus and Etcher for inspiration.
Learn more about the Design team.
The Docs team held their bi-weekly meeting to discuss several housekeeping and process-related topics. A major organizational change was the standardization of issue labels across all Docs repositories and the decision to consolidate project boards at the organization level to improve cross-repository tracking. The team also discussed how to handle outdated content, including an unsupported system upgrade path in Quick Docs and the ongoing effort to retire old Docs pages on the Fedora Wiki. A debate on contribution workflows took place regarding whether to enforce creating pull requests from forks, with the discussion set to continue in the ticket. Help is needed from the community to apply the new standardized labels to issues in the Quick Docs repository.
On the forums, a new discussion began about "AEO" (AI Engine Optimization) and improving the discoverability of Fedora's documentation for newcomers and automated tools. The conversation highlighted the need for better-organized menus and strategic linking to guide new contributors. In an ongoing topic, the new "Fedora Discussion Forum (Self-)Moderation Guidelines and Rules" were officially published on the docs website, replacing the obsolete Ask Fedora SOPs, and have now been added to Weblate for translation. Finally, a discussion about the legality of including NVIDIA driver installation instructions continued, with a user pointing out that Quick Docs already links to RPM Fusion, questioning the consistency of the policy.
Learn more about the Docs team.
A discussion was initiated this week regarding the licensing of timidity code, which is bundled within the SDL3_mixer package currently being prepared for Fedora. The timidity README offers a choice between "the GNU GPL, the GNU LGPL, or the Perl Artistic License" without specifying versions, creating ambiguity for packaging. The conversation explored how to interpret this statement, considering the code's history predating GPLv3. The consensus was to assume the author intended versions available at the time, leading to an acceptable license combination for Fedora: GPL-2.0-or-later OR LGPL-2.0-or-later OR Artistic-1.0-Perl.
Learn more about the Legal team.
This week, the COPR team announced and performed a planned maintenance outage on June 2nd to update the copr-backend server. The outage lasted approximately one hour, during which build queue processing was stopped. Existing DNF packages and repositories remained available throughout the maintenance period. The update was completed successfully.
Learn more about the COPR team.
During the weekly EPEL meeting, the main topic was a proposal to delay the retirement of EPEL minor versions. Currently, a minor version is retired on the same day a new RHEL minor version is released, which can surprise maintainers. A two-week delay was proposed to allow in-flight updates to reach the stable repository, but the committee decided to table the discussion to gather more feedback. The results of the Spring 2026 EPEL Steering Committee elections were also announced, with Diego Herrera joining as a new member and Carl George, Troy Dawson, and Jonathan Wright returning. Kevin Fenzi was thanked for 19 years of service as he retires from the committee. On the development mailing list, a discussion about updating OpenColorIO for EPEL 9 highlighted the challenges and general reluctance to introduce updates with library version bumps in stable EPEL releases.
Learn more about the EPEL team.
The CentOS Hyperscale SIG held its weekly meeting to discuss kernel updates, transactional systems, and tooling. After delays due to security work, new kernel updates for CentOS Stream 9 and 10 are planned for the upcoming week. The group discussed the possibility of shipping an LTS kernel but concluded against it for now, citing the benefits of tracking the Fedora kernel and the viability of using the stock kernel with modules from the Kmods SIG. Significant progress has been made on a dnf5 plugin for transactional updates, thanks to community contributions for Kalpa Desktop, which brings the goal of a transactional Hyperscale variant closer. Contributors interested in having specific packages from Fedora tracked and updated can reach out to the SIG.
On the tooling front, the hs-relmon tool now features a new interactive review mode to simplify package promotion, which was used to release wprof 0.4. In community news, Paweł Zmarzłowski announced his resignation from the SIG. The team also noted that their activity report is overdue and they plan to finalize and publish it soon. Finally, a cleanup of stale packages was performed to reduce repository metadata size, and dnsmasq was backported to the el9 branch to address a security vulnerability.
Learn more about the CentOS Hyperscale team.
The ELN SIG held one meeting this week, providing status updates on ELNBuildSync (EBS) and bootc. The EBS service has undergone a significant reorganization: its source code has been migrated to a new GitHub repository, its deployment process has been simplified, and a pull request has been submitted to host it within the Fedora Infrastructure OpenShift cluster.
There was also a discussion on the progress of creating bootc images for ELN. This effort is a prerequisite for producing bootc images for CentOS Stream 11. The current work is focused on creating the necessary compose image, with further technical discussions planned for a follow-up meeting.
Learn more about the ELN team.
The Atomic group's main focus this week was the migration to the new Fedora Forge atomic organization, discussed during their weekly meeting. The team decided to begin by migrating repositories that do not depend on Konflux, such as documentation and issue trackers. Repositories requiring Konflux for CI/builds will be moved once the integration is unblocked. The discussion also confirmed that the new organization will be the home for bootc-related projects, including work on ELN and a potential move of the CentOS Stream bootc repository. Contributor opportunities include helping with documentation fixes and issue triage after the initial migration, with a cleanup session planned for a future video call.
In community discussions, new solutions were shared for technical challenges on immutable systems. A user provided an updated guide for running the Guix package manager on Fedora Silverblue, and another user shared their method for integrating the KeePassXC and Firefox Flatpaks.
atomic organization on Fedora Forge.bootc ELN work and the CentOS Stream bootc container repository are considered in scope for the new atomic organization.Learn more about the Atomic team.
In this week's CoreOS meeting, the team discussed the upcoming Fedora 45 release cycle and progress on build system modernization. A key topic was the effort to switch CoreOS Assembler (COSA) to run on Fedora 44, with a plan to test the removal of a potentially unneeded dependency to move forward. Following successful work to repair the bootc pipeline, the team decided to re-enable Konflux for building the Rawhide stream. The group also planned the next steps for adopting bootc-image-builder, which includes moving partition layout definitions into the OCI container and staging the rollout across different release streams, starting with Rawhide.
Learn more about the CoreOS team.
During the weekly AI & ML meeting, the group discussed significant packaging updates, including a new version of ollama in rawhide and progress on updating onnxruntime, which is unblocked by a recent protobuf update. There is a call for community help to review several new packages, including the pi-coding-agent and emacs-agent-shell. In a related forum discussion on NPU support, it was noted that an xrt runtime package is now awaiting review. The meeting also addressed the "Fedora AI Developer Desktop" proposal, with a consensus that the SIG should serve as a collaborative space to shape such ideas before wider public announcement. This led to a re-commitment to create better "Getting Involved" documentation to improve the SIG's visibility and accessibility.
editorial-guide-ramalama, will be created under the ai-ml forge namespace for an Outreachy internship project.Learn more about the AI & ML team.
This week, the Security SIG held its weekly meeting, where the main topic of discussion was user privacy in default applications. Sparked by concerns around Firefox, the group considered creating a Fedora-wide policy to disable telemetry and AI features by default, ensuring users must explicitly opt-in. Given the sensitive nature of the topic, the consensus was to continue this conversation in person at the upcoming Flock conference.
A significant opportunity for contributor engagement was announced on the forums with the publication of a new static analysis report on Fedora 45 Critical Path Packages. The report identified 1,242 new findings since the last release, with an AI analysis flagging 14 important and 12 moderate-impact issues that may have security implications. Package maintainers and other contributors are encouraged to review these findings to help secure Fedora's core components.
Learn more about the Security team.
The DotNET SIG welcomed a new potential contributor, Anugerah Tallenta Agung, who introduced themselves on the mailing list. As a university student and long-time Fedora user, they expressed interest in contributing to the .NET and gaming experience on Fedora. They are seeking guidance on how to get involved, specifically mentioning sharing their experiences and potentially helping with packaging. This provides an excellent opportunity for the SIG to engage with and mentor a new member. No technical discussions or decisions took place this week.
Learn more about the DotNET team.
This week in the Go SIG, the weekly meeting was lightly attended, leading to the postponement of discussions on open tracker issues. The primary point of information was the announcement of the public Fedora 45 Change proposal to introduce Golang 1.27. This proposal outlines the standard update of the Go toolchain for the next Fedora release.
A discussion on the mailing list resolved a packaging issue where spectool failed to download a source tarball. The problem was identified as a mismatch between the %{gosource} macro's generated URL and the upstream git tag, which included a "v" prefix. The solution was to remove a custom %global tag definition from the spec file, allowing the macro to use its default, correct behavior.
Learn more about the Go team.
The main point of discussion this week was a call for new maintainers for a large number of orphaned Perl packages. Due to the inactivity of a previous maintainer, there is a risk of these packages being retired. This presents a significant opportunity for contributors to step up and take ownership of packages they are interested in. Other activity consisted of routine package maintenance, including several version updates and a bug fix.
perl-WWW-RobotRules package was updated to version 6.03.perl-Net-CalDAVTalk package was updated to version 0.17.perl-Net-CardDAVTalk package was updated to version 0.11.procps-ng usage was merged for perl-IO-Socket-SSL.Learn more about the Perl team.
The Python team announced and executed the mass rebuild of packages for Python 3.15 in Fedora 45 (Rawhide). The process was conducted in a dedicated side tag to minimize disruption, starting on June 3rd. Maintainers were advised to pause their builds in the main Rawhide branch during this period. The side tag was successfully merged on June 6th, completing the transition.
With Python 3.15 now the default in Rawhide, the focus shifts to resolving any remaining build failures. Maintainers are encouraged to fix their packages, with guidance provided for handling common issues like test failures or broken dependencies. This is a key opportunity for contributors to help ensure their packages are compatible with the latest Python version.
Learn more about the Python team.
ouch compression utility, community members explained that Fedora packaging is volunteer-driven. The requester highlighted the tool's memory safety as a key advantage over existing tools like unar and 7z. While there was interest in the tool, no one committed to packaging it.URL or VCS RPM tags. The VCS tag was favored as a more suitable candidate, though concerns were raised about the significant effort required for a mass update and the need for a clear benefit to package maintainers.fedora-comps repository has been migrated from Pagure to Fedora Forge. The repository, which maintains the XML files for installer groups and dnf metadata, is now located at https://forge.fedoraproject.org/releng/fedora-comps.fedpkg, a clarification that the RPM 6.1 Change Proposal does not include a switch to the v6 package format, a report on static analysis findings in Critical Path packages which sparked a debate on responsible disclosure, and a reminder about the sunset of pagure.io clarifying its scope.dnfdaemon, which is based on dnf4, as all its consumers have migrated to dnf5daemon-server.snakemake and a large number of its related Python packages. The decision was made to free up time, citing the high total maintenance effort and long-term concerns about bundled pre-compiled assets in the main package.libyui stack of packages, including libyui-gtk, libyui-mga, and others, as they are no longer used by any packages in Fedora.qmc2 package because its upstream project is no longer maintained.gap package to version 4.16.0, which will include a SONAME bump for libgap. This change is not expected to impact any other Fedora packages.girara, zathura, and mupdf would be updated, involving SONAME bumps. The updates, which include important bug fixes, will be built in side-tags for both Rawhide and stable releases under FESCo exceptions.kdsingleapplication in Rawhide, which included a SONAME bump. All affected dependent packages were subsequently rebuilt in a side tag.intel-cmt-cat package. It was clarified that as a previously inactive packager, he needed to follow the process for returning contributors to be re-added to the packager group.libpst, requested sponsorship to package passwordsafe. Dominik 'Rathann' Mierzejewski sponsored him, welcoming him back into the packager group.
Flock to Fedora is more than a conference – it’s where the Fedora community comes alive. As part of the CommitHistory campaign, we sat down with confirmed Flock 2026 speakers to hear their stories: what brought them to Fedora, what Flock means to them personally, and what they’re hoping for in Prague this June. This is one of those conversations.
Jona Azizaj’s first Flock was ten years ago in Kraków, Poland. What struck her most was how approachable everyone was. In a community full of experienced contributors, people made space for new voices, listened to her experiences building the local community in Albania, and made her feel like her perspective genuinely mattered. Those small moments, she says, are what made her feel like she truly belonged.
A decade on, Jona sees Flock as one of the most powerful tools for growing the next generation of Fedora contributors. Online mentorship happens asynchronously and at a distance. Flock, however, creates something different: the chance to sit down with someone, share experiences, and build real trust. Flock is where contributors grow more confident, find their place, and realise that open source is about far more than technical work.
For Flock 2026, Jona and the Fedora Mentor Summit team are bringing three initiatives, now in their 5th edition.
A successful Flock, for Jona, is one where people leave feeling more confident than when they arrived. It is an event where the connections built there carry on long after the event ends.
Flock to Fedora 2026 takes place June 14–16 in Prague. Registration is at capacity but you can join the waitlist. Can’t make it in person? Follow along live on the Fedora YouTube channel.We hope to see you there!
Note: AI (Google Gemini) was used in drafting this article. The content was reviewed and verified before publishing.
I have a bunch of different ARM SBCs, some Raspberry Pis, some Rockchip based, and some others. Some of them I have in 1U rack mount cases. Some in cases that I have 3d printed. They have all had a common issue. When something goes wrong, I need to unplug them, move them to my desk, and connect them to my desktop via a USB to tty adaptor. Aside from being inconvenient, it also meant I had to be home to debug what was happening.
I figured there had to be a better way. In the end, I used Claude to help me write a solution. What I came up with is a project to make an ESP32 Web Terminal. Using an ESP32 wired to the UART on the SBCs, I can securely access the serial console of my devices. I have used a couple of different ESP32 devices, from a USD$3 ESP32 C3 Mini to a USD$8 XIAO ESP32S3. all of which work well. For the Raspberry Pis, I purchased some premade JST SH1.0 mm 3 Pin Wire connector cables to plug into the uart port, and for other devices, I made some custom cables with 2.54 mm Dupont crimp pin connectors.

I have most of my SBC’s powered by PoE. In the pictured example, I soldered some headers onto the PCB for the PoE hat to use to provide a 5V power source to the ESP32, and it all runs self-contained in the rack-mount unit. I do want to work on making the connections a little neater and the housing better. But for now, this is functional. While the software on the ESP allows resetting the SBC and controlling the power, I do not currently have that wired up.
As for provisioning the ESPs, I run FreeIPA at home for authentication, and I have dogtag set up as a CA. When I have wired up and flashed a new board, it initially runs as an access point I connect to in order to set up my home network. Once it is connected to my network, I run an Ansible playbook to create and upload SSL certificates signed by my CA and change the admin password. That way, I can connect without any SSL warnings and use a known non-default password to log in. So far, I am quite happy with how they have performed. I still have some things I want to make better, and I also want to finish testing a setup where I connect to an SBC that exposes its serial port over USB. In theory, it should work with ESP32S3, I just need to test.
While it has added quite a few more devices to my network, it is useful to be able to access and debug what is happening without having to move devices and plug them into another computer. I have considered options for externally powering the ESPs and the best ways to connect the ESPs to the SBCs. I would like to at least be more robust with a 3d printed enclosure for the ESP. Each unit has cost me between USD$5 and USD$12, and each has acceptable performance. I have intentionally stuck to using small ESP’s, though it would work well with bigger devices also. Powering each through a shared power source would require additional circuitry to isolate them and prevent voltage leaks.
Another busy week for me. Lots of little things all over the place.
We got everything updated and rebooted and cleaned up any messes from that (at least as far as I know). We did firmware updates on servers this time, and those always cause things to take much longer. Instead of a 'quick' 5m reboot of a server, it's more 20-25m to apply all the firmware updates and reboot a bunch of times. Ah well, it's good to be up to date.
We did have one arm server fail to come up after reboot. ;( It has a memory error, so we are having datacenter folks reseat all the memory (this happened once before and that cleared it up).
I was able to try and move some old long running tickets over the finish line this week:
systemd-boot signing. This is all setup, but needs to be tweaked in the package and tested. Note that this is a self signed cert, but it will still hopefully help folks using systemd-boot.
Looked over a bunch of work from Stephen Gallagher to fix some dist-git repos that have commits that break git fsck. I hope I can finish this up early next week.
Got the drm-panic 'application' deployed. (I just deployed, the change owner did all the heavy lifting).
Setup a pagure-stg-ro01 machine to test a 'readonly' pagure instance.
Got koji upgraded to 1.36.0.
Got all koji builders, hubs and kojipkgs moved to fedora 44
Moved all our proxies to fedora 44
Moved all our compose hosts to fedora 44
Fixed some openshift apps that were still pulling from docker hub (and getting rate limited). I even moved greenwave to using a hummingbird memcached container. Works great!
Flock is coming up fast now. I will be traveling to it starting next thursday. So expect me to be largely offline thursday and friday, and then only sporadically online while I am at flock.
Really looking forward to meeting up with folks and getting that good flock infusion of energy.
As always, comment on the fediverse: https://fosstodon.org/@nirik/116704516544974008
Flock to Fedora is more than a conference – it’s where the Fedora community comes alive. As part of the In the Commit History campaign, we sat down with confirmed Flock 2026 speakers to hear their stories: what brought them to Fedora, what Flock means to them personally, and what they’re hoping for in Prague this June. This is one of those conversations.
Akashdeep’s history with Flock goes back around five years, and his perspective on it has evolved significantly. During his time on the Fedora Council, he participated in the grueling process of reviewing over 150 talk proposals in a single cycle. This task was made harder by the fact that acceptance is often tied to sponsored travel meaning funding rejection can mean a contributor simply can’t attend at all.
But beyond the sessions and schedules, Akashdeep is emphatic about what Flock is really for. Roughly 75% of the experience is about human connection; understanding the person behind the screen, building friendships, and embodying the “friends foundation” philosophy at the heart of Fedora. Technical work is the bonus, not the point.
Nowhere is this clearer than in the story of the Fedora Badges revamp. Interest in rebuilding the platform which, despite its 2003-era interface, plays a vital role in motivating new contributors, dates back to 2019. But it was Flock’s hallway conversations and dedicated workshops that finally built the consensus needed to move the project forward.
Akashdeep also wants people to know that contributing to Fedora infrastructure is more accessible than it looks. You don’t need to be on a specific team or work for a particular company. Just join a chat, introduce yourself, and find your corner. As one contributor discovered, starting with documentation led to a whole journey into diversity and inclusion work. Community bonding is what keeps people, and the technical work is the reward.
Flock to Fedora 2026 takes place June 14–16 in Prague. Registration is at capacity but you can join the waitlist. Can’t make it in person? Follow along live on the Fedora YouTube channel.We hope to see you there!
Note: AI (Google Gemini) was used in drafting this article. The content was reviewed and verified before publishing.
This is a report created by CLE Team, which is a team containing community members working in various Fedora groups for example Infrastructure, Release Engineering, Quality etc. This team is also moving forward some initiatives inside Fedora project.
Week: 01 – 05 June 2026
This team is taking care of day to day business regarding Fedora Infrastructure.
It’s responsible for services running in Fedora infrastructure.
Ticket tracker
This team is taking care of day to day business regarding CentOS Infrastructure and CentOS Stream Infrastructure.
It’s responsible for services running in CentOS Infrastructure and CentOS Stream.
CentOS ticket tracker
CentOS Stream ticket tracker
This is the summary of the work done regarding the RISC-V architecture in Fedora.
This is the summary of the work done regarding AI in Fedora.
This team is taking care of quality of Fedora. Maintaining CI, organizing test days
and keeping an eye on overall quality of Fedora releases.
This team is working on introduction of https://forge.fedoraproject.org to Fedora
and migration of repositories from pagure.io.
This team is working on keeping Epel running and helping package things.
This team is working on improving User experience. Providing artwork, user experience,
usability, and general design services to the Fedora project
If you have any questions or feedback, please respond to this report or contact us on #admin:fedoraproject.org channel on matrix.
The post Community Update – Week 23 2026 appeared first on Fedora Community Blog.