All posts by corbet

Vim 9.1 released

Post Syndicated from corbet original https://lwn.net/Articles/956696/

Version 9.1 of the
Vim editor has been released. “This release is dedicated to Bram
Moolenaar, Vims lead developer for more than 30 years, who passed away half
a year ago. The Vim project wouldn’t exist without his work
“. Changes
include new support for classes and objects in the scripting language,
smooth scrolling support, an EditorConfig plugin, and more.

[$] LWN’s guide to 2024

Post Syndicated from corbet original https://lwn.net/Articles/954544/

The calendar has flipped over into 2024 — another year has begun. Here at
LWN, we do not have a better idea of what this year will bring than anybody
else does, but that doesn’t keep us from going out on a shaky limb and
making predictions anyway. Here, for the curious, are a few things that we
think may be in store for 2024.

[$] The trouble with MAX_ORDER

Post Syndicated from corbet original https://lwn.net/Articles/956321/

One might not think that much could be said about a simple macro defining a
constant integer value. But the kernel is special, it seems. A change to
the definition of MAX_ORDER has had a number of follow-on effects,
and the task of cleaning up after this change is not done yet. So perhaps
a look at MAX_ORDER is in order.

Kernel prepatch 6.7-rc8

Post Syndicated from corbet original https://lwn.net/Articles/956467/

Linus has released 6.7-rc8 for testing.

So as expected, pretty much nothing happened over the holiday week.
We’ve got literally just 45 files changed, and almost a third of
those files aren’t even kernel code (ie things like selftests,
scripting, Kconfig and maintainer file updates). And some of the
rest is prep-work and cleanups for future (real) changes.

But we do have a couple of real fixes in there, and I suspect we’ll
get a few more next week as people come back from their
food-induced torpor.

Gnuplot 6.0 released

Post Syndicated from corbet original https://lwn.net/Articles/956454/

Version 6.0 of the Gnuplot plotting system
has been released.

Gnuplot has been supported and under active development since 1986.
This is the first new major version of gnuplot since the release of
version 5 in January 2015. It introduces extensions to the gnuplot
command language, an expanded collection of special and
complex-valued functions, additional 2D and 3D plotting styles, and
support for new output protocols.

See the
release notes
for details.

Gentoo in binary form

Post Syndicated from corbet original https://lwn.net/Articles/956366/

Gentoo Linux is the prototypical source-based distribution, but there is
now a
binary installation option
available as well.

To speed up working with slow hardware and for overall convenience,
we’re now also offering binary packages for download and direct
installation! For most architectures, this is limited to the core
system and weekly updates – not so for amd64 and arm64
however. There we’ve got a stunning >20 GByte of packages on our
mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker.

Debian statement on the Cyber Resilience Act

Post Syndicated from corbet original https://lwn.net/Articles/956187/

The Debian project has completed a
general-resolution vote
, adopting a statement expressing concern about
the Cyber Resilience Act (CRA) pending in the European Union.

Even if only “commercial activities” are in the scope of CRA, the
Free Software community – and as a consequence, everybody – will
lose a lot of small projects. CRA will force many small enterprises
and most probably all self employed developers out of business
because they simply cannot fulfill the requirements imposed by
CRA. Debian and other Linux distributions depend on their work. If
accepted as it is, CRA will undermine not only an established
community but also a thriving market. CRA needs an exemption for
small businesses and, at the very least, solo-entrepreneurs

Kernel prepatch 6.7-rc7

Post Syndicated from corbet original https://lwn.net/Articles/956092/

The 6.7-rc7 kernel prepatch is out for
testing.

Anyway, rc7 itself looks fairly normal. It’s actually a bit bigger
than rc6 was, but not hugely so, and nothing in here looks at all
strange. Please do give it a whirl if you have the time and the
energy, but let’s face it, I expect things to be very quiet and
this to be one of those “nothing happens” weeks. Because even if
you aren’t celebrating this time of year, you might take advantage
of the peace and quiet.

The 6.7 kernel will be released on January 7

Post Syndicated from corbet original https://lwn.net/Articles/955970/

Unsurprisingly, Linus Torvalds has let
it be known
that he will do a 6.7-rc8 release (rather than 6.7 final)
on December 31, thus avoiding opening the 6.8 merge window on New
Year’s Day.

Just FYI – my current plan is that -rc7 will happen this Saturday
(because I still follow the Finnish customs of Christmas _Eve_
being the important day, so Sunday I’ll be off), and then if
anything comes in that week – which it will do, even if networking
might be offline – I’ll do an rc8 the week after.

Then, unless anything odd happens, the final 6.7 release will be Jan
7th, and so the merge window for 6.8 will open Jan 8th.

[$] Data-type profiling for perf

Post Syndicated from corbet original https://lwn.net/Articles/955709/

Tooling for profiling the effects of memory usage and layout has always
lagged behind that for profiling processor activity, so Namhyung Kim’s patch set for data-type profiling
in perf
is a welcome addition. It provides aggregated breakdowns of
memory accesses by data type that can inform structure layout and access
pattern changes. Existing tools have either, like heaptrack, focused on
profiling allocations, or, like perf mem, on accounting memory
accesses only at the address level. This new work builds on the latter,
using DWARF debugging information to correlate memory operations with their
source-level types.

Announcing `async fn` and return-position `impl Trait` in traits (Rust Blog)

Post Syndicated from corbet original https://lwn.net/Articles/955925/

The Rust Blog announces
the stabilization of a couple of trait features aimed at improving support
for async code:

Ever since the stabilization of RFC #1522 in Rust 1.26, Rust has
allowed users to write impl Trait as the return type of
functions (often called “RPIT”). This means that the function
returns “some type that implements Trait“. This is
commonly used to return closures, iterators, and other types that
are complex or impossible to write explicitly. […]

Starting in Rust 1.75, you can use return-position impl
Trait
in trait (RPITIT) definitions and in trait impls. For
example, you could use this to write a trait method that returns an
iterator: […]

So what does all of this have to do with async functions? Well,
async functions are “just sugar” for functions that return
-> impl Future. Since these are now permitted in
traits, we also permit you to write traits that use async fn.