[git commit] Announce 1.37.0

Denys Vlasenko vda.linux at googlemail.com
Thu Sep 26 21:27:48 UTC 2024


commit: https://git.busybox.net/busybox-website/commit/?id=201d08425c52522df1a29379ae0cb3b31f1633e3
branch: https://git.busybox.net/busybox-website/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 news.html | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 266 insertions(+)

diff --git a/news.html b/news.html
index 5693bb2..85986a0 100644
--- a/news.html
+++ b/news.html
@@ -17,6 +17,272 @@
     </p>
   </li>
 
+  <li><b>27 September 2024 -- BusyBox 1.37.0 (unstable)</b>
+    <p><a href="https://busybox.net/downloads/busybox-1.37.0.tar.bz2">BusyBox 1.37.0</a>.
+    (<a href="https://git.busybox.net/busybox/log/?h=1_37_stable">git</a>,
+    <a href="https://busybox.net/downloads/fixes-1.37.0/">patches</a>,
+    <a href="https://busybox.net/fix.html">how to add a patch</a>)</p>
+
+    <p>Sizes of busybox-1.36.0 and busybox-1.37.0 (with equivalent config, static musl build):<pre>
+   text	   data	    bss	    dec	    hex	filename
+1022792	    559	   4988	1028339	  fb0f3	busybox-1.36.0/busybox
+1024327	    559	   4988	1029874	  fb6f2	busybox-1.37.0/busybox
+</pre>
+    </p>
+
+    <p>Changes since previous release:
+<pre>Akos Somfai:
+      lineedit: fix crash when icanon set with -echo
+
+Andrej Picej:
+      hwclock: add get/set parameters option
+
+Arsen Arsenović:
+      fixdep: avoid underflow when end of entry doesn't coincide with EOF
+
+Christian Franke:
+      Cygwin: regenerate defconfig
+
+Dario Binacchi:
+      ip link: support for the CAN netlink
+
+David Leonard:
+      find: implement -ok
+      od: fix -O
+      od: add tests
+
+Denys Vlasenko:
+      build system: fix "Config.in:117 error: Overlong line"
+      libbb/dump: conditionalize code used only by xxd and od
+      libbb/dump: correct handling of 1-byte signed int format
+      libbb/dump: make xxd_displayoff member conditional on xxd
+      libbb/dump: use fputs_stdout where appropriate
+      libbb/sha: do not read shaNI variable twice, and factor out its setting
+      libbb/sha: fix sha-NI instruction detection
+      libbb: add bit counting function, use where appropriate
+      libbb: code shrink: introduce and use [_]exit_FAILURE()
+      libbb: consolidate NOMMU fix of restoring high bit in argv[0][0]
+      libbb: fix 64-bit bb_popcnt_long
+      libbb: pass "" rather than NULL as format string in _nomsg functions
+      lineedit: print prompt and editing operations to stderr
+      *: introduce and use exitcode_t
+      ash: code shrink - reuse is_prefixed_with() from libbb
+      ash: code shrink: do not take address of prefix(), allowing it to inline
+      ash: disable check for "good" function name, bash does not check this
+      ash: disable sleep as builtin, closes 15619
+      ash: do not abort interactive mode on >&9999 redirect
+      ash: exec: Stricter pathopt parsing - lost chunk
+      ash: fix broken new mail detection
+      ash: fix handling of single-quoted strings in pattern substitution
+      ash: fix sleep built-in not running INT trap immediately on ^C
+      ash: get rid of separate mail_var_path_changed flag variable
+      ash: remove "volatile" specifier from suppress_int
+      ash: remove limitation on fd# length
+      ash: sleep builtin with no arguments should not exit
+      hush (NOMMU): fix LINENO in execed children
+      hush: add comment about abort on syntax error %{^}
+      hush: avoid duplicate fcntl(F_SETFD, FD_CLOEXEC) during init
+      hush: detect when terminating "done"/"fi" is missing
+      hush: do not exit interactive shell on some redirection errors
+      hush: fix "exec 3>FILE" aborting if 3 is exactly the next free fd
+      hush: fix ELIF cmd1;cmd2 THEN ... not executing cmd2, closes 15571
+      hush: fix an interactive abort on error
+      hush: fix expansion of space in "a=${a:+$a }c" construct
+      hush: make "false" built-in
+      hush: printf builtin with no arguments should not exit
+      hush: quote values in "readonly" output
+      hush: quote variable values printed by "set" (match ash behavior)
+      hush: restore tty pgrp on SIGHUP
+      hush: set G.ifs sooner (prevents segfault)
+      hush: speed up "big heredoc" code
+      shell/math.h: update comments, rearrange struct members for smaller code
+      shell/math: $((1?)) has one-too-small opstack, fix this
+      shell/math: add note on ERANGE
+      shell/math: avoid $((3**999999999999999999)) to take years
+      shell/math: bash-compatible handling of too large numbers
+      shell/math: change ?: nesting code to not have 63 level nesting limitation
+      shell/math: decrease stack usage by not allocating copies of variable names
+      shell/math: do not accept $((36#@))
+      shell/math: document ternary ?: op's weirdness, add code comments
+      shell/math: eliminate redundant endofname()
+      shell/math: eliminate some redundant stores on return code path
+      shell/math: explain the logic, small tweak to make code smaller
+      shell/math: explain why we use separate &end
+      shell/math: fix ?: to not evaluate not-taken branches
+      shell/math: fix comments about jammed-together num+num corner cases
+      shell/math: fix nested ?: and do not parse variables in not-taken branch
+      shell/math: fix one name check, other minor cleanups
+      shell/math: fix order of expansion of variables to numbers
+      shell/math: fix parsing of ?: and explain why it's parsed that way
+      shell/math: fix the order of variable resolution in binops
+      shell/math: reduce stack usage
+      shell/math: remove a redundant check
+      shell/math: remove now-unused second_val
+      shell/math: remove special code to handle a?b?c:d:e, it works without it now
+      shell/math: rename TOK_NUM to TOK_VALUE, improve comments
+      shell/math: simpler insertion of "fake" last RPAREN
+      shell/math: simplify handling of unary plus
+      shell/read: do not allow empty variable name
+      shell: add a few yet-failing arithmentic tests
+      shell: avoid segfault on ${0::0/0~09J}. Closes 15216
+      shell: document another arithmetic discrepancy with bash
+      shell: fix SIGWINCH and SIGCHLD (in hush) interrupting line input, closes 15256
+      shell: move varcmp() to shell_common.h and use it in hush
+      awk: do not infinitely recurse getvar_s() if CONVFMT is set to a numeric value
+      awk: do not read ARGIND, only set it (gawk compat)
+      awk: fix SEGV on read error in -f PROGFILE
+      awk: fix backslash handling in sub() builtins
+      awk: fix closing of non-opened file
+      awk: fix handling of empty fields
+      awk: fix splitting with default FS
+      awk: fix subst code to handle "start of word" pattern correctly (needs REG_STARTEND)
+      awk: fix use-after-realloc (CVE-2021-42380), closes 15601
+      awk: get rid of one indirection level for iF (input file structure)
+      awk: implement -E; do not reorder -f and -e
+      awk: mktime() with no arguments is not allowed
+      awk: printf(INVALID_FMT) prints it verbatim
+      awk: remove a local variable "caching" a struct member
+      awk: shrink - use setvar_sn() to set variables from non-NUL terminated strings
+      chown: stop accepting deprecated USER.GROUP syntax, only : separator is allowed
+      factor: we can pack 21, not 20, 3-bit elements into packed wheel words
+      getfattr: fix "getfattr NOTEXIST" - now prints error msg
+      httpd: do not mangle cgi-bin/SCRIPT/params URLs
+      hwclock: force LONG_OPTS, stop accepting non-compatible -t
+      i2ctransfer: fix build warning
+      ls: do not truncate username/groupname to 8 chars
+      mkfs_vfat: do not generate same volume_id when run in rapid succession
+      modprobe: call finit_module with MODULE_INIT_COMPRESSED_FILE if module name doesn't end with .ko
+      nmeter: improve %T fractionals display
+      nmeter: increase maximum /proc file size (needed for large machines)
+      nproc: prepare for arbitrarily large CPU masks
+      nslookup: ensure unique transaction IDs for the DNS queries
+      ntpd: correct comment: 2^-20 is ~1 microsecond (confused with 10^-20)
+      ntpd: correct fixed->float conversions of fractions
+      ntpd: fix a warning on 32-bit arch build
+      ntpd: fold d_to_tv() into its only caller
+      od, hexdump: byte 0x11 is "dc1" not "dcl"
+      od: -l,I,L indeed depend on sizeof(long), fix this
+      od: actually remove -IL from --help, as comment says
+      od: correct -i, enable tests which pass for DESKTOP too
+      od: fix default format, shrink
+      od: for !DESKTOP, match output more closely to GNU coreutils 9.1, implement -s
+      od: implement -B
+      od: stop printing extra trailing spaces
+      od: support -DOHXIL
+      seedrng: fix for glibc <= 2.24 not providing getrandom()
+      seq: accept negative parameters
+      seq: fix yet another case of negative parameters not working
+      shuf: add (disabled) code to support very long numbers in -i LO-HI
+      shuf: another tweak to COMMON_PREFIX_HACK code
+      shuf: fix pfx_len calculation
+      shuf: remove redundant code
+      sleep: fix "sleep -- ARGS"
+      sleep: fix error exit when called as "sh" builtin
+      start-stop-daemon: do not lose error messages with -b
+      start-stop-daemon: fix --help: -K or -S is required
+      start-stop-daemon: make --output not depend on FANCY
+      start-stop-daemon: update comment, no code changes
+      syslogd: daemonize _after_ init (so that init errors are visible, if they occur)
+      syslogd: decrease stack usage, ~50 bytes
+      syslogd: fix breakage caused by "daemonize _after_ init" change
+      time: implement %% and \escapes in -f FMT
+      tls: P256: fix obscure x86_64 asm misbehavior, closes 15679
+      tls: P256: improve x86_64 multiplication asm code
+      tls: fix CONFIG_FEATURE_TLS_SHA1=y + CONFIG_SHA1_HWACCEL=y
+      top: improve large PID display in memory ('s') mode
+      top: stop using div() from libc, compilers now do it better
+      udhcpd: optional BOOTP support
+      unzip: clear SUID/GID bits, implement -K to not clear them
+      unzip: document some options we might support
+      wget: fix compile warnings when WGET_FTP is not selected
+
+Dominique Martinet:
+      sed: check errors writing file with sed -i
+
+Eric Blake:
+      readlink: support --, -n always
+
+Jones Syue:
+      crond: log5 fix typo, replace log level '4' with '5'
+
+Karsten Sperling:
+      ash: use-after-free in bash pattern substitution
+
+Louai Al-Khanji:
+      start-stop-daemon: implement option -O|--output
+
+Miroslav Lichvar:
+      ntpd: make NTP client and server Y2036/2038-ready
+
+Natanael Copa:
+      time: fix max resident set size unit
+      awk: fix use after free (CVE-2023-42363)
+
+Nero:
+      install: Fix chown resetting suid/sgid bits from chmod
+
+Peter Korsgaard:
+      util-linux/lsusb.c: print manufacturer/product strings if available
+
+Petja Patjas:
+      vi: Ensure that the edit buffer ends in a newline
+
+Petr Vorel:
+      sleep: Update doc
+
+Ron Yorston:
+      lineedit: fix matching of directories when searching PATH
+      ash: make EPOCH variables work if RANDOM is disabled
+      ash: improve trap and jobs builtins in child shells
+      ash,hush: tab completion of functions and aliases
+      tr: display usage for incorrect arguments
+      tsort: avoid use-after-free
+      awk: fix segfault when compiled by clang
+      ash: fix parsing of alias expansion + bash features
+      Makefile.flags: suppress clang warnings when cross-compiling
+      ash: remove defunct control character to save a few bytes
+      md5/shaXsum: accept uppercase hex strings
+      timeout: allow fractional seconds in timeout values
+      ash: move hashvar() calls into findvar()
+
+Russ Dill:
+      udhcp: Avoid leaking uninitialized/stale data
+
+Sertonix:
+      wget: ignore header casing
+
+Sören Tempel:
+      ed: don't use memcpy with overlapping memory regions
+
+Thomas Devoogdt:
+      seedrng: fix for glibc <= 2.24 not providing random header
+
+Tomas Paukrt:
+      appletlib: fix "warning: unused variable applet_no"
+      build system: clean more files on make clean
+
+Uwe Kleine-König:
+      build system: Make it possible to build with 64bit time_t
+
+YU Jincheng:
+      getfattr: new applet
+
+Yan Zhu:
+      docproc: avoid segfault during file closing
+
+Yousong Zhou:
+      libiproute: fix filtering ip6 route by table id
+
+ejaaskel:
+      start-stop-daemon: add -d DIR chdir option
+
+zhuyan:
+      ash: initialize basepf.buf in ash
+</pre>
+    </p>
+  </li>
+
+
   <li><b>19 May 2023 -- BusyBox 1.36.1 (stable)</b>
     <p><a href="https://busybox.net/downloads/busybox-1.36.1.tar.bz2">BusyBox 1.36.1</a>.
     (<a href="https://git.busybox.net/busybox/tree/?h=1_36_stable">git</a>)</p>


More information about the busybox-cvs mailing list