Util-linux 2.32 Release Notes
=============================

Release highlights
------------------

The command cal(1) has been improved to provide better control on used calendar
system. Now it is possible to switch between Gregorian and Julian exclusively,
or use the current default (reform in September 1752). The new command line
options --reform and --iso have been added. The command also follows terminal
width to format output.

The library libblkid has been extended to support LUKS2, Micron mpool, VDO and
Atari partition table.

The command rfkill(8) has been moved to /usr/sbin to be compatible with the
original rfkill implementation.

The command dmesg(1) provides better support for multi-line messages and the
new command line option --force-prefix to print facility, level or timestamp
information to each line of a multi-line message

The command fallocate(1) --dig-holes is faster and more effect now.

The command fdisk(8) provides access to Protective MBR accessible from main
menu. The Sun label support has been improved.

The command lscpu(1) provides more details about ARM CPUs now.

The command lsmem(1) supports memory zone awareness now.

The command lsns(8) provides netnsid and nsfs columns now.

The command rtcwake(8) waits stdin to settle down before entering a system
sleep.

The new command line option --kill-child has been added to unshare(1).


Stable maintenance releases between v2.31 and v2.32
---------------------------------------------------

util-linux 2.31.1 [Dec 19 2017]

 * https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31.1-ReleaseNotes
   https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31.1-ChangeLog


Changes between v2.31 and v2.32
-------------------------------

agetty:
   - Fix a use of uninitialised memory in an agetty error path.  [Steven Smith]
   - add support for /etc/issue.d  [Karel Zak]
   - remove unused flag  [Karel Zak]
bash-completion:
   - (umount) use findmnt, escape a space in paths  [Karel Zak]
   - Exclude /dev/fd from fsck find  [Kevin Locke]
   - update zramctl algorithms list  [Sami Kerola]
blkid:
   - Add support for LUKS2 and new LABEL attributes.  [Milan Broz]
blkzone:
   - Fix a typo in blkzone.8  [Masanari Iida]
blockdev:
   - be more explicit for BLKSSZ in blockdev.8  [Karel Zak]
build-sys:
   - (configure) fix bashisms  [Mike Frysinger]
   - add --enable-asan and --memcheck-asan for tests  [Karel Zak]
   - add missing include  [Karel Zak]
   - automake is able to find headers in builddir ...  [Ruediger Meier]
   - avoid using prog_DEPENDENCIES  [Ruediger Meier]
   - disable bz2 tarball and fix some am warnings  [Ruediger Meier]
   - don't check for swapon() number of arguments  [Karel Zak]
   - forgot update NEWS for v2.32-rc1  [Karel Zak]
   - gtkdoc-fixxref v1.27 requires module option  [Karel Zak]
   - lsns requires libmount  [Karel Zak]
   - move rfkill to /usr/sbin  [Karel Zak]
   - release++ (v2.32-rc2)  [Karel Zak]
   - remove generated headers from dist tar ball  [Ruediger Meier]
   - remove redundant EXTRA_DIST files  [Ruediger Meier]
   - remove unneeded dependencies on bla.h.in  [Ruediger Meier]
cal:
   - Use ALTMON_* correctly  [Rafal Luzynski]
   - add ifdef TEST_CAL  [Karel Zak]
   - add option to set Gregorian reform date  [J William Piggott]
   - clean up man page synopsis syntax  [Karel Zak]
   - do not set months_in_row with -3 option  [J William Piggott]
   - don't use year header for -1, -3 or -n  [Karel Zak]
   - explain magic values for day of week calculation  [Karel Zak]
   - fix first week calculation  [J William Piggott]
   - fix julian calendars for large years  [J William Piggott]
   - fix multi-byte comment, explain in better way  [Karel Zak, J William Piggott]
   - fix week calculations for 1752  [J William Piggott]
   - follow terminal width  [Karel Zak]
   - honor num_months when only a year argument  [J William Piggott]
   - move REFORMATION_YEAR to control struct  [J William Piggott]
   - remove extra space after year output  [Karel Zak]
   - update man page  [J William Piggott]
chmem:
   - cleanup includes  [Karel Zak]
   - cleanup usage()  [Karel Zak]
chrt:
   - fix compiler warning [-Wmaybe-uninitialized]  [Karel Zak]
