<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/NEWS, branch master</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=master</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2026-05-10T20:45:44Z</updated>
<entry>
<title>shred: don't block when opening FIFOs with no readers</title>
<updated>2026-05-10T20:45:44Z</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2026-05-09T22:43:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=f77f365ef5c93614f42db4f087d67a3f7aae276a'/>
<id>urn:sha1:f77f365ef5c93614f42db4f087d67a3f7aae276a</id>
<content type='text'>
* NEWS: Mention the bug fix.
* src/shred.c (wipefile): Open the file with O_NONBLOCK.
* tests/shred/fifo.sh: New file.
* tests/local.mk (all_tests): Add the new test.
</content>
</entry>
<entry>
<title>ls: exclude newline from consideration in line width</title>
<updated>2026-05-04T22:58:12Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-05-04T14:34:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=e63681148123216697701ec9f9750a4ccf0c6671'/>
<id>urn:sha1:e63681148123216697701ec9f9750a4ccf0c6671</id>
<content type='text'>
* src/ls.c (calculate_columns): Treat width as inclusive max.
(print_with_separator): Likewise.  Also handle commas explicitly,
since they're not catered for by an implicit newline in the count.
* tests/ls/w-option.sh: Adjust exact-fit column tests.
Note this change also makes the existing `ls -w4 -x -T0 a b` test
behave consistently with other output width limits.
Also add the test case from:
https://github.com/coreutils/coreutils/pull/213
* tests/ls/m-option.sh: Add a test case to ensure appropriate
wrapping when trailing comma at the line limit.
* NEWS: Mention the change in behavior.
</content>
</entry>
<entry>
<title>unexpand: fix heap overflow</title>
<updated>2026-04-29T12:16:43Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-04-28T19:33:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=b60a159fdc5bfcf9988d3a4cb6f53abe8ad5d35d'/>
<id>urn:sha1:b60a159fdc5bfcf9988d3a4cb6f53abe8ad5d35d</id>
<content type='text'>
* src/unexpand.c (unexpand): Use xinmalloc() to gracefully
handle overflow.  Also use the runtime locale specific MB_CUR_MAX
rather than the worst case MB_LEN_MAX.
* tests/unexpand/mb.sh: Add a test case that fails in a default
glibc build with either MB_CUR_MAX or MB_LEN_MAX.
* NEWS: Mention the bug fix.
Reported by Michał Majchrowicz.
</content>
</entry>
<entry>
<title>sort: use more dynamic memory allocation with pipes</title>
<updated>2026-04-29T12:16:21Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-04-27T14:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=38cf97c1ff81895ca3c2b20ede817380e7004dcf'/>
<id>urn:sha1:38cf97c1ff81895ca3c2b20ede817380e7004dcf</id>
<content type='text'>
The default memory allocation with pipes was too passive/static,
resulting in not allocating enough memory to enable threading.
By dynamically reallocating the buffer when reading from
unknown sized inputs we better use available memory and threads.

  $ time seq 10000000 -1 0 | sort-old &gt;/dev/null
  real	0m16.523s
  user	0m16.900s
  sys	0m0.167s

  $ time seq 10000000 -1 0 | sort-old -S1G &gt;/dev/null
  real	0m12.263s
  user	0m29.646s
  sys	0m0.527s

  $ time seq 10000000 -1 0 | sort-new &gt;/dev/null
  real	0m12.994s
  user	0m31.266s
  sys	0m0.716s

It also avoids the overhead of writing to temp files
for modestly sized inputs. For example the following
input would induce interaction with temp storage:

  $ seq 125000 | wc -c
  763895

* src/sort.c (sort_buffer_size): Rename to ...
(sort_buffer_policy): ... here, and adjust to set
an initial size and limit, rather than just a size.
(fillbuf): Add a POLICY parameter, and use that
to call maybe_growbuf() as needed.
(maybe_growbuf): Return true if POLICY dictates we
should grow the buffer, and try_growbuf() was
able to reallocate the larger buffer.
* tests/sort/sort-buffer-size.sh: Add a new test.
* tests/local.mk: Reference new test.
* NEWS: Mention the improvement.
Related to https://bugs.gnu.org/10877
</content>
</entry>
<entry>
<title>pinky: don't print output in the wrong order when fully buffered</title>
<updated>2026-04-29T01:28:25Z</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2026-04-29T01:28:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=4c4afad943d9aea3f84db3d069abebbfa20e46da'/>
<id>urn:sha1:4c4afad943d9aea3f84db3d069abebbfa20e46da</id>
<content type='text'>
* NEWS: Mention the bug fix.
* src/pinky.c (cat_file): Prefer streams to file descriptors when
writing to standard output.
</content>
</entry>
<entry>
<title>uniq: fix read overrun with -w</title>
<updated>2026-04-28T18:25:41Z</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2026-04-28T18:25:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=d64e35a8a4c0e4608321433e0d84d917e4e36371'/>
<id>urn:sha1:d64e35a8a4c0e4608321433e0d84d917e4e36371</id>
<content type='text'>
Problem reported by Michał Majchrowicz.
* src/uniq.c (find_field): Fix typo.
* tests/uniq/uniq.pl (add_z_variants): Test for the bug.
</content>
</entry>
<entry>
<title>comm: don't close standard input twice</title>
<updated>2026-04-23T02:12:44Z</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2026-04-22T03:10:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c5ddd417aa8d8e1cf070445760e1747410fb42be'/>
<id>urn:sha1:c5ddd417aa8d8e1cf070445760e1747410fb42be</id>
<content type='text'>
* NEWS: Mention the bug fix.
* src/comm.c (usage): Remove mention that FILE1 and FILE2 cannot both be
standard input.
(compare_files): Only close standard input once.
* doc/coreutils.texi (comm invocation): Document the behavior of
'comm - -' which is not portable to all implementations.
* tests/comm/dash-dash.sh: New file.
* tests/misc/comm.pl: Move to tests/comm/comm.pl.
* tests/local.mk (all_tests): Add the new test. Rename the existing
test.
</content>
</entry>
<entry>
<title>maint: post-release administrivia</title>
<updated>2026-04-20T13:17:01Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-04-20T13:17:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=ac7e1118731fddaaa041ebb5c34de6989d8decf8'/>
<id>urn:sha1:ac7e1118731fddaaa041ebb5c34de6989d8decf8</id>
<content type='text'>
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
</content>
</entry>
<entry>
<title>version 9.11</title>
<updated>2026-04-20T12:41:57Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2026-04-20T12:41:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c01fd163a47468a8296fb369f5233853bb551bb6'/>
<id>urn:sha1:c01fd163a47468a8296fb369f5233853bb551bb6</id>
<content type='text'>
* NEWS: Record release date.
</content>
</entry>
<entry>
<title>doc: NEWS item for who systemd fix</title>
<updated>2026-04-19T18:50:56Z</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2026-04-19T18:50:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=271d3ff5f9d3bbb259f6c58d695ce693c92cadba'/>
<id>urn:sha1:271d3ff5f9d3bbb259f6c58d695ce693c92cadba</id>
<content type='text'>
</content>
</entry>
</feed>
