Release Notes

busybox-w32 version FRP-5181-g5c1a3b00e was released on 2023-08-18. It is the current release. For other release notes see:

Unicode support

Support for Unicode in Windows normally requires the use of the wide-character (W) API whereas busybox-w32 generally uses the narrow-character (A) API. Recent versions of Windows allow applications to include a manifest that permits the narrow API to handle UTF-8. This feature has been used to build a binary (busybox64u.exe) with improved support for Unicode.

Some things to note:

As to actually using the binary:

Unicode support is largely the work of Avi Halachmi (@avih on GitHub), to whom all praise should be addressed. (Complaints, blame and other invective should fall to me, as usual ;-)

Overriding applets

The shell variable BB_OVERRIDE_APPLETS was introduced in release FRP-4716 as a way to replace internal applets with external commands. This release extends the feature:

This setting:

    export BB_OVERRIDE_APPLETS=";make"
results in the internal make applet being used only if no external make binary is present on PATH.

(GitHub issue #329)

Shell options

There have been some changes to Windows-specific shell options.

The winxp option affects the import of environment variables by the shell. Since Windows XP is particularly fussy about the presence of backslashes in environment variables the winxp option was added to prevent backslashes from being converted into forward slashes on import.

The noconsole option tries to hide the console window that appears when a busybox-w32 shell is run from a GUI application.

(GitHub issues #322, #325)

Hidden system files

The ls applet follows both Unix and Windows conventions for hidden files:

Hidden files are normally not displayed but can be shown with ls -a or ls -A.

Some hidden files on Windows also have the 'system' attribute set. These are likely to be of little interest to users and many of them have ugly, long names. The display of such 'hidden system' files can be disabled by giving the -a or -A options more than once. For example, as ls -a -a or ls -AA.

Since duplicate options are ignored in other implementations of ls this idiom is portable.

(GitHub issue #328)

Bug fixes and enhancements

Changes imported from upstream

busybox-w32 has been synchronised with upstream BusyBox. There have been numerous bug fixes and enhancements, particularly in awk and support for maths in the shell.