column:
   - add --table-noheadings  [Karel Zak]
   - allow to hide unnamed columns  [Karel Zak]
   - don't ignore space-char separators at begin of the line  [Karel Zak]
   - fix memory leak [coverity scan]  [Karel Zak]
   - update column.1  [ahmogit]
   - use \x<hex> for invalid multibyte seq.  [Karel Zak]
dmesg:
   - Add --force-prefix option  [Prarit Bhargava]
   - add note about -F format to the man page  [Karel Zak]
   - fix compiler warning [-Wuninitialized]  [Karel Zak]
   - use xstrdup() in xalloc.h based util  [Karel Zak]
docs:
   - add ISC licence  [Carlos Santos]
   - add new idea to TODO list  [Karel Zak]
   - add note about JSON  [Karel Zak]
   - add note about NVMe-multipath to TODO  [Karel Zak]
   - add remount-all idea to TODO  [Karel Zak]
   - add script(1) events idea to TODO  [Karel Zak]
   - improve setarch(8) manual page  [Sami Kerola]
   - update AUTHORS file  [Karel Zak]
   - update TODO  [Karel Zak]
   - update TODO file  [Karel Zak]
   - update v2.32-ReleaseNotes  [Karel Zak]
eject:
   - remove list_speeds() #ifdef CDROM_SELECT_SPEED protection  [Sami Kerola]
fallocate:
   - dig holes only in data extents  [Karel Zak, Vaclav Dolezal]
   - remove typo  [Karel Zak]
fdisk:
   - (gpt) make PMBR accessible from main menu  [Karel Zak]
fincore:
   - Handle large files correctly on 32 bit  [Tobias Stoeckmann]
   - Handle large files on 32 bit without LFS  [Tobias Stoeckmann]
   - fix a typo in fincore.1  [Masatake YAMATO]
findfs:
   - don't include exitcodes.h  [Karel Zak]
findmnt:
   - findmnt.8 remove spurious spaces before "--tree" and "--verbose"  [Jakub Wilk]
