13 Jan 2026
Planet Debian
Simon Josefsson: Debian Libre Live 13.3.0 is released!
Following up on my initial announcement about Debian Libre Live I am happy to report on continued progress and the release of Debian Libre Live version 13.3.0.
Since both this and the previous 13.2.0 release are based on the stable Debian trixie release, there really isn't a lot of major changes but instead incremental minor progress for the installation process. Repeated installations has a tendency to reveal bugs, and we have resolved the apt sources list confusion for Calamares-based installations and a couple of other nits. This release is more polished and we are not aware of any known remaining issues with them (unlike for earlier versions which were released with known problems), although we conservatively regard the project as still in beta. A Debian Libre Live logo is needed before marking this as stable, any graphically talented takers? (Please base it on the Debian SVG upstream logo image.)
We provide GNOME, KDE, and XFCE desktop images, as well as text-only "standard" image, which match the regular Debian Live images with non-free software on them, but also provide a "slim" variant which is merely 750MB compared to the 1.9GB "standard" image. The slim image can still start a debian installer, and can still boot into a minimal live text-based system.
The GNOME, KDE and XFCE desktop images feature the Calamares installer, and we have performed testing on a variety of machines. The standard and slim images does not have a installer from the running live system, but all images support a boot menu entry to start the installer.
With this release we also extend our arm64 support to two tested platforms. The current list of successfully installed and supported systems now include the following hardware:
- Desktop ADLINK Ampere Altra Developer Platform arm64 Neoverse N1
- Desktop MSI Z790-P WIFI PRO i9-14900K Dasharo
- Laptop Framework 13 AMD AI 9 HX 370
- Laptop Lenovo X201 i7-620M
- Laptop NovaCustom NV56 Intel Ultra 7 155H i915 Dasharo
- Server Dell PowerEdge R630 2xE2680v4
- Server/Router Protectli VP2440
- Server Supermicro MegaDC ARS-110M-NR Ampere Altra Max 128 core 2x25GBe
This is a very limited set of machines, but the diversity in CPUs and architecture should hopefully reflect well on a wide variety of commonly available machines. Several of these machines are crippled (usually GPU or WiFI) without adding non-free software, complain at your hardware vendor and adapt your use-cases and future purchases.
The images are as follows, with SHA256SUM checksums and GnuPG signature on the 13.3.0 release page.
- Amd64 GNOME debian-live-13.3.0-amd64-libre-gnome.iso
- Amd64 KDE debian-live-13.3.0-amd64-libre-kde.iso
- Amd64 XFCE debian-live-13.3.0-amd64-libre-xfce.iso
- Amd64 Standard debian-live-13.3.0-amd64-libre-standard.iso
- Amd64 Slim debian-live-13.3.0-amd64-libre-slim.iso
- Arm64 GNOME debian-live-13.3.0-arm64-libre-gnome.iso
- Arm64 KDE debian-live-13.3.0-arm64-libre-kde.iso
- Arm64 XFCE debian-live-13.3.0-arm64-libre-xfce.iso
- Arm64 Standard debian-live-13.3.0-arm64-libre-standard.iso
- Arm64 Slim debian-live-13.3.0-arm64-libre-slim.iso
Curious how the images were made? Fear not, for the Debian Libre Live project README has documentation, the run.sh script is short and the .gitlab-ci.yml CI/CD Pipeline definition file brief.
Happy Libre OS hacking!
13 Jan 2026 1:53pm GMT
Aigars Mahinovs: Sedan experience (BMW i5)

Two years of midsize electric sedan experience
This February (2026) marks a full 10 years since I started working for BMW, and a key employment bonus is the ability to drive a company car on special two-year leasing terms. Just before the new year 2026 started, I said goodbye to my latest company car. After driving the BMW i4, I switched to the BMW i5. In terms of power, it was a downgrade as I switched from the maximum power i4 M50 xDrive (all-wheel drive, 600 hp) to the i5 eDrive40 (rear-wheel drive, 340 hp). Did I regret that? Not for a single second! After driving 60,000 km in the last two years with the BMW i5, I was really sad to let it go -- it was the best car I have ever driven. Simple as that.
Read more… (16 min remaining to read)
13 Jan 2026 10:00am GMT
Freexian Collaborators: Debian Contributions: dh-python development, Python 3.14 and Ruby 3.4 transitions, Surviving scraper traffic in Debian CI and more! (by Anupa Ann Joseph)

