diff options
authorGravatar Denys Vlasenko <>2018-12-31 15:15:18 +0100
committerGravatar Denys Vlasenko <>2018-12-31 15:15:18 +0100
commit572a81c4ba265e2803460f5bf22c316d2d6f0a41 (patch)
parent3737fe90a83302a8ecd8877ed2a1fadacd675c16 (diff)
Announce 1.30.0
Signed-off-by: Denys Vlasenko <>
1 files changed, 200 insertions, 0 deletions
diff --git a/news.html b/news.html
index 918d9db..d981ede 100644
--- a/news.html
+++ b/news.html
@@ -34,6 +34,206 @@
+ <li><b>31 December 2018 -- BusyBox 1.30.0 (unstable)</b>
+ <p><a href="">BusyBox 1.30.0</a>.
+ (<a href="">git</a>,
+ <a href="">patches</a>,
+ <a href="">how to add a patch</a>)</p>
+ <p>Sizes of busybox-1.29.3 and busybox-1.30.0 (with equivalent config, static uclibc build):<pre>
+ text data bss dec hex filename
+ 941070 477 7296 948843 e7a6b busybox-1.29.3
+ 948463 477 7296 956236 e974c busybox-1.30.0</pre>
+ </p>
+ <p>Changes since previous release:
+<pre>Andre Goddard Rosa:
+ smemcap: keep outputting by ignoring transient processes
+Baruch Siach:
+ don't clobber dangling symlinks
+Bernhard Reutner-Fischer:
+ brctl: use a single buffer for brname and ifname
+ printf: fix printing +-prefixed numbers
+Brandon Maier:
+ ifupdown: support "source-directory" stanza
+Brandon P. Enochs:
+ ntpd: add support for MD5/SHA1 message authentication
+Chen Qi:
+ testsuite: check CONFIG_DESKTOP before using 'od -t'
+Chen Yu:
+ remove_file: don't call rmdir if remove_file return failure
+Christoph Schulz:
+ ash: reset tokpushback before prompting while parsing heredoc
+Denys Vlasenko:
+ libbb: @ in "\x3@" is not a valid hex digit
+ libbb: do not misinterpret 0x10-0x19 chars in "\xNNN" too
+ libbb: fix potential NULL pointer use
+ libbb: fix use-after-free in copy_file
+ libbb: in xmalloc_fgets(), use size_t for bb_get_chunk_from_file()
+ lineedit: fix "defined but not used" sigaction2 warning
+ tls: add support for ECDHE-ECDSA-AES-128-CBC-SHA and x25519 curve
+ tls: add support for TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 cipher
+ tls: add support for TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 cipher
+ tls: add support for 8 more cipher ids - all tested to work
+ tls: in AES-CBC code, do not set key for every record - do it once
+ tls: introduce FEATURE_TLS_SHA1 to make SHA1 code optional
+ tls: simplify hmac_begin(), speed up prf_hmac_sha256()
+ extend fractional duration support to "top -d N.N" and "timeout"
+ Revert "libbb: remove unnecessary variable in xmalloc_fgets"
+ ash: allow shell scripts to be embedded in the binary
+ ash: eval: Restore input files in evalcommand
+ ash: eval: Variable assignments on functions are no longer persistent
+ ash: exec: Return 126 on most errors in shellexec
+ ash: expand: Do not quote backslashes in unquoted parameter expansion
+ ash: expand: Fix ghost fields with unquoted $@/$*
+ ash: parser: Fix parsing of ${}
+ ash: var: Set IFS to fixed value at start time
+ ash,hush: fold shell_builtin_read() way-too-many params into a struct param
+ ash,hush: properly handle ${v//pattern/repl} if pattern starts with /
+ hush: expand_vars_to_list() should not assume it starts new word
+ hush: faster/smaller code to check for presense of multiple chars in string
+ hush: fix another case where empty "for" wasn't setting exitcode to 0
+ hush: fix/explain corner cases of redirection colliding with script fd
+ hush: fix handling of heredocs not enclosed in groups where they are "declared"
+ hush: fix handling of heredocs starting with empty lines
+ hush: fix handling of '' in ${var:+ARG}
+ hush: fix heredoc handling in the "cmd &lt;&lt;EOF ;&lt;newline&gt;" case
+ hush: fix nested redirects colliding with script fds
+ hush: fix "set -x" output prefix overlapping for v="..`cmd`.." case
+ hush: fix word splitting in ${v:+ARG} - dollar_altvalue1 test
+ hush: fix 'x=; echo ${x:-"$@"}' producing 'BUG in varexp2' message
+ hush: handle backslash-newline in heredoc terminators
+ hush: improve set -x: make "+++" indent level increase in `cmd` and eval.
+ hush: improve ${var#...}, ${var:+...} and ${var/.../...} - handle quoting
+ hush: in some cases, expand_on_ifs() relied of uninitialized memory
+ hush: make "set -x" output closer to bash
+ hush: make "set -x" output non-redirectable when fd#2 redirected
+ hush: never glob result of dquoted "${v:+/bin/c*}"
+ hush: set IFS to default on startup
+ hush: speed up ${var:+ARG} for literal ARGs
+ awk: abort if NF set to negative value
+ cat,nl: fix handling of open errors
+ cpio: if longopts are enabled, accept --null (synonym for -0)
+ cp: optional --reflink support
+ date: do not allow "month #20" and such, closes 11356
+ fdisk: sync up with some util-linux 2.31 behavior
+ fdisk: use strtoul[l] instead of atoi, closes 11176
+ find: implement -executable and -quit
+ free: ensure there is a least one space between numbers
+ grep: accept and ignore --color[=anything]
+ gzip: unbreak FEATURE_GZIP_LEVELS, closes 11171
+ hexdump: fix short file of zero bytes treated as dup
+ hexedit: fixes for redraw and down movement causing SEGV on attempt to access
+ init: hopefully fix "rebooting" in containers
+ nbd-client: support newstyle protocol, -b, -d, -p, -N
+ nslookup: add support for search domains, closes 11161
+ ntpd: increase MIN_FREQHOLD by 3
+ ntpd: default to FEATURE_NTP_AUTH=y
+ ntpd: do not SEGV on "-p keyno:", show --help instead
+ ntpd: increase minimum G.FREQHOLD_cnt from 8 to 10
+ ntpd: more verbose message for "root distance too high" case
+ ntpd: show real, unclamped delays on low-latency networks
+ ping: implement -i SEC
+ ping: use setitimer() instead of ualarm()
+ printf: fix printf "%u\n" +18446744073709551614
+ sed: fix double-free in FEATURE_CLEAN_UP code
+ sendmail: use on-stack buffer for AUTH PLAIN
+ smemcap: keep outputting by ignoring transient processes, take two
+ sort: add -V "sort version"
+ svlogd: fix pattern matching when using timestamps
+ tar: fix too eager autodetection, closes 11531
+ tar: handle the case when opened created tarball happens to have fd#0
+ tar: skip 'V' headers (GNU volume label), closes 11526
+ timeout: fix arguments to match coreutils
+ udhcpc: check that 4-byte options are indeed 4-byte, closes 11506
+ udhcpc: do in fact not allow hostname components which start with dash
+ udhcpc: ensure at least one unicast renew attempt
+ udhcpc: give SIGUSR1-induced renew one chance of unicast renew
+ unlzma: fix too-eager corruption check
+ unzip: use printable_string() for printing filenames
+ uptime: add -s support
+ vi: fix FEATURE_VI_REGEX_SEARCH to respect LIMITED (one-line) search
+ wget: fix fetching of https URLs without http proxy
+ wget: print the final newline only for non-tty output
+ wget: print "TLS certificate validation not implemented" only once on redirects
+ whois: fix a possible out-of-bounds stack access
+ xargs: fix exit code if command exits nonzero, closes 11381
+Gavin Howard:
+ bc: new applet
+ dc: a much fuller version which uses bc codebase
+Guillermo Rodriguez:
+ free: add 'available' memory if provided by the kernel
+Jeremy Kerr:
+ udhcp: add option 211, "reboot time"
+Jiří Prchal:
+ examples/udhcp/simple.script: add possibility to use modern "ip"
+Jon Kolb:
+ Add chroot support to chpasswd
+Lauri Kasanen:
+ ls: When -h is passed, the total should also be in human units
+Martin Kaiser:
+ mdev.txt: explain the meaning of a leading "-"
+ .gitignore: add ctags output files
+Peter Korsgaard:
+ sysklogd: add timestamp option to ignore message timestamps
+Raffaello D. Di Napoli:
+ sendmail: fix parsing of addresses in angle brackets
+ sendmail: support AUTH PLAIN in addition to AUTH LOGIN
+Rasmus Villemoes:
+ libbb: optionally honour libc provided SIGRTMIN/SIGRTMAX in get_signum()
+ libbb/u_signal_names.c: don't check errno after bb_strtou
+Ron Yorston:
+ vi: remove duplicated code
+ ash: recognize embedded scripts in SH_STANDALONE mode
+ ash: in tryexec(), ensure we don't try to run embedded scripts as applets
+ lineedit: autocompletion for embedded scripts
+ libarchive: add a function to unpack embedded data
+ ash: minor fixes
+ hush: correct description for HUSH_TICK config option
+ ash: ensure variables are fully initialised when unset
+ Treat custom and applet scripts as applets
+ busybox: add '--show SCRIPT' option to display scripts
+ Ensure build works when KBUILD_OUTPUT is set, closes 11511
+ Tweaks to build process for embedded scripts
+ build system: prevent duplicate applet names
+ docs: add embedded-scripts.txt
+ hush: allow hush to run embedded scripts
+ vi: correctly detect when a deletion empties the buffer
+Rostislav Skudnov:
+ dd: add 'oflag=seek_bytes'
+Thomas De Schampheleire:
+ head: add test case for negative -n invocation
+ head: convert existing tests to new-style
+haroon maqsood:
+ nproc: implement --all --ignore=N
+ chcon: fix issues with recurse and retval for retained files
+ </p>
<li><b>9 September 2018 -- BusyBox 1.29.3 (stable)</b>
<p><a href="">BusyBox 1.29.3</a>.
(<a href="">git</a>)</p>