LibreOffice online is a web-based version of the LibreOffice suite that can
be hosted on anybody’s infrastructure. This project was put into stasis back in 2022, a move marked by
some tension with Collabora, a major LibreOffice developer that has its own online offering. Now,
the Document Foundation has announced
a new effort to breathe life into this project.
We plan to reopen the repository for LibreOffice Online at The
Document Foundation for contributions, but provide warnings about
the state of the repository until TDF’s team agrees that it’s safe
and usable – while at the same time encourage the community to join
in with code, technologies and other contributions that can be used
to move forward.
Meanwhile, this
post from Michael Meeks suggests that the tension around online
versions of LibreOffice has not abated.
The facilities provided by the kernel for the management of processes have
evolved considerably in the last few years, driven mostly by the advent of
the pidfd API. A pidfd is a file
descriptor that refers to a process; unlike a process ID, a pidfd is an
unambiguous handle for a process; that makes it a safer, more deterministic
way of operating on processes. Christian Brauner, who has driven much of
the pidfd-related work, is proposing
two new flags for the clone3()
system call, one of which changes the kernel’s security model in a
somewhat controversial way.
Version
11.1.0 of the GNU Octave scientific programming language has been
released.
This major release contains many new and improved functions. Among
other things, it brings better support for classdef objects and
arrays, broadcasting for special matrix types (like sparse,
diagonal, or permutation matrices), updates for Matlab
compatibility (notably support for the nanflag, vecdim and other
parameters for many basic math and statistics functions), and
performance improvements in many functions.
The Ladybird browser project has announced a move to
the Rust programming language:
When we originally evaluated Rust back in 2024, we rejected it
because it’s not great at C++ style OOP. The web platform object
model inherits a lot of 1990s OOP flavor, with garbage collection,
deep inheritance hierarchies, and so on. Rust’s ownership model is
not a natural fit for that.
But after another year of treading water, it’s time to make the
pragmatic choice. Rust has the ecosystem and the safety guarantees
we need. Both Firefox and Chromium have already begun introducing
Rust into their codebases, and we think it’s the right choice for
Ladybird too.
Large language models are being used to translate existing code.
Linus has released 7.0-rc1 and closed the
merge window for this development cycle. “You all know the drill by
now: two weeks have passed, and the kernel merge window is closed.“
The kernel’s unloved but performance-critical swapping subsystem has been
undergoing multiple rounds of improvement in recent times. Recent articles
have described the addition of the swap
table as a new way of representing the state of the swap cache, and the removal of the swap map as the way of
tracking swap space. Work in this area is not done, though; this series from
Nhat Pham addresses a number of swap-related problems by replacing the
new swap table structures with a single, virtual swap space.
The “More Accurate Explicit Congestion Notification” (AccECN) mechanism is
defined by this
RFC draft. The Linux kernel has been gaining support for AccECN with
TCP over the last few releases; the 7.0 release will enable it by default
for general use. AccECN is a subtle change to how TCP works, but it has
the potential to improve how traffic flows over both public and private
networks.
The Asahi Linux project, which is working to implement support for Linux on
Apple CPUs, has published a detailed 6.19
progress report.
We’ve made incredible progress upstreaming patches over the past 12
months. Our patch set has shrunk from 1232 patches with 6.13.8, to
858 as of 6.18.8. Our total delta in terms of lines of code has
also shrunk, from 95,000 lines to 83,000 lines for the same kernel
versions. Hmm, a 15% reduction in lines of code for a 30% reduction
in patches seems a bit wrong…
Not all patches are created equal. Some of the upstreamed patches
have been small fixes, others have been thousands of lines. All of
them, however, pale in comparison to the GPU driver.
The GPU driver is 21,000 lines by itself, discounting the
downstream Rust abstractions we are still carrying. It is almost
double the size of the DCP driver and thrice the size of the
ISP/webcam driver, its two closest rivals. And upstreaming work has
now begun.
Version 9.2 of the
Vim text editor has been released. “Vim 9.2 brings significant
enhancements to the Vim9 scripting language, improved diff mode,
comprehensive completion features, and platform-specific improvements
including experimental Wayland support.” Also included is a new
interactive tutor mode.
Transient devices pose a special challenge for an operating-system kernel.
They can disappear at any time, leaving behind kernel data structures that
no longer refer to an existing device, but which may still be in use by
unknown kernel code. Managing the resulting lifecycle issues has
frustrated kernel developers for years. In September 2025, the revocable resource-management patch series
from Tzung-Bi Shih appeared to offer a partial solution to this problem.
Since then, though, other problems have arisen, and the planned merging of
this series into the 7.0 release has been called off.
Version 6.17 of the Linux
manual-page collection has been released. Along with a long list of
updates to the man pages themselves, it includes some new utility programs
of interest.
The grepc(1) program is something that originated in this project,
as it helped me find code quickly in glibc and the Linux kernel.
However, I’ve found it incredibly useful outside of this project.
I’ll take some space to announce it, as it’s much more than just a
tool for writing manual pages, and I expect it to be useful to most
–if not all– C programmers.
It is a command-line tool that finds C source code (for example, a
function definition) in arbitrary projects. It doesn’t use any
indexing mechanism (unlike ctags and similar tools). This means
that it can be used right after cloning some repository, without
having to first generate an index.
From the NANOG list comes the sad news of the
passing of Dave Farber.
His professional accomplishments and impact are almost endless, but
often captured by one moniker: “grandfather of the Internet,”
acknowledging the foundational contributions made by his many
students at the University of California, Irvine; the University of
Delaware; the University of Pennsylvania; and Carnegie Mellon
University.
Linus Torvalds released
the 6.19 kernel on February 8, as expected. This development
cycle brought 14,344 non-merge changesets into the mainline, making it the
busiest release since 6.16 in July 2025. As usual, we have put together a
set of statistics on where these changes come from, along with a quick look
at how long new kernel developers stay around.
Linus has released the 6.19 kernel.
“No big surprises anywhere last week, so 6.19 is out as expected – just
as the US prepares to come to a complete standstill later today
watching the latest batch of televised commercials.”
For those wanting more machine learning in the kernel, Viacheslav Dubeyko
has posted a
new in-kernel library for that purpose.
What is the goal of using ML models in Linux kernel? The main goal
is to employ ML models for elaboration of a logic of particular
Linux kernel subsystem based on processing data or/and an efficient
subsystem configuration based on internal state of subsystem. As a
result, it needs: (1) collect data for training, (2) execute ML
model training phase, (3) test trained ML model, (4) use ML model
for executing the inference phase. The ML model inference can be
used for recommendation of Linux kernel subsystem configuration
or/and for injecting a synthesized subsystem logic into kernel
space (for example, eBPF logic).
It is rigorously undocumented
and there are no real users, so it’s not entirely clear what the purpose
is, but there are undoubtedly interesting things that could be done with
it.
The first installment in this series
introduced several data structures in the kernel’s swap subsystem and
described work to replace some of those with a new “swap table” structure.
The work did not stop there, though; there is more modernization of the
swap subsystem queued for an upcoming development cycle, and even more for
multiple kernel releases after that. Once that work is done, the swap
subsystem will be both simpler and faster than it is now.
Version 2.53.0 of the Git
source-code management system has been released. Changes include
documentation for the Git data model, the ability to choose the diff
algorithm to use with git blame, a new white-space error class,
and more; see the announcement for details.
The kernel’s swap subsystem is a complex and often unloved beast. It is
also a critical component in the memory-management subsystem and has a
significant impact on the performance of the system as a whole. At the
2025 Linux Storage, Filesystem, Memory-Management and BPF Summit, Kairui
Song outlined a plan to simplify and
optimize the kernel’s swap code. A first installment
of that work, written with help from Chris Li, was merged for the 6.18
release. This article will catch up with the 6.18 work, setting the stage
for a future look at the changes that are yet to be merged.
The 6.19-rc8 kernel prepatch is out for
testing. “So things all look good, and unless something odd happens
we’ll have a final 6.19 next weekend.“
The collective thoughts of the interwebz
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.