We plan to release coreutils-9.11 early next week,
so any testing you can do on various different systems
between now and then would be most welcome.
This release comes about 11 weeks after the 9.10 release.
--------------------------------------
You can download the coreutils snapshot in xz format (6.0 MiB) from:
https://pixelbeat.org/cu/coreutils-ss.tar.xz
And verify with gpg or md5sum with:
https://pixelbeat.org/cu/coreutils-ss.tar.xz.sig
MD5 (coreutils-ss.tar.xz) = f5acd1cbffb4cfba878008e5c1c20dd5
--------------------------------------
To test, follow this standard procedure:
tar -xf coreutils-ss.tar.xz
cd coreutils-9.10.289-a8598/
./configure && make check VERBOSE=yes
Failures are shown, and details are in tests/test-suite.log
Please report/attach any issues to [email protected]
--------------------------------------
This snapshot was bootstrapped with:
Autoconf 2.73.1-b400b
Automake 1.18.1
Gnulib v1.0-2847-g001a315786
Bison 3.8.2
Changes in coreutils since v9.10 are summarized at
https://git.sv.gnu.org/cgit/coreutils.git/tree/NEWS
and all commits grouped by author are as follows:
Bruno Haible (1):
tests: Avoid accidental matching of the vendor field of $host
Chris Down (2):
pwd: fix heap buffer overflow in file_name_prepend
sort: speed up keyed field sorting significantly using memchr
Collin Funk (87):
stat,df: remove an unnecessary alloca
tests: df: check that --sync always calls sync before statfs
doc: kill: adjust documentation to produce html anchors for --help
tests: nl: check that all files are processed
tests: fold: check that all files are processed
doc: NEWS: mention the recent kill documentation fix
nl: support multi-byte section delimiters
maint: pinky: reduce variable scope
tests: date: check that options can follow the format string
maint: seq: reduce variable scope
maint: seq,who: prefer xasprintf
maint: expr: reduce variable scope
wc: add aarch64 Neon optimization for wc -l
maint: tty: prefer static initialization
maint: rmdir: prefer static initialization
maint: tee: prefer static initialization
maint: fold: prefer static initialization
maint: touch: prefer static initialization
maint: nl: prefer static initialization
maint: ln: prefer static initialization
maint: head: prefer static initialization
maint: chmod: prefer static initialization
maint: install: prefer static initialization
maint: paste: prefer static initialization
maint: seq: prefer static initialization
maint: cut: prefer static initialization
maint: join: prefer static initialization
maint: tac: prefer static initialization
maint: wc: prefer static initialization
maint: comm: prefer static initialization
maint: csplit: prefer static initialization
maint: tail: prefer static initialization
maint: split: prefer static initialization
maint: df: prefer static initialization
maint: sort: prefer static initialization
maint: fmt: prefer static initialization
maint: printf: prefer static initialization
tests: chmod: test that chmod(2) is always called
shuf: avoid locking standard output when using --input-range
tests: shuf: check that write errors are promptly diagnosed
doc: stty: mention the -g does not save the terminal window size
doc: tee: avoid the use of gpg cleartext signatures in an example
groups: promptly diagnose write errors
id: promptly diagnose write errors
stat: don't check QUOTING_STYLE when --printf %%N is used
du: avoid locking and flushing standard output
build: update gnulib submodule to latest
tests: wc,du: add additional --files0-from test cases
tests: avoid failure on systems without an optimized 'cksum' or 'wc -l'
tests: avoid false test failure when using address sanitizer
install: allow the combination of --compare and --preserve-timestamps
maint: chown,chgrp: reduce variable scope
maint: touch: reduce variable scope
build: update gnulib submodule to latest
build: update gnulib submodule to latest
maint: prefer memset_explicit to explicit_bzero
maint: remove duplicate names from THANKS
wc: improve aarch64 Neon optimization for 'wc -l'
tests: rm: check for hints when running 'rm -foo'
doc: NEWS: adjust 'wc -l' aarch64 benchmark after recent commit
timeout: don't exit immediately if the parent is the init process
tee: prefer file descriptors over streams
wc: make sure input buffer for neon 'wc -l' is aligned
maint: tee: remove an affirm call to silence coverity
sort,split,yes: ensure pipe and pipe2 don't open standard descriptors
tests: truncate: check that all files are processed
test: truncate: improve the test added in the previous commit
tests: nl: check that all files are processed
tac: promptly diagnose write errors
tests: rm: fix a test that would sometimes hang
tac: avoid unnecessary standard output buffering
tests: pwd: test the behavior when given an argument
maint: fix an incomplete sentence
maint: remove some unnecessary casts
tests: truncate: don't rely on errno being EISDIR
doc: tty: mention the removal of the -s option from POSIX
who: avoid locking standard output for each user with the -q option
maint: remove unnecessary return statements
date: avoid calling putenv multiple times unnecessarily
basename: avoid duplicate strlen calls on the suffix
build: update gnulib submodule to latest
cat: use splice if operating on pipes or if copy_file_range fails
maint: touch: prefer timespec_cmp
printenv: avoid locking standard output for each printed variable
env: avoid locking standard output for each printed variable
cat: avoid redundant pipe creation and resizing
mktemp: prefer rmdir and unlink to remove
Dr. David Alan Gilbert (1):
maint: unexpand: remove dead store
Gabriel (1):
date: add tests and NEWS for dd.mm.yy support
Lukáš Zaoral (2):
expand,unexpand: support multi-byte input
df: improve detection of duplicate entries
Paul Eggert (13):
build: update gnulib submodule to latest
cksum: prefer signed int
id: avoid unnecessary buffer flushing
stat: handle %%%N too
du: fflush after outputting a line
build: update gnulib submodule to latest
maint: avoid Gnulib modules mbiter, mbiterf
maint: avoid sigaction lock overhead
build: update gnulib submodule to latest
date: simplify -u by not calling putenv
maint: cut: refactor delimiter handling
maint: simplify c32issep
maint: revert “avoid pthread_sigmask lock”
Pádraig Brady (143):
maint: post-release administrivia
build: propagate $SHELL to makeinfo-wrapper.sh
maint: update gnulib to latest
maint: remove local maintainer-makefile adjustment
doc: pr: use -COLS consistently
build: update to latest gnulib
tests: fix false failure with dash or ksh
maint: remove extraneous code from test
tests: getlimits: output error strings
tests: determine errno string more efficiently
build: update gnulib to latest
tests: date: check dotted EU dates in combination
doc: relax github issue/pull-request instructions
tests: pwd: ensure our getcwd fallback is tested
maint: tests: avoid EPERM specific handling
maint: tests: avoid EPERM/EACCES specific handling
maint: tests: avoid AIX specific EACCES handling
tests: use system EACCES message
maint: tests: avoid ENOTSUP specific handling
tests: use system ENOTSUP message
tests: use system ENOSPC message
maint: tests: avoid ENOSPC specific handling
maint: tests: avoid ELOOP specific handling
maint: tests: avoid ERANGE specific handling
tests: use system ENOTEMPTY message
maint: tests: DRY a recent change
tests: fix "Hangup" termination of non-interactive runs
tests: factor,numfmt: verify embedded NUL handling
maint: fix description of tests/misc/io-errors.sh
tests: ensure failure to write warnings is handled gracefully
build: update gnulib to latest
maint: fix typo in previous test
maint: tests: decouple debug output determination
fold: fix output truncation with 0xFF bytes in input
maint: tests: refactor uses of bad_unicode()
cksum: use more defensive escaping for --check
build: update to latest gnulib
tests: expand: fix false failure on various systems
cksum: fix tagged output on 32 bit platforms
all: use more consistent blank character determination
yes: use a zero-copy implementation via (vm)splice
maint: adjust to placate coverity
doc: clarify a recent NEWS item
dd: always diagnose partial writes on write failure
doc: fix missing '=' in texi option descriptions
tests: ls: fix false failure on FreeBSD
tests: dd: fix false failure on NetBSD 10
tests: support checking for specific write errors
od: suppress address output on read error
tests: dd: avoid false failure with no controlling terminal
build: update to latest gnulib
doc: cut: clarify description of -b and -c
doc: cut: reorder --complement alphabetically in help
tests: cut: ensure no unecessary buffering
maint: cut: refactor output calls
cut: support multi-byte input with -c
cut: support multi-byte field delimiters
cut: support single byte -d that may be part of multi-byte
cut: support single byte -d with GB18030 input
cut: implement -w,--whitespace-delimited
cut: adjust error message to be less specific
tests: cut: check multi-byte output delimiter
tests: cut: add case currently failing for coreutils-i18n patch
tests: cut: add a test for divergence from i18n patch
cut: implement -n to avoid outputting partial characters
cut: refactor multi-byte updates
doc: cut: adjust for multi-byte support
cut: support -O as an alias for --output-delimiter
cut: support --whitespace-delimited=trimmed
maint: cut: refactor buffered and ordinary field scanning
cut: support -F as an alias for -f -w -O ' '
cut: faster utf8 processing
cut: add utf8 helper to mbbuf
cut: use bounded memory in utf8 mode when possible
cut: fix 25% perf regression mentioned in previous change
cut: refactor -f to byte search and character processing
cut: merge cut_fields and cut_fields_bytesearch
cut: optimize -d '?' in UTF-8 case
cut: optimize -f for fhe common case of single byte delimiters
cut: optimize -f when finished processing fields for a line
cut: refactor all byte search to find_bytesearch_field_terminator
cut: avoid repeated searchs for line_delim in the multi-byte delim case
cut: refactor find_bytesearch_field_terminator to be stateful
doc: cut: document the -w option
doc: cut: reorder -s in texi
cut: optimize -w for uni-byte case
tests: cut: ensure multi-byte delimiter is rejected in uni-byte locales
cut: optimize when no delimiter in input
cut: optimize -b by avoiding per byte iteration
cut: avoid fwrite calls for smaller amounts of data
cut: prefer c_isblank() to c32issep()
cut: optimize per character field scanning
cut: optimize -b for short lines
cut: optimize -f with -d longer than lines
cut: enable fast path for all delimiter lengths
maint: cut simplify cut_fields_bytesearch
cut: refactor skip_line_remainder logic
cut: optimize per character memcpy
maint: refactor is_utf8_charset helper to system.h
maint: cut: simplify mbbuf_fill
doc: cut: mention the default -O used with -w
doc: cut: clarify that -s suppressed lines with only trimmed spaces
cut: optimize UTF-8 input with 0xF5-0xFF delimiters
maint: cut: cleanup context management for byte search
doc: cut: resintate and expand -d info
cut: support no delimiter match fast path with -s
maint: cut: various code cleanups and comments
doc: cut: clarify that combining characters are not treated specially
cut: combine cut_bytes_no_split and cut_characters
cut: make the dependency on memchr2 explicit
tests: cut: add more multi-byte tests
maint: cut: rename line_in to bytes_in
cut: ensure responsive input processing
cut: fix logic issue with field delim in last byte of buffer
cut: -b: avoid function calls in hot loop
cut,fold,expand,unexpand: ensure we process all available characters
cut: -f: fix handling of multi-byte delimiters that span buffers
tests: cut: expand GB18030 tests
tests: cut: add remaining tests to ensure 100% coverage
doc: document cut(1) multi-byte and interface consolidation
build: cut: fix compilation error on non C23 compilers
tests: cat: avoid false failure on systems without splice
maint: cut: avoid discarded-qualifiers warnings
tests: numfmt: avoid false failure on systems without long double
tests: date: fix false failure on OpenBSD 7.8
cat: fix splice() from empty input
cat: avoid memory allocation per file
maint: cat: avoid coverity NULL dreference warning
tests: all: check empty tty input is handled appropriately
tests: tty-eof.pl: make fully table driven
tests: tty-eof.pl: address FIXME re hardcoded Ctrl-d
maint: move tty-eof.pl to misc directory
maint: remove last remaining assert()
tests: cut: ensure separate read paths checked
tests: stat: ensure independence from /proc/
tests: validate command responsiveness
tests: validate error handling when reading multiple files
tests: fix false failure under some shells
tests: fix false failure due to race
tests: avoid $SHELL -c "ulimit ..." pattern
tests: use more accurate ulimit with $SHELL -c
tests: avoid intermittent false failures with ksh
build: update gnulib to latest
Sam James (1):
build: fix --enable-single-binary=hardlinks with dash
Sylvestre Ledru (17):
tests: cp: ensure read-only dir perms preserved
test: ln: verify backup suffix path traversal prevention
tests: ln: verify that -f and -i override each other
tests: ls: treat invalid UTF-8 paths starting with a dot as hidden
test: cp: add test for non-UTF8 directory names
tests: cut: add test case for newline delimiter with -s flag
tests: date: add edge cases for modifiers
tests: date: add timezone conversion test
tests: tr: add test for invalid character class name
tests: cut: add test for -z with NUL delimiter and -s flag
tests: numfmt: cover GNU/uutils compatibility edge cases
tests: ls: add quoting-utf8 test for Unicode quotes in UTF-8 locales
test: od: verify -t f defaults to double precision
tests: ln: add test for non-UTF-8 source names in target-dir mode
tests: split: verify non-UTF-8 bytes are preserved in filenames
tests: expr: add short-circuit tests with parenthesized branches
tests: date: add large year test
Weixie Cui (2):
maint: dd: fix typo in comment
maint: shred: fix typo in comment
oech3 (19):
tests: ptx: add a robustness test case
tests: ptx: ensure bad unicode is supported
tests: arch: add option parsing check
tests: cp: ensure --debug output failure is diagnosed
tests: coreutils: remove redundant validity check
tests: sort: ensure --batch-size=(rlimit+1) fails
tests: whoami, logname: verify error handling
tests: nice: ensure a particular adjustment is disallowed
tests: shuf: ensure randomization doesn't depend solely on ASLR
tests: shuf: ensure we handle unsupported getrandom syscall gracefully
tests: shuf: ensure memory exhaustion is handled gracefully
tests: mktemp: ensure mktemp does not depend on getrandom and ASLR
tests: yes: support more zero-copy related syscalls
tests: od: ensure -j1 /dev/null succeeds
tests: env/env.sh: improve portability
tests: coreutils: ensure empty arg is diagnosed
tests: dd: check that erroneous seeks are not done in output
tests: dd: ensure memory exhaustion is handled gracefully
tests: tee: ensure intermittent data is handled
thank you!
Pádraig