The release of Ubuntu 25.10 (Questing Quokka) is approaching really fast now - it’s just 2 weeks away!
It is always easier to include disruptive and ambitious changes in an interim release as it gives us more time to stabilize and refine them before the LTS. Questing Quokka is no exception to that rule, and we’ve had quite a few exciting changes.
In this post, I cover the highlights of what the Foundations team did this cycle and maybe have a few spoilers for the next cycle…
Foundations System
The Foundations System team is dedicated to maintaining and delivering the base components of Ubuntu as well as everything surrounding package management (apt, dpkg).
Part of the Modernization effort highlighted by @jnsgruk in the Oxidizing Ubuntu initiative post earlier this year, we have targeted to switch two historic base components with Rust alternatives: sudo.ws to sudo-rs and gnu-coreutils to rust-coreutils.
sudo-rs
sudo is now provided by the sudo-rs package. While sudo-rs is not 100% compatible with sudo-ws, the majority of common use cases are supported, and the change should be invisible to most users.
A list of key differences is maintained as a reference.
The original sudo utility (maintained by Todd C. Miller), sudo.ws, remains supported in 25.10 and the subsequent 26.04 LTS. You will find these utilities installed with the .ws suffix (for example, sudo.ws, visudo.ws, etc.). Switching the default back to sudo.ws is not recommended, but if you need to do so, follow these steps:
Interactive:
$ update-alternatives --config sudo
Non-interactive:
$ update-alternatives --set sudo /usr/bin/sudo.ws
You can always switch back to sudo-rs using:
$ update-alternatives --set sudo /usr/lib/cargo/bin/sudo
Learn more about the motivation for this change in Adopting sudo-rs By Default in Ubuntu 25.10.
rust-coreutils
The core utilities of the operating system are now provided by the rust-coreutils package. We just updated to the latest version of it: 0.2.2, which features incredible performance improvements to base64 amongst other things.
As rust-coreutils are not necessarily fully compatible yet, we are providing the old utilities by the side, so you can switch back and forth between them.
To switch back from the Rust-based coreutils to the previous GNU variant, run:
apt install --allow-remove-essential coreutils-from-gnu coreutils-from-uutils
To switch from the GNU variant to the default Rust-based versions, run:
apt install coreutils-from-uutils
This is especially useful if you installed prior to the Beta, in which case you are still running the GNU version.
Don’t be alarmed that this prints a lot of output about diversions; for safety reasons, we prevent actually removing the coreutils binaries by the use of ephemeral protective diversions. If you are interested in the technical details, you can find further information in the Migration to rust-coreutils in 25.10 post.
Foundations Toolchains
The Foundations Toolchains team is responsible for advancing each supported toolchain “up the value chain”, making Ubuntu the best platform to develop and deploy from cloud to edge.
This is LTS time in toolchain land. OpenJDK 25 is the latest LTS of Java released on September 16th, and it has made it into Ubuntu 25.10. Similarly, .NET 10 is the upcoming LTS that will be released in November, and you have the latest release candidate of .NET 10 available in 25.10.
Under the new and shiny tag, you will get a preview of the new Zig language compiler in this release. Zig 0.14.1 is available for amd64 and arm64. We hope to add support to the remaining architectures in future releases, as the upstream project extends support for native builds to these.
A zig-defaults package, currently pointing to zig 0.14.1, is also published. Here are simple steps to install and get started with Zig on Questing Quokka:
Install Zig and check version:
$ sudo apt update && sudo apt install zig
$ zig version
Create a starter project and build it:
$ zig init && zig build
Run the starter:
$ ./zig-out/bin/root
Continuing to advance the developer experience
As we gear up for the next Ubuntu LTS 26.04, we continue to level up the developer experience for application development with these toolchains.
.NET: We have enhanced the .NET Snapcraft plugin to improve support for monorepo setups, delivering better developer experience with MSBuild through custom flag attributes. The popular tools from Powershell on Windows, which we brought to amd64 earlier, are now also available on the arm64, ppc64el, and s390x platforms through the Powershell snap.
GraalVM: Similarly, the GraalVM CE snap is also made available on arm64 on the latest (v25) and v21 channels.
Spring: The devpack-for-spring snap is getting a new setup command to install and configure your development environment using a curated set of tools.
In case you missed it, read our Leveling up Ubuntu for Developers series of posts, for Java and for .NET. Start building your apps with your favorite frameworks and toolchains on Ubuntu. The Ubuntu for Developers documentation will help you with tutorials and how-to guides.
Also, visit our new homepage at ubuntu.com/toolchains - this landing page mostly points to the developer docs, but more updates will come in the future
Foundations Architectures
The Foundations Architectures team is responsible for advancing Ubuntu and its ecosystem support across all architectures, especially RISC-V, Raspberry PI, and ARM.
RISC-V
Upcoming hardware for RISC-V targets the RVA23S64 ISA profile which brings a lot of new exciting features to RISC-V. The mandatory set includes for instance scalable vector support and pointer masking which will both help to bring the architecture to an execution speed comparable to ARM and x86. Optional extensions include control flow integrity and vector crypto support.
We therefore raised the baseline for the 25.10 to RVA23 release at the start of the month. A rebuild of main showed only a very low number of issues coming up. Two bugs in GCC were fixed by upstream maintainers. QEMU emulation on s390x still has an endian issue. We plan for a whole archive rebuild in the 26.04 cycle.
How to enable RVA23 support for compiled languages other than C and C++ is under investigation.
As RVA23 hardware is not yet on the market currently QEMU is the only supported platform in the 25.10 release. Existing hardware will continue to be supported in the 24.04 LTS release.
Raspberry PI
A new layout of the boot partition (A/B boot) is introduced to enhance the reliability of the boot process. This will automatically “test” new boot assets written to the boot partition before committing them as the current “known good” set. See the call for testing for more information.
ARM64
Thanks to Stubble, a device tree loading EFI stub, Ubuntu 25.10 will enable Secure Boot on Qualcomm Snapdragon Laptops. You can learn more about it in this post: [Spec] stubble: A secure-boot friendly device-tree loading EFI stub.
Ubuntu Release
Also known as the Release Management team, it is responsible for providing our release infrastructure and driving all our release activities
Ubuntu Snapshot Releases
@jnsgruk announced back in May (Supercharging Ubuntu Releases: Monthly Snapshots & Automation) that we would supercharge Ubuntu releases and introduce monthly snapshots. While this was a bold proposal, @utkarsh and his team did a great job following through and producing 4 snapshots
And that is all the snapshots we need for a cycle since snapshots 5 timing was not necessary since we had Ubuntu 25.10 Beta last week and snapshots 6 would be the actual release.
But these 4 snapshots allowed us to exercise the process and identify improvement opportunities. There will be snapshots for 26.04 and we will continue to improve the process and produce them with more automation and more content.
Dangerous Ubuntu Desktop images
Seeking thrills? Blindly re-install your system with an ISO with all snaps from edge, completely untested!
These images were created, so that during development spikes, developers would have access to daily ISOs with all of their recent changes, without having to mess with the regular daily images.
Read more about it in the blog post: Daily dangerous desktop images have landed!
Documentation
During the 25.10 cycle, the Foundations team focused mostly on two documentation sets: Ubuntu for Developers and Ubuntu Project. While the former is a full-fledged docs set with tutorial and how-to guidance for the toolchains Foundations supports on Ubuntu, the latter is a completely new effort to consolidate docs on how Ubuntu is made.
In Ubuntu for Developers, we have two new Java-related tutorials (thanks to @pushkarnk):
In Ubuntu Project docs, we are working with all of Ubuntu Engineering to consolidate and bring up-to-date all the existing documentation that explains how the distribution is created and maintained. This includes the description of various processes (think merges, sponsoring, freezes, etc.), as well as guidance for contributors and maintainers (think bug triaging, packaging, but also project governance and similar). See our fortnightly updates for more on our progress.
Looking Ahead
All teams are hard at work finishing Ubuntu 25.10 and planning for Ubuntu 26.04 LTS. Our next LTS development will start in about 3 weeks and we will have to support it for a long time. So we will put extra effort in stabilizing everything that was done this cycle.
Stabilization
There has been some media coverage regarding some of the performance issues discovered by the team about rust-coreutils. While these raised concerns and alarms, it also showed how quickly problems like this could be turned around and even made into an opportunity.
The base64 performance issue was raised quickly upstream and made it to the latest rust-coreutils 0.2 with now massive performance gains over gnu-coreutils.
Ubuntu 26.04 Archive opening will increase the test coverage for rust-coreutils in the distro dramatically and while we anticipate some problems, we have dedicated time next cycle to closely follow its integration in Ubuntu and we’ll continue to work very closely with the rust-coreutils team upstream.
Packaging Experience Improvement
We are also planning a few exciting new features to enhance the packaging experience with apt. The apt history-list and apt history-info will be bringing very useful new capabilities to apt providing greater control to the user on the state of their system packages. And we’ll bring these improvements to both Debian and Ubuntu.
Here is a quick look at the history-list feature:
history-info allows you to inspect what each of these commands did to your system:
We might even allow undoing a past packaging action but more on this later 
If you want to follow the development see the Merge Request on Salsa.
What about the Rust and Go developer edition?
As you’ve seen in these previous posts [1][2], we’ve made great progress on our .NET and Java ecosystem and advanced the developer experience on Ubuntu for each toolchain, but what about Go and Rust?
And before our friends from the Rust and Golang communities start complaining, let us assure them that we are not ignoring them. Keep watching this space, as we will soon talk about what we have done and are planning to do for Rust and Go application developers.
A devpack for Golang with a curated set of developer tools is on its way and so is better cadence of Rust and Cargo deliveries.
—
And that’s just a glimpse of what’s coming in Questing Quokka. Download the beta, kick the tires, and share your feedback — your input helps shape 26.04 LTS.
Thanks