fsck:
   - cleanup find_fsck()  [Karel Zak]
   - coding style cleanup  [Karel Zak]
   - use xasprintf to avoid buffer overruns with an insane fs type  [Theodore Ts'o]
fsck.cramfs:
   - Fix bus error on broken file system.  [Tobias Stoeckmann]
   - fix crash when superblock size is too small  [Ruediger Meier]
   - fix error message  [Ruediger Meier]
fstrim:
   - don't include exitcodes.h  [Karel Zak]
   - fix fs.h and mount.h collision  [Karel Zak]
hwclock:
   - add --ul-debug implementing debug.h  [J William Piggott]
   - add iso-8601 overflow check  [J William Piggott]
   - fix debug regression  [J William Piggott]
   - rename --debug option to --verbose  [J William Piggott]
   - revert ioctl test  [Karel Zak]
   - use reentrant time conversion functions  [J William Piggott]
include/c:
   - add errexec()  [Karel Zak]
include/debug:
   - don't print pointer address for SUID programs  [Karel Zak]
   - improve debug message  [Karel Zak]
   - introduce __UL_INIT_DEBUG_FROM_STRING()  [Karel Zak]
   - print info when addresses suppressed  [Karel Zak]
kill:
   - Extract signal names into signames.h/signames.c  [Niklas Hambüchen]
lib:
   - Add simple crc32c() function  [John Groves]
lib/exec_shell:
   - (and pager) use errexec()  [Karel Zak]
   - cleanup function attributes  [Karel Zak]
lib/mangle:
   - return size of the decoded buffer  [Karel Zak]
lib/mbsalign:
   - Fix escaping nonprintable multibyte characters  [Vaclav Dolezal]
   - add mbs_invalid_encode()  [Karel Zak]
   - encode \x to \xecx  [Karel Zak]
   - encode backslash to prevent ambiguity  [Vaclav Dolezal]
   - escape "\x" when HAVE_WIDECHAR not defined  [Vaclav Dolezal]
lib/md5:
   - use ul_/UL_ prefix  [Karel Zak]
lib/path:
   - make path_set_prefix() independent on cpu_set_t  [Karel Zak]
lib/randutils:
   - Do not block on getrandom()  [Carlo Caione]
   - don't break on EAGAIN, use usleep()  [Karel Zak]
lib/sha1:
   - fix indention  [Karel Zak]
   - use proper WORDS_BIGENDIAN macro  [Karel Zak]
   - use ul_/UL_prefix for symbols  [Karel Zak]
lib/signames:
   - fix redefinition of 'sys_signame' on OSX  [Karel Zak]
   - remove signame array from header file  [Karel Zak]
   - remove unused function  [Sami Kerola]
lib/timeutils:
   - ISO_8601_BUFSIZ too small  [J William Piggott]
   - add common ISO timestamp masks  [J William Piggott]
   - add get_gmtoff()  [J William Piggott]
lib/timeutils.c:
   - bug fix Segmentation fault  [J William Piggott]
   - strxxx_iso  do not wrap tm_year  [J William Piggott]
   - strxxx_iso  test conversion errors  [J William Piggott]
   - warn format_iso_time() overflow  [J William Piggott]
libblkid:
   - (bcache) cleanup magic string definition  [Karel Zak]
   - (dos)  make subtypes probing more robust  [Karel Zak]
   - (mpool) checksum is LE  [Karel Zak]
   - (mpool) don't use gtkdocs-like comment block  [Karel Zak]
   - Add VDO superblock information into blkid  [Sweet Tea Dorminy]
   - Add support for Micron mpool formatted drives  [John Groves]
   - Add support for stratis  [Tony Asleson]
   - Mark char* params to blkid_dev_set_search as const  [Andy Grover]
   - Support for Atari partitioning scheme  [Vaclav Dolezal]
   - add debug messages when ignore useless devices  [Karel Zak]
   - atari - don't add duplicate entries  [Vaclav Dolezal]
   - atari - fix bad variable name  [Vaclav Dolezal]
   - atari - reject devices with blocksize != 512  [Vaclav Dolezal]
   - atari - test if any partition fits disk size  [Vaclav Dolezal]
   - ignore private Stratis devices  [Tony Asleson]
   - improve FreeBSD partitions parsing  [Karel Zak]
   - make mpool independent on libuuid  [Karel Zak]
   - udf  Fix parsing LVID location  [Pali Rohár]
   - udf  Fix parsing UDF revision  [Pali Rohár]
   - udf  Fix reading Logical Volume Integrity Descriptor Implementation Use (LVIDIU)  [Pali Rohár]
   - udf  Optimize and fix probing when block size > 2048 bytes  [Pali Rohár]
   - udf  Really try to read only first LVID  [Pali Rohár]
   - udf  Stop scanning Volume Descriptors after we found Terminating Descriptor  [Pali Rohár]
   - udf  Update copyright  [Pali Rohár]
   - udf  Use UDF revision field from LVD domain id "*OSTA UDF Compliant" as a fallback value for ID_FS_VERSION when LVIDIU is missing  [Pali Rohár]
   - vfat  Fix reading labels which starts with byte 0x05  [Pali Rohár]
libfdisk:
   - (docs) add missing docs blocks  [Karel Zak]
   - (docs) improve enums documentation  [Karel Zak]
   - (docs) update year  [Karel Zak]
   - (dos) fix max heads  [Karel Zak]
   - (gpt) add VMware specific UUIDs  [Karel Zak]
   - (gpt) move backup header after device resize  [Karel Zak]
   - (gpt) use fdisk_warn() for failed name setting  [Karel Zak]
   - (script) be consistent in code with types  [Karel Zak]
   - (script) support R (RAID) and V (LVM) shortcuts  [Karel Zak]
   - (sun) enhance searching of free space  [Mikhail Vorobyov]
   - (sun) fix creation of whole disk partition  [Mikhail Vorobyov]
   - (sun) fix n-1 bug and whole-disk  [Karel Zak]
   - (sun) move aligning of the first sector before availability check  [Mikhail Vorobyov]
   - Fix uninitialized structure  [Roddy Shuler]
   - allocate enough bytes for ucs2 to utf8 encoding  [Vaclav Dolezal]
   - allow to start freespace for zero  [Karel Zak]
   - extend API to provide label specific geometry ranges  [Karel Zak]
   - fix docs warnings  [Karel Zak]
   - gpt  properly encode string on rename  [Vaclav Dolezal]
   - return bytes processed from gpt_entry_set_name(), process rc  [Vaclav Dolezal]
libmount:
   - (docs) update year  [Karel Zak]
   - Allow MNT_FORCE and MNT_DETACH at umount  [Joshua Watt]
   - Use waitpid() when waiting for mount helper child process  [Vratislav Podzimek]
   - add missing macro to docs  [Karel Zak]
   - add nsfs between pseudo filesystems  [Karel Zak]
   - check waitpid() return code  [Karel Zak]
   - deallocate on /proc/swaps parse error  [Karel Zak]
   - fix access() utab write test  [Karel Zak]
   - fix debug message  [Karel Zak]
   - fix example in docs  [Karel Zak]
   - fix fs pattern usage in mount --all  [Karel Zak]
   - fix mnt_table_is_fs_mounted() for rbind  [Karel Zak]
   - make libmount.h more robust  [Karel Zak]
   - make sure we deallocate on parse error  [Karel Zak]
   - minimize utimensat() write test usage  [Karel Zak]
   - use eacess() rather than open() to check mtab/utab  [Karel Zak]
libsmartcols:
   - (docs) update year  [Karel Zak]
   - don't add blank padding after left aligned title  [Karel Zak]
   - fix docs warnings  [Karel Zak]
   - fix mem-leaks in samples  [Karel Zak]
   - fixes issue with 0 width columns  [taiyu]
   - interpret zero width for pending data as error  [Karel Zak]
   - set minimal column width to 1  [Karel Zak]
libuuid:
   - make "CONFORMING TO" man sections more explicit  [Karel Zak]
login:
   - add LOGIN_PLAIN_PROMPT to login.defs  [Karel Zak]
login-utils:
   - use free_getlogindefs_data()  [Karel Zak]
lsblk:
   - add hint about perms to man page  [Karel Zak]
   - document LSBLK_DEBUG=  [Karel Zak]
   - try device/dev to read devno  [Karel Zak]
lscpu:
   - (arm) cleanup code  [Karel Zak]
   - Decode ARM CPUs  [Riku Voipio]
   - Treat read failure on Xen Hypervisor properties as non-fatal  [Dirk Mueller]
   - move ARM decoding to lscpu-arm.c  [Karel Zak]
   - move struct lscpu_desc header file  [Karel Zak]
lscpu-arm:
   - add Faraday And Brahma cores  [Riku Voipio]
lslocks:
   - add note about OFDLCK  [Karel Zak]
lsmem:
   - add --split  [Karel Zak]
   - add hint about block merges to the man page  [Karel Zak]
   - fix memory leak [coverity scan]  [Karel Zak]
   - fix total online/offline memory calculation  [Gerald Schaefer]
   - improve path_read_xxx() usage  [Karel Zak]
   - make --split optional, follow output by default  [Karel Zak]
lsmem/chmem:
   - add memory zone awareness  [Gerald Schaefer]
   - add memory zone awareness to bash-completion  [Andre Wild]
lsns:
   - (man) write about using multi-line in NSFS cell of lsns  [Masatake YAMATO]
   - add --nowrap(-W) option  [Masatake YAMATO]
   - add a case for testing netnsid column  [Masatake YAMATO]
   - add a case for testing nsfs column  [Masatake YAMATO]
   - add netnsid column  [Masatake YAMATO]
   - add nsfs column  [Masatake YAMATO]
   - disable netnsid column by default  [Masatake YAMATO]
   - fix clang compiler warning  [Ruediger Meier]
   - initialize stuff when really necessary  [Karel Zak]
   - nsfs stuff cleanup  [Karel Zak]
   - remove if-after-xcalloc  [Karel Zak]
   - rename notruns to no_trunc  [Karel Zak]
man:
   - use long options in text and add example to uuidgen  [Sami Kerola]
mcookie:
   - (man) add note about getrandom()  [Karel Zak]
   - properly initialize hash  [Karel Zak]
md5:
   - declare byteReverse as static  [Luca Ceresoli]
misc:
   - fix printf i386 compiler warnings  [Ruediger Meier]
   - fix typos  [Sami Kerola]
   - fix typos using codespell  [Ruediger Meier]
   - remove %p from debug messages  [Karel Zak]
mount:
   - (man) be explicit about bind operation  [Karel Zak]
   - (man) update mount options for UDF  [Steve Kenton]
   - add hint about -t and root perms to the man page  [Karel Zak]
   - add more details about UUIDs and LABELs to the man page  [Karel Zak]
   - add note about "already mounted" behavior  [Karel Zak]
   - add note about cached kernel table for --all  [Karel Zak]
   - be more accurate in man page about propagation flags  [Karel Zak]
mount(8):
   - drop redundant filesystem-specific sections  [Mike Frysinger]
   - point people to the proc(5) page for mount options  [Mike Frysinger]
   - umount does not (anymore?) say `none busy'  [Alan Jenkins]
newgrp:
   - use errexec()  [Karel Zak]
nsenter:
   - fix compiler warning [-Wuninitialized]  [Karel Zak]
   - revert changes committed by accident  [Karel Zak]
po:
   - merge changes  [Karel Zak]
   - update cs.po (from translationproject.org)  [Petr Písař]
   - update es.po (from translationproject.org)  [Antonio Ceballos Roa]
   - update fi.po (from translationproject.org)  [Lauri Nurmi]
   - update fr.po (from translationproject.org)  [Frédéric Marchal]
   - update ja.po (from translationproject.org)  [Takeshi Hamasaki]
   - update pl.po (from translationproject.org)  [Jakub Bogusz]
   - update pt_BR.po (from translationproject.org)  [Rafael Fontenelle]
   - update uk.po (from translationproject.org)  [Yuri Chornoivan]
rename:
   - rename.1 fix typo, where -> were  [Kenyon Ralph]
   - use access(3) to check if a file exists  [Sami Kerola]
rfkill:
   - provide RFKILL_TYPE_FM if undefined  [Ruediger Meier]
rtcwake:
   - add note about HW and sleep to the man page  [Karel Zak]
   - fix sys vs. rtc time delta usage  [Karel Zak]
   - wait stdin to settle down before entering a system sleep  [Sami Kerola]
sample-scols-title:
   - add left title without padding  [Karel Zak]
schedutils:
   - use errexec()  [Karel Zak]
setarch:
   - minor code clean up  [Sami Kerola]
setpriv:
   - add example section  [Sam Morris]
   - fix manpage typo  [Sam Morris]
   - improve description in man page  [Sam Morris]
   - include --init-groups in the list of options that can be specified with --[re]gid  [Sam Morris]
setsid:
   - new option --fork  [Karel Zak]
sfdisk:
   - add hint about udev and flock to the man page  [Karel Zak]
   - allow to disable bootable flag on all partitions  [Karel Zak]
   - allow to use --activate for PMBR  [Karel Zak]
   - cleanup shortcuts in man page too  [Karel Zak]
   - create empty label on 'write' command  [Karel Zak]
   - wait before re-read  [Karel Zak]
signames:
   - Make input char buffers const  [Niklas Hambüchen]
su:
   - build fix for the case where USE_PTY is not defined  [Samuel Thibault]
   - use errexec()  [Karel Zak]
sys-utils:
   - use errexec()  [Karel Zak]
test:
   - Add UDF hdd image with final block size 4096 created by Linux mkudffs 1.3  [Pali Rohár]
   - use subtests for jan1753 cal(1) test  [Karel Zak]
test_sha1:
   - update helper  [Karel Zak]
tests:
   - Add UDF cd image created by mkudfiso 20100208  [Pali Rohár]
   - GPT device resize test  [Karel Zak]
   - add /proc/swaps libmount parser test  [Karel Zak]
   - add LUKS test images  [Milan Broz]
   - add cal(1) --week=40 1752  [Karel Zak]
   - add fsck.cramfs bad-header test  [Karel Zak]
   - add ipcslimits lock  [Ruediger Meier]
   - add lock on shared resources (e.g. scsi_debug)  [Karel Zak]
   - add mdadm locks  [Karel Zak]
   - add mpool blkid test image  [Karel Zak]
   - add set-x to lsns test  [Karel Zak]
   - add some more udevadm settle  [Ruediger Meier]
   - add tests for encode functions from lib/mbsalign.c  [Vaclav Dolezal]
   - add udevadm settle to sfdisk/resize  [Ruediger Meier]
   - add weird sleep for libmount/context  [Ruediger Meier]
   - added missing expected outputs for partx (atari)  [Vaclav Dolezal]
   - added test for libblkid atari pt  [Vaclav Dolezal]
   - adjust for ISO timezone colon use  [J William Piggott]
   - allow to use memory checks for libsmartcols  [Karel Zak]
   - better lsns report on fail  [Karel Zak]
   - check for HAVE_LINUX_NET_NAMESPACE_H  [Karel Zak]
   - column(1) test for space-char separator  [Karel Zak]
   - column(1) test non-space separator at begin of line  [Karel Zak]
   - consolidate ts_device_has UUID or LABEL  [Ruediger Meier]
   - don't call tests with races in --parallel  [Karel Zak]
   - don't lock fd 1 (stdout), don't use /proc/$$/fd  [Ruediger Meier]
   - don't use mount.<type> helpers in mount-by-pattern tests  [Karel Zak]
   - don't use unlocked resources  [Ruediger Meier]
   - don't timeout flock  [Ruediger Meier]
   - fix fincore/count KNOWN_FAIL  [Ruediger Meier]
   - fix grep expressions for devices  [Ruediger Meier]
   - fix losetup race  [Ruediger Meier]
   - fix lsns perms  [Karel Zak]
   - handle xargs errors and invalid args  [Ruediger Meier]
   - make lsns test more robust  [Karel Zak]
   - mark fincore/count as KNOWN_FAIL  [Karel Zak]
   - mark mbsencode as KNOWN_FAIL  [Vaclav Dolezal]
   - mbsencode - removed emoji, added control unicode character  [Vaclav Dolezal]
   - mbsencode - test for HAVE_WIDECHAR  [Vaclav Dolezal]
   - merge 1m and 3m cal(1) tests  [Karel Zak]
   - merge sep1752 cal(1) tests  [Karel Zak]
   - merge year cal(1) tests  [Karel Zak]
   - re-introduce bash 3 compatibility (OSX)  [Ruediger Meier]
   - rename --memcheck to --memcheck-valgrind  [Karel Zak]
   - rename ts_valgrind to ts_run  [Karel Zak]
   - rewrite cal(1) bigyear test  [Karel Zak]
   - rewrite fsck-bad-header  [Ruediger Meier]
   - simplify cal(1) sep1752w test  [Karel Zak]
   - support multiple locks  [Karel Zak]
   - suppress warning for old sync(1)  [root]
   - unlocks on failed ts_scsi_debug_init  [Karel Zak]
   - update build-sys tests  [Karel Zak]
   - update cal(1) tests  [Karel Zak]
   - update columns test due to dda229c7b2b16a31fae8e99079ab4f4ae5bc8eac  [Karel Zak]
   - update default lsmem output  [Karel Zak]
   - update libsmartcols/title  [Karel Zak]
   - update lsmem  [Karel Zak]
   - update setarch test  [Karel Zak]
   - use TS_HELPER_CAL  [Karel Zak]
   - use flock to modify fstab  [Karel Zak]
   - use libtool to execute with valgrind  [Karel Zak]
   - use pgrep instead of ps --ppid ...  [Ruediger Meier]
   - use subtests for sep1752w test  [Karel Zak]
   - use subtests for weekarg cal(1) tests  [Karel Zak]
   - use subtests for weeknum cal(1) tests  [Karel Zak]
tests/lsmem:
   - update lsmem test with ZONES column  [Gerald Schaefer]
text-utils:
   - use errexec()  [Karel Zak]
tools:
   - improve checkmans  [Karel Zak]
travis:
   - enable osx root checks  [Ruediger Meier]
   - homebrew/dupes was deprecated  [Ruediger Meier]
   - use parallel root checks  [Ruediger Meier]
unshare:
   - Add --kill-child option.  [Niklas Hambüchen]
   - Allow passing <signame> to --kill-child  [Niklas Hambüchen]
   - cleanup if-if code  [Karel Zak]
uuidd:
   - cosmetic coding style change  [Karel Zak]
   - don't truncate long socket paths  [Ruediger Meier]
vipw:
   - do not let editor to inherit open file descriptors  [Sami Kerola]
   - use errexec()  [Karel Zak]
whereis:
   - fix typo in debug message  [Karel Zak]
zramctl:
   - use xstrdup()  [Karel Zak]