Debian Contributions: 2025-12
Contributing to Debian is part of Freexian's mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.
dh-python development, by Stefano Rivera
In Debian we build our Python packages with the help of a debhelper-compatible tool, dh-python. Before starting the 3.14 transition (that would rebuild many packages) we landed some updates to dh-python to fix bugs and add features. This started a month of attention on dh-python, iterating through several bug fixes, and a couple of unfortunate regressions.
dh-python is used by almost all packages containing Python (over 5000). Most of these are very simple, but some are complex and use dh-python in unexpected ways. It's hard to avoid almost any change (including obvious bug fixes) from causing some unexpected knock-on behaviour. There is a fair amount of complexity in dh-python, and some rather "clever" code, which can make it tricky to work on.
All of this means that good QA is important. Stefano spent some time adding type annotations and specialized types to make it easier to see what the code is doing and catch mistakes. This has already made work on dh-python easier.
Now that Debusine has built-in repositories and debdiff support, Stefano could quickly test the effects of changes on many other packages. After each big change, he could upload dh-python to a repository, rebuild e.g. 50 Python packages with it, and see what differences appeared in the output. Reviewing the diffs is still a manual process, but can be improved.
Stefano did a small test on what it would take to replace direct setuptools setup.py calls with PEP-517 (pyproject-style) builds. There is more work to do here.
Python 3.14 transition, by Stefano Rivera (et al.)
In December the transition to add Python 3.14 as a supported version started in Debian unstable. To do this, we update the list of supported versions in python3-defaults, and then start rebuilding modules with C extensions from the leaves inwards. This had already been tested in a PPA and Ubuntu, so many of the biggest blocking compatibility issues with 3.14 had already been found and fixed. But there are always new issues to discover.
Thanks to a number of people in the Debian Python team, we got through the first bit of the transition fairly quickly. There are still a number of open bugs that need attention and many failed tests blocking migration to testing.
Python 3.14.1 released just after we started the transition, and very soon after, a follow-up 3.14.2 release came out to address a regression. We ran into another regression in Python 3.14.2.
Ruby 3.4 transition, by Lucas Kanashiro (et al.)
The Debian Ruby team just started the preparation to move the default Ruby interpreter version to 3.4. At the moment, ruby3.4 source package is already available in experimental, also ruby-defaults added support to Ruby 3.4. Lucas rebuilt all reverse dependencies against this new version of the interpreter and published the results here. Lucas also reached out to some stakeholders to coordinate the work.
Next steps are: 1) announcing the results to the whole team and asking for help to fix packages failing to build against the new interpreter; 2) file bugs against packages FTBFSing against Ruby 3.4 which are not fixed yet; 3) once we have a low number of build failures against Ruby 3.4, ask the Debian Release team to start the transition in unstable.
Surviving scraper traffic in Debian CI, by Antonio Terceiro
Like most of the open web, Debian Continuous Integration has been struggling for a while to keep up with the insatiable hunger from data scrapers everywhere. Solving this involved a lot of trial and error; the final result seems to be stable, and consists of two parts.
First, all Debian CI data pages, except the direct links to test log files (such as those provided by the Release Team's testing migration excuses), now require users to be authenticated before being accessed. This means that the Debian CI data is no longer publicly browseable, which is a bit sad. However, this is where we are now.
Additionally, there is now a fail2ban powered firewall-level access limitation for clients that display an abusive access pattern. This went through several iterations, with some of them unfortunately blocking legitimate Debian contributors, but the current state seems to strike a good balance between blocking scrapers and not blocking real users. Please get in touch with the team on the #debci OFTC channel if you are affected by this.
A hybrid dependency solver for crossqa.debian.net, by Helmut Grohne
crossqa.debian.net continuously cross builds packages from the Debian archive. Like Debian's native build infrastructure, it uses dose-builddebcheck to determine whether a package's dependencies can be satisfied before attempting a build. About one third of Debian's packages fail this check, so understanding the reasons is key to improving cross building. Unfortunately, dose-builddebcheck stops after reporting the first problem and does not display additional ones.
To address this, a greedy solver implemented in Python now examines each build-dependency individually and can report multiple causes. dose-builddebcheck is still used as a fall-back when the greedy solver does not identify any problems. The report for bazel-bootstrap is a lengthy example.
rebootstrap, by Helmut Grohne
Due to the changes suggested by Loongson earlier, rebootstrap now adds debhelper to its final installability test and builds a few more packages required for installing it. It also now uses a variant of build-essential that has been marked Multi-Arch: same (see foundational work from last year).
This in turn made the use of a non-default GCC version more difficult and required more work to make it work for gcc-16 from experimental. Ongoing archive changes temporarily regressed building fribidi and dash. libselinux and groff have received patches for architecture specific changes and libverto has been NMUed to remove the glib2.0 dependency.
Miscellaneous contributions
- Stefano did some administrative work on debian.social and debian.net instances and Debian reimbursements.
- Stefano did routine updates of
python-authlib,python-mitogen,xdot. - Stefano spent several hours discussing Debian's Python package layout with the PyPA upstream community. Debian has ended up with a very different on-disk installed Python layout than other distributions, and this continues to cause some frustration in many communities that have to have special workarounds to handle it. This ended up impacting cross builds as Helmut discovered.
- Raphaël set up Debusine workflows for the various backports repositories on debusine.debian.net.
- Zulip is not yet in Debian (RFP in #800052), but Raphaël helped on the French translation as he is experimenting with that discussion platform.
- Antonio performed several routine Salsa maintenance tasks, including fixing salsa-nm-sync, the service that synchronizes project members data from LDAP to Salsa, which had been broken since salsa.debian.org was upgraded to "trixie".
- Antonio deployed a new amd64 worker host for Debian CI.
- Antonio did several DebConf technical and administrative bits, including but adding support for custom check-in/check-out dates in the MiniDebConf registration module, publishing a call for bids for DebConf27.
- Carles reviewed and submitted 14 Catalan translations using po-debconf-manager.
- Carles improved
po-debconf-manager: added "delete-package" command, "show-information" now uses properly formatted output (YAML), it now attaches the translation on the bug reports for which a merge request has been opened too long. - Carles investigated why some packages appeared in
po-debconf-managerbut not in the Debian l10n list. Turns out that some packages had debian/po/templates.pot (appearing inpo-debconf-manager) but not the POTFILES.in file as expected. Created a script to find out which packages were in this or similar situation and reported bugs. - Carles tested and documented how to set up voices (
mbrolaandfestival) if using Orca speech synthesizer. Commented a few issues and possible improvements in the debian-accessibility list. - Helmut sent patches for 48 cross build failures and initiated discussions on how to deal with two non-trivial matters. Besides Python mentioned above, CMake introduced a
cmake_pkg_configbuiltin which is not aware of the host architecture. He also forwarded a Meson patch upstream. - Thorsten uploaded a new upstream version of
cupsto fix a nasty bug that was introduced by the latest security update. - Along with many other Python 3.14 fixes, Colin fixed a tricky segfault in python-confluent-kafka after a helpful debugging hint from upstream.
- Colin upstreamed an improved version of an
OpenSSHpatch we've been carrying since 2008 to fix misleading verbose output from scp. - Colin used Debusine to coordinate transitions for
astroidandpygments, and wrote up the astroid case on his blog. - Emilio helped with various transitions, and provided a build fix for
opencvfor theffmpeg 8transition. - Emilio tested the GNOME updates for "trixie" proposed updates (
gnome-shell,mutter,glib2.0). - Santiago helped to review the status of how to test different build profiles in parallel on the same pipeline, using the test-build-profiles job. This means, for example, to simultaneously test build profiles such as
nocheckandnodocfor the same git tree. Finally, Santiago provided MR !685 to fix the documentation. - Anupa prepared a bits post for Outreachy interns announcement along with Tássia Camões Araújo and worked on publicity team tasks.
13 Jan 2026 12:00am GMT