Util-linux 2.20 Release Notes
=============================

 The ddate(1) command is not built by default (see --enable-ddate).

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

agetty(8):
  - mingetty features have been merged to agetty

chrt(1), taskset(1):
  - supports new command line option "--all-tasks" to set or retrieve the 
    scheduling attributes of all the tasks (threads) for a given PID

dmesg(1):
  - supports new command line options: --clear, --console-on, --console-off,
    --ctime, --decode, --facility=<list>, --level=<list>, --show-delta,
    --notime, --kernel and --userspace

fdisk(8):
  - improved dialogs to be more user-friendly

findmnt(8), partx(8), lsblk(8)
  - support new command line option "--pairs" to enable key="value" 
    output format

findmnt(8):
  - supports new command line options "--poll" and "--timeout" to monitor
    /proc/self/mountinfo changes

ionice(1):
  - supports human-readable scheduling class names, for example:
    ionice -c best-effort $PID

kill(1):
  - supports new command line option "-q <sigval>" to use sigqueue(2)
  - supports real-time signals in formats RT<n>, RTMIN+<n> and RTMAX-<n>

libmount:
  - the API officially stable

lsblk(8):
  - supports new columns: 
      TYPE      - device type
      RQ-SIZE   - queue request size
      STATE     - device state (e.g. running, suspended)
      DALIGN    - discard alignment offset
      DISC-GRAN - discard granularity
      DISC-MAX  - discard max bytes
      DISC-ZERO - discard zeroes data
  - supports new command line option "-D" to print device discard topology

lscpu(8):
  - improved support for s390 boxes

mkfs.minix:
  - supports minix version 3

mountpoint(1):
  - this NEW COMMAND is libmount based re-implementation of mountpoint(1) from
    sysvinit suite

setarch(8):
  - supports new command line options "--uname-2.6" to enable UNAME26
    personality flag

simpleinit:
  - this set of deprecated utils has been REMOVED

wall(1):
  - support new command line option "--timeout" to specify write timeout to 
    terminals in seconds.

It's not supported to link with external (e.g. from e2fsprogs) libblkis and
libuuid any more.


Stable maintenance releases between v2.19 and v2.20
---------------------------------------------------

util-linux 2.19.1 [02-May-2011]

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


Changes between v2.19 and v2.20
-------------------------------

 For more details see ChangeLog files at:
 https://www.kernel.org/pub/linux/utils/util-linux/v2.20/

addpart:
   - multiplication on 512 deleted  [Anton V. Boyarshinov]
agetty:
   - #endif comments  [Sami Kerola]
   - C.UTF-8 locale instead of en_US.UTF-8  [Samuel Thibault]
   - Fix IUTF8 flag  [Werner Fink]
   - add an autologin feature  [Werner Fink]
   - better support of virtual console  [Dr. Werner Fink]
   - check virtual console for UTF-8 support  [Werner Fink]
   - clean up usage  [Karel Zak]
   - cleanup argv parsing, utmp update, use writeall(), etc.  [Werner Fink]
   - coding style - fix comments, remove tailing whitespace  [Karel Zak]
   - coding style - fix identation  [Karel Zak]
   - don't use xalloc.h stuff  [Karel Zak]
   - error message about required arguments  [Sami Kerola]
   - getopt case segment reordering  [Sami Kerola]
   - improve login(1) argv[]  [Karel Zak]
   - more code cleanup  [Werner Fink]
   - only enable F_UTF8 if kernel has already set IUTF8.  [Samuel Thibault]
   - proper session on the terminal line  [Werner Fink]
   - remove unnecessary options synonyms  [Karel Zak]
   - remove unnecessary space and "(void)" junk  [Karel Zak]
   - symbolic standard file descriptors  [Sami Kerola]
   - try next speed after CBREAK  [Karel Zak]
   - use a generic function for strings concatenation  [Karel Zak]
   - use long options  [Sami Kerola]
   - use program_invocation_short_name  [Sami Kerola]
   - use xalloc.h  [Sami Kerola]
   - further scrubbing  [Sami Kerola]
   - move issue path to pathnames.h  [Sami Kerola]
   - further mingetty features  [Dr. Werner Fink]
blkdev:
   - add blkdev_is_misaligned()  [Davidlohr Bueso]
blkid:
   - add -d option to print non-printable chars  [Karel Zak]
   - don't free() uninitialized variable  [Karel Zak]
   - don't ignore -i  [Karel Zak]
   - don't read past end of FAT32 cluster chain  [John Lindgren]
   - fix compiler warnings [-Wunused-parameter]  [Karel Zak]
   - fix double free [coverity scan]  [Karel Zak]
   - fix typo  [Karel Zak]
   - indent usage()  [Karel Zak]
   - list all known filesystems/RAIDs (add -k option)  [Karel Zak]
   - small fix for safe_print()  [Sergey Gusarov]
   - uniformize the synopsis, remove "the the"  [Benno Schulenberg]
blockdev:
   - add --help option  [Sami Kerola]
   - broken compiler warning circumvention removed  [Sami Kerola]
   - coding style fix  [Sami Kerola]
   - indent usage()  [Karel Zak]
   - remove progname  [Sami Kerola]
   - set options read only  [Sami Kerola]
   - type mismatch fix  [Sami Kerola]
   - use libc error facilities  [Sami Kerola]
   - use pathnames.h to find partitions  [Sami Kerola]
build-sys:
   - Enable automake's -Wno-portability option.  [Sami Kerola]
   - add --enable-ddate  [Karel Zak]
   - add required files to dist  [Sami Kerola]
   - add term-utils/  [Karel Zak]
   - add term-utils/.gitignore  [Karel Zak]
   - add uuid_generate_time_safe.3 .gitignore  [Karel Zak]
   - clean up partx Makefile  [Karel Zak]
   - cleanup lib/ tests  [Karel Zak]
   - disable lib/ at.c tests building  [Karel Zak]
   - do not ignore datarootdir  [Sami Kerola]
   - don't build lsblk on Linux without openat()  [Karel Zak]
   - don't support external (e2fsprogs) libblkid  [Karel Zak]
   - don't support external (e2fsprogs) libuuid  [Karel Zak]
   - don't try to chgrp write or wall if they are not built  [Marc-Antoine Perennou]
   - don't use HAVE_LIBBLKID_INTERNAL macro  [Karel Zak]
   - enable mountpoint, add dependence on libmout  [Karel Zak]
   - fix 'make checkincludes' warnings  [Karel Zak]
   - fix configure.ac for uuidd  [Karel Zak]
   - fix distcheck for term-utils  [Karel Zak]
   - fix git-version-gen for -rc tags  [Karel Zak]
   - fix gtk-doc build  [Karel Zak]
   - fix gtk-doc distclean  [Karel Zak]
   - fix spaces versus tabs conflict  [Marc-Antoine Perennou]
   - fix unportable Makefile.am assignment  [Sami Kerola]
   - include <uuid.h> rather than <uuid/uuid.h>  [Karel Zak]
   - introduce AM_PROG_CC_C_O macro  [Sami Kerola]
   - move BUILD_SCHEDUTILS to top-level Makefile  [Karel Zak]
   - move agetty to term-utils  [Karel Zak]
   - move mesg to term-utils/  [Karel Zak]
   - move reset to term-utils/  [Karel Zak]
   - move script and scriptreplay to term-utils/  [Karel Zak]
   - move setterm to term-utils/  [Karel Zak]
   - move wall to term-utils/  [Karel Zak]
   - move write to term-utils directory  [Sami Kerola]
   - non-linux fixup  [Samuel Thibault]
   - print helpful error when pkg.m4 is missing  [Sami Kerola]
   - provide alternatives for err, errx, warn and warnx  [Fabian Groffen]
   - release++ (v2.20-rc1)  [Karel Zak]
   - release++ (v2.20-rc2)  [Karel Zak]
   - remove and ignore generated files  [Karel Zak]
   - remove check-news  [Karel Zak]
   - remove unnecessary files from getopt  [Sami Kerola]
   - rename --enable-partx to --disable-partx  [Karel Zak]
   - stop building line(1) by default  [Sami Kerola]
   - use AC_LANG_SOURCE to suppress warnings  [Sami Kerola]
   - use AUTOMAKE_OPTIONS = gnu  [Sami Kerola]
   - use git-version-gen to distinct git and release versions  [Sami Kerola]
   - use gtkdoc without tmpl dir  [Karel Zak]
   - use silent rules got gtkdoc, fix dependencies  [Karel Zak]
   - use top-level directory for libblkid rather than shlibs/blkid  [Karel Zak]
   - use top-level directory for libmount rather than shlibs/mount  [Karel Zak]
   - use top-level directory for libuuid rather than shlibs/uuid  [Karel Zak]
cal:
   - argument checking, long options and argument checking  [Sami Kerola]
   - clean up few coding style issues  [Sami Kerola]
   - fix compiler warnings  [Sami Kerola]
   - fix manpage formatting  [Petr Uzel]
   - indent usage()  [Karel Zak]
   - fix typo ("fistt day") in help text, seize chance to improve it  [Benno Schulenberg]
cfdisk:
   - add home and end keys movements in partition list  [Francesco Cosoleto]
   - fix compilation with slang  [Karel Zak]
   - fix compiler warning  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter]  [Karel Zak]
   - fix gcc warning (unused variable)  [Karel Zak]
   - move "No more partition" warning to draw_cursor()  [Francesco Cosoleto]
   - move keys related to the cursor of the partition list outside menuselect()  [Francesco Cosoleto]
   - remove unused vertical menu direction code  [Francesco Cosoleto]
   - use keypad() in menu selection function  [Francesco Cosoleto]
checktty:
   - Use NGROUPS_MAX instead of NGROUPS  [Josiah Worcester]
   - fix unused parameters  [Sami Kerola]
chfn:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
chrt:
   - [selinux] fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - add strings to use NLS  [Sami Kerola]
   - adjust style of man page, alphabetize option -p  [Benno Schulenberg]
   - allow to use --all-tasks when retrieve info  [Karel Zak]
   - chrt.1 fix grammar  [Davidlohr Bueso]
   - clarify use of -a option  [Davidlohr Bueso]
   - coding style fix  [Sami Kerola]
   - data type compiler warning fixed  [Sami Kerola]
   - make threads aware  [Davidlohr Bueso]
   - silently ignore -R if unsupported  [Karel Zak]
chsh:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix gcc link() warn_unused_result warning  [Karel Zak]
   - fix small memory leak  [Karel Zak]
col:
   - check with strtol_or_err option argument  [Sami Kerola]
   - coding style changes  [Sami Kerola]
   - use long options  [Sami Kerola]
colctr:
   - use long options and clean coding style  [Sami Kerola]
colrm:
   - gotos, long options and argument checking  [Sami Kerola]
   - manual update  [Sami Kerola]
column:
   - fix problems with uninitialized variables  [Karel Zak]
   - use xalloc lib  [Sami Kerola]
   - add version printing  [Sami Kerola]
   - coding style fixes  [Sami Kerola]
   - free memory before exit  [Sami Kerola]
   - global variables removed  [Sami Kerola]
   - make table function clarification  [Sami Kerola]
   - replace emalloc with xcalloc  [Sami Kerola]
   - validate numeric user inputs  [Sami Kerola]
cramfs:
   - remove cramfs_common.h  [Davidlohr Bueso]
   - use stdint.h instead of u{8,16,32}  [Sami Kerola]
   - coding style  [Sami Kerola]
cramfs_common:
   - coding style  [Sami Kerola]
cytune:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - remove unused variable  [Karel Zak]
ddate:
   - fix St. Tib's Day in other languages  [Karel Zak]
   - remove non-ascii chars from ddate  [Karel Zak]
   - use ARRAY_SIZE  [Karel Zak]
dmesg:
   - add --clear (SYSLOG_ACTION_CLEAR)  [Karel Zak]
   - add --console-on and --console-off  [Karel Zak]
   - add --ctime to print human readable timestamps  [Karel Zak]
   - add --decode to print readable facility and level  [Karel Zak]
   - add --facility option  [Karel Zak]
   - add --level=<list>  [Karel Zak]
   - add --show-delta option  [Karel Zak]
   - add -t option to suppress timestamps  [Karel Zak]
   - add -u and -k options  [Karel Zak]
   - add long options, --help and --version  [Karel Zak]
   - allow to print time delta without timestamp  [Karel Zak]
   - avoid mess at the end of dmesg output  [Petr Uzel]
   - cleanup options and man page  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - consolidate level parsiig code  [Karel Zak]
   - don't print non-printable chars, parse records  [Karel Zak]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix segfault  [Marc-Antoine Perennou]
   - fix typo in usage()  [Karel Zak]
   - mark some options mutually exclusive  [Karel Zak]
   - print_buffer() refactoring  [Karel Zak]
   - refactoring - cleanup get bufsize code  [Karel Zak]
   - refactoring - cleanup main() code  [Karel Zak]
   - refactoring - cleanup print buffer code  [Karel Zak]
   - refactoring - cleanup read buffer code  [Karel Zak]
   - reorder options, add comments  [Karel Zak]
   - use SYSLOG_ACTION_* macros rather than magic constatnts  [Karel Zak]
   - variables refactoring  [Karel Zak]
   - cleanups -- use err(), xalloc()  [Marek Polacek]
docs:
   - mention mkswap long options in man page  [Sami Kerola]
   - TODO update  [Karel Zak]
   - add 2.20 ReleaseNotes  [Karel Zak]
   - add Matej to AUTHORS  [Karel Zak]
   - add long options to fdformat.8  [Sami Kerola]
   - add long options to mkfs.8  [Sami Kerola]
   - add long options to mkfs.bfs.8  [Sami Kerola]
   - agetty long options  [Sami Kerola]
   - agetty manual update  [Sami Kerola]
   - also uniformize headers and footers of troff-formatted man pages  [Benno Schulenberg]
   - col manual update  [Sami Kerola]
   - colcrt manual update  [Sami Kerola]
   - drop the pluralization item with ngettext() in TODO file  [Benno Schulenberg]
   - favour small patches  [Sami Kerola]
   - inform about cal long options  [Sami Kerola]
   - inform about mcookie long options  [Sami Kerola]
   - isosize.8 add long options  [Sami Kerola]
   - look.1 manual rewrote  [Sami Kerola]
   - mention long options in ionice.1  [Sami Kerola]
   - mention long options in uuidd.8 manual page  [Sami Kerola]
   - remove README.namei  [Sami Kerola]
   - rename.1 verbose, long options and warning  [Sami Kerola]
   - scriptreplay add note about new options  [Sami Kerola]
   - scriptreplay mention basic long options  [Sami Kerola]
   - sfdisk manual update  [Sami Kerola]
   - tell mount/* is in maintenance mode  [Sami Kerola]
   - tweak the formatting and wording of several disk-utils man pages  [Benno Schulenberg]
   - tweak the formatting and wording of some text-utils man pages  [Benno Schulenberg]
   - un-deprecate kill(1)  [Karel Zak]
   - uniformize the header and footer lines in man pages  [Benno Schulenberg]
   - update AUTHORS file  [Karel Zak]
   - update DEPRECATED file  [Karel Zak]
   - update ReleaseNotes  [Karel Zak]
   - update ReleaseNotes  fix typo in v2.20-ReleaseNotes  [Bernhard Voelker]
   - update TODO  [Karel Zak]
   - update TODO  [Sami Kerola]
   - update TODO file  [Karel Zak]
   - update TODO file  [Sami Kerola]
   - update example files  [Karel Zak]
   - update v2.20 ReleaseNotes  [Karel Zak]
   - uuidgen.1 mention long options  [Sami Kerola]
elvtune, isosize:
   - print usage text in case of invalid option  [Francesco Cosoleto]
   - remove redundant message in case of invalid option  [Francesco Cosoleto]
fallocate:
   - cleanup usage()  [Karel Zak]
fdformat:
   - cleanup error messages  [Karel Zak]
   - coding style  [Sami Kerola]
   - include-what-you-use header check  [Sami Kerola]
   - integer comparisons & unused parameter  [Sami Kerola]
   - use libc error printing facilities  [Sami Kerola]
   - use long options  [Sami Kerola]
   - use xalloc.h  [Sami Kerola]
fdisk:
   - accept digits-space-suffix format  [Francesco Cosoleto]
   - add a default response for the partition type dialog  [Francesco Cosoleto]
   - change primary or extended partition type dialog  [Francesco Cosoleto]
   - check index before access to array [coverity scan]  [Karel Zak]
   - fix "invalid partition number for type" error message  [Francesco Cosoleto]
   - fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - improve error message for missing extended partition  [Francesco Cosoleto]
   - more robust whole-disk detection  [Karel Zak]
   - print logical partition number while adding it  [Francesco Cosoleto]
   - quit from partition type dialog after invalid response  [Francesco Cosoleto]
   - use a single variable for the current disklabel  [Francesco Cosoleto]
fdisk, display, hexdump.h:
   - Use standard C types instead of u_int, u_char, u_long, etc.  [Josiah Worcester]
   - correct the grammar of an error message  [Benno Schulenberg]
findmnt:
   - (man page) short option for --timeout is not -t but -w  [Benno Schulenberg]
   - add --pairs to output in key="value" format  [Karel Zak]
   - add --poll and --timeout to the man page  [Karel Zak]
   - add --poll option  [Karel Zak]
   - add --timeout option  [Karel Zak]
   - add columns description to the --help output  [Karel Zak]
   - check mnt_tab_next_fs() return code [coverity scan]  [Karel Zak]
   - filter filesystems and actions for --poll  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter]  [Karel Zak]
   - fix leak  [Karel Zak]
   - improve spelling, wording and order of help text  [Benno Schulenberg]
   - minor coding style changes  [Karel Zak]
   - print OLD-* columns only when necessary  [Karel Zak]
   - slice up the help text into manageable chunks  [Benno Schulenberg]
flock:
   - cleanup usage()  [Karel Zak]
   - fix example in man page  [Karel Zak]
fsck:
   - fix -C parsing  [Karel Zak]
   - fix clang compiler warning  [Sami Kerola]
   - in man page say that "options take arguments", not vice versa  [Benno Schulenberg]
   - in usage() unmark type as optional for the -t option  [Benno Schulenberg]
   - indent usage()  [Karel Zak]
   - use <var> in usage()  [Karel Zak]
   - use same word category in message, and add translators comment  [Benno Schulenberg]
   - use xmalloc, warn & err and new usage  [Sami Kerola]
fsck, checktty, flock:
   - Use more portable includes.  [Josiah Worcester]
fsck.cramfs:
   - add missed strings to translation  [Sami Kerola]
   - coding style  [Sami Kerola]
   - retire die function  [Sami Kerola]
   - use xalloc.h  [Sami Kerola]
fsck.minix:
   - fix "array subscript is above array bounds"  [Karel Zak]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - remove unused variables  [Karel Zak]
   - use common functionalitly  [Davidlohr Bueso]
   - use lib/ismounted.c  [Karel Zak]
fsfreeze:
   - cleanup usage()  [Karel Zak]
fstrim:
   - cast from __u64 to standard C types  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - correct mistaken grammar in one message  [Benno Schulenberg]
fstrim, setarch:
   - replace error() with err()  [Francesco Cosoleto]
getopt:
   - add static qualifiers  [Olivier Mengué]
   - do not bundle help text lines into a single unwieldy chunk  [Benno Schulenberg]
   - fix '--unqote' typo in usage text  [Francesco Cosoleto]
   - fix coding style  [Sami Kerola]
   - fix gcc warning  [Karel Zak]
   - indent usage()  [Karel Zak]
   - make user getopt_long parsing to use function pointer  [Sami Kerola]
   - options struct, usage and version outputs  [Sami Kerola]
   - remove unnecessary free()  [Sami Kerola]
   - use <var> in usage()  [Karel Zak]
   - use xalloc.h  [Sami Kerola]
hexdump:
   - don't include err.h directly  [Karel Zak]
   - fix "beginnin" typo in usage message  [Benno Schulenberg]
   - fix segfault due to uninitialized memory  [Petr Uzel]
   - new usage(), xalloc and err.h stuff  [Sami Kerola]
hwclock:
   - Don't use asm/io.h if sys/io.h can't be found  [Josiah Worcester]
   - add variable initialization  [Sami Kerola]
   - build on non-Linux  [Samuel Thibault]
   - coding style clean up  [Sami Kerola]
   - fix compiler warnings  [Sami Kerola]
   - fix gcc warning (uninitialized variable)  [Karel Zak]
   - in man page move --date and --epoch from Functions to Options  [Benno Schulenberg]
   - include-what-you-use header check  [Sami Kerola]
   - indent usage()  [Karel Zak]
   - make RTC default to UTC time  [Daniel Drake]
   - move long options away from global scope  [Sami Kerola]
   - move path definitions to pathnames.h  [Sami Kerola]
   - remove clock-ppc.c  [Sami Kerola]
   - remove goto statement  [Sami Kerola]
   - remove misleading information  [Sami Kerola]
   - remove unused variables  [Karel Zak]
   - tiny change in comment  [Karel Zak]
   - use <var> in usage()  [Karel Zak]
   - use libc error printing functions  [Sami Kerola]
   - validate numeric option arguments  [Sami Kerola]
   - when cutting up help texts anyway, do it into small chunks  [Benno Schulenberg]
include:
   - [at.h]  include c.h for PATH_MAX  [Karel Zak]
   - [bitops.h] make return values consistent  [Karel Zak]
   - [c.h]  add fallback for old libs without O_CLOEXEC  [Karel Zak]
   - [c.h]  remove strings.h include dublicate  [Sami Kerola]
   - [c.h]  typeof to __typeof__ fix  [Sami Kerola]
   - [c.h] Include stdlib.h unconditionaly  [maximilian attems]
   - [c.h] add definition wrappers for old libc versions  [Davidlohr Bueso]
   - [c.h] move up declaration of program_invocation_short_name before usage  [maximilian attems]
   - [nls.h] define a macro for handling plurals with ngettext()  [Benno Schulenberg]
   - [strutils.c] add list parsers  [Karel Zak]
   - [tt.c] always truncate if TT_FL_TRUNC  [Karel Zak]
   - [writeall] add fwrite_all()  [Karel Zak]
   - [xalloc.h]  mention strdup in the file description  [Petr Uzel]
   - minix.h  use data types from stdint.h  [Sami Kerola]
   - move disk-utils/mkfs.h -> include/exitcodes.h  [Sami Kerola]
   - move fsck return values to exitcodes.h  [Sami Kerola]
   - move minix.h to include directory  [Sami Kerola]
   - remove kernel headers from minix.h  [Sami Kerola]
ionice:
   - IOPRIO_PRIO_* macros  [Karel Zak]
   - add long options  [Sami Kerola]
   - adjust synopsis and wording and formatting on the man page  [Benno Schulenberg]
   - allow to use names for -c <class>  [Karel Zak]
   - coding style fixes  [Sami Kerola]
   - fix -V output  [Sami Kerola]
   - fix -p  [Karel Zak]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - improve command line interpretation  [Karel Zak]
   - make -t more tolerant  [Karel Zak]
   - slightly improve grammar, spacing and consistency of man page  [Benno Schulenberg]
iosize:
   - fix gcc warning  [Karel Zak]
ipcmk:
   - cleanup usage()  [Karel Zak]
ipcs:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix typo  [Karel Zak]
   - really show all resources when -a and -i are combined  [Jens Kristian Søgaard]
   - use unsigned type for uid/gid  [Karel Zak]
isosize:
   - check user input to be numeric  [Sami Kerola]
   - fix coding style  [Sami Kerola]
   - improve style, grammar and spacing of man page  [Benno Schulenberg]
   - include-what-you-use header check  [Sami Kerola]
   - remove global variables  [Sami Kerola]
   - simplify some error messages  [Francesco Cosoleto]
   - use long options  [Sami Kerola]
   - use program_invocation_short_name  [Francesco Cosoleto]
kill:
   - add -q sigval to use sigqueue(2)  [Karel Zak]
   - add support for real-time signals  [Karel Zak]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - translate "-l <num>" to RT<n>  [Karel Zak]
last:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
ldattach:
   - cleanup usage()  [Karel Zak]
lib:
   - [at.c] add readlink_at(), fix semantic for absolute paths  [Karel Zak]
   - [at.c] fix compiler warnings [-Wunused-parameter]  [Karel Zak]
   - [blkdev.c] add blkdev_get_physector_size()  [Davidlohr Bueso]
   - [blkdev.c] more robust blkdev_is_misaligned()  [Karel Zak]
   - [blkdev.c] remove kernel version check from blkdev_get_sector_size()  [Karel Zak]
   - [cpuset.c] fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - [fsprobe.c] fix blkid_evaluate_spec() call  [Karel Zak]
   - [fsprobe.c] remove obsolete <blkid/blkid.h>  [Karel Zak]
   - [fsprobe.c] use internal libblkid only  [Karel Zak]
   - [linux_version.c] accommodate two-component linux version (e.g. 3.0)  [Karel Zak]
   - [linux_version.c] simplify version parsing  [Karel Zak]
   - [loopdev.c] add module for work loop devices  [Karel Zak]
   - [loopdev.c] cleanup flags usage  [Karel Zak]
   - [loopdev.c] correct qsort compare function  [Karel Zak]
   - [loopdev.c] correct trivial typo  [Davidlohr Bueso]
   - [mangle.c] fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - [procutils.c]  add missing files. Sorry.  [Karel Zak]
   - [procutils.c]  general purpose procfs parsing functions  [Davidlohr Bueso]
   - [procutils.c] improve robustness  [Karel Zak]
   - [strutils.c] fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - [strutils.c] more robust strtol checks  [Karel Zak]
   - [strutils] avoid integer overflow on large values  [Dave Reisner]
   - [sysfs.c] add sysfs_readlink and name/path functions  [Karel Zak]
   - [sysfs.c] fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - [sysfs.c] fix double free  [Karel Zak]
   - [sysfs.c] make sysfs_read_* function more robust  [Karel Zak]
   - [tt.c] Fix mbs_width macro for systems without WIDECHAR  [Josiah Worcester]
   - [tt.c] clean up used types  [Karel Zak]
   - [tt.c] dereferencing data before a null check [coverity scan]  [Karel Zak]
   - [tt.c] support fixed width and multiple tt_print_table() calls  [Karel Zak]
   - [tt.c] support key="value" output format  [Karel Zak]
   - [tt.c] use mbs_truncate() from mbsalign.c  [Karel Zak]
   - add generic sysfs utils  [Karel Zak]
   - add strtoul_or_err() function  [Sami Kerola]
libblkid:
   - [partitions] fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - [superblocks] fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - [topology] fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - add ID_PART_ENTRY_{OFFSET,SIZE,DISK}  [Karel Zak]
   - add PART_ENTRY_* to docs  [Karel Zak]
   - add blkid_evaluate_spec()  [Karel Zak]
   - add debug message  [Karel Zak]
   - add docs for new PART_ENTRY_* values  [Karel Zak]
   - add some debug messages  [Karel Zak]
   - befs validate di_br_size !=0 and br_per_di_br != 0  [Timo Warns]
   - cleanup flags  [Karel Zak]
   - cleanup prober initialization  [Karel Zak]
   - don't ignore swap UUID if only first byte is zero  [Richard W.M. Jones]
   - fix EFI GPT uuid byte order  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - fix gcc warnings  [Karel Zak]
   - fix typo in *_to_cpu() usage in raid detection [coverity scan]  [Karel Zak]
   - found whole-disk for partitions mapped by kpartx  [Karel Zak]
   - ignore hfsplus superblocks with blocksize < 512  [Karel Zak]
   - improve blkid__scan_dir  [Karel Zak]
   - make whole disk probing more robust  [Karel Zak]
   - minor change in man page  [Karel Zak]
   - move MINIX_MAXPARTITIONS to minix.h  [Sami Kerola]
   - remove test for non-zero head count in FAT superblock probe.  [Nick Holloway]
   - try to detect if PT is newer than LVM  [Karel Zak]
   - update docs  [Karel Zak]
   - use 64bit offset in search_fat_label to avoid truncation  [Jindrich Makovicka]
   - use MINIX_BLOCK_SIZE from minix.h  [Sami Kerola]
   - use blkid_probe_get_buffer() more carefully  [Karel Zak]
   - use cached buffers for nested PT probing  [Karel Zak]
   - use partno for partitions mapped by DM  [Karel Zak]
   - use stuff from sysfs.h and at.h  [Karel Zak]
   - use superblock structure from minix.h  [Sami Kerola]
   - use sysfs_init() more carefully  [Karel Zak]
   - validate hfs blocksize != 0  [Timo Warns]
   - vfat big endian fix  [Jindrich Makovicka]
libmount:
   - add MOUNT_2.20 version to the API  [Karel Zak]
   - add fallbacks for old systems without umount2() syscall  [Karel Zak]
   - add generic function to read table for context  [Karel Zak]
   - add mnt_reset_table()  [Karel Zak]
   - add mnt_tabdiff_* functions  [Karel Zak]
   - add mnt_table_is_mounted()  [Karel Zak]
   - add mount support for loopdevs  [Karel Zak]
   - add mountpoint(1) implementation to samples/  [Karel Zak]
   - add phelper= support  [Karel Zak]
   - add support for mount -a  [Karel Zak]
   - add support for x-* mount comments  [Karel Zak]
   - allow to convert /dev/loopN to backing filename  [Karel Zak]
   - allow to set parser callback to context  [Karel Zak]
   - avoid redundant declaration of mnt_context_do_umount  [Jan Engelhardt]
   - better "user" evaluation  [Karel Zak]
   - block signals when update utab  [Karel Zak]
   - block signals when writing to mtab  [Karel Zak]
   - clean up cache.c  [Karel Zak]
   - clean up docs  [Karel Zak]
   - cleanup *_do_[u]mount() return codes and docs  [Karel Zak]
   - cleanup code for "none" source and fstype, fix mem leak  [Karel Zak]
   - cleanup docs  [Karel Zak]
   - cleanup return codes in mount sample  [Karel Zak]
   - cleanup umount code  [Karel Zak]
   - create a default lock for mtab update  [Karel Zak]
   - cut up mount's help text into manageable chunks  [Benno Schulenberg]
   - don't export functions for vfs/fs/userspace mount options  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - fix debug message  [Karel Zak]
   - fix fstype caching  [Karel Zak]
   - fix leak in sample program  [Karel Zak]
   - fix memory leak in cache  [Karel Zak]
   - fix mtab update for "none" source  [Karel Zak]
   - fix parsing of mountinfo from 2.6.39  [Karel Zak]
   - fix some typos and copy&paste mistakes in comments  [Petr Uzel]
   - fix test  [Karel Zak]
   - fix undefined sources  [Davidlohr Bueso]
   - fix uninitialized variable in sample  [Karel Zak]
   - improve apply_fstab debugging  [Karel Zak]
   - keep code more readable for analyzers [coverity scan]  [Karel Zak]
   - merge mtab and utab locking code  [Karel Zak]
   - minor changes in sample program  [Karel Zak]
   - minor fix to mnt_tabdiff_*  [Karel Zak]
   - minor fixes  [Karel Zak]
   - more robust mtab and utab update (CVE-2011-1676, CVE-2011-1677)  [Karel Zak]
   - plug memory leak in sample program  [Petr Uzel]
   - remove 'seclabel' on remount, improve for 2.6.39  [Karel Zak]
   - remove unnecessary includes, mask API as stable  [Karel Zak]
   - rename in cache.c  [Karel Zak]
   - rename mount option "quiet" to "silent"  [Karel Zak]
   - replace mkostmps() with more portable mkstemp()  [Karel Zak]
   - small lock code cleanup  [Karel Zak]
   - support /run/mount rather than /dev/.mount  [Karel Zak]
   - support NULL source path for mnt_table_find_* functions  [Karel Zak]
   - update list of pseudo-filesystems  [Karel Zak]
   - use chdir() and NOFOLLOW umount flag for umount operation  [Karel Zak]
   - use libmnt_lock for utab flock  [Karel Zak]
   - use mnt_table_get_fs_root() in utab code  [Karel Zak]
libuuid:
   - __uuid_generate_time()  report if clock_seq is safe  [Petr Uzel]
   - do not use invalid file descriptor  [Petr Uzel]
   - fix test in get_clock()  [Petr Uzel]
   - get_clock()  report if the clock_seq is safe  [Petr Uzel]
   - introduce uuid_generate_time_safe()  [Petr Uzel]
   - manpage spelling fixes  [Petr Uzel]
   - move __uuid function to UUIDD_PRIVATE in uuid.sym  [Karel Zak]
   - rename uuid__generate_* to __uuid_generate_*  [Petr Uzel]
   - update manpage, mention uuid_generate_time_safe  [Petr Uzel]
logger:
   - fix variable type compiler warning  [Sami Kerola]
   - improve descriptions on man page, sort the options, add -h and -V  [Benno Schulenberg]
   - improve, sort and slice up usage() help text  [Benno Schulenberg]
   - indent usage()  [Karel Zak]
   - mention long option in logger man page  [Sami Kerola]
   - support for logging to UDP socket / remote syslog server  [WUEBBELS, Josef \(Extern\)]
   - support long options  [Sami Kerola]
   - use libc error printing facilities  [Sami Kerola]
   - use simple apostrophe instead of multibyte char in logger.1  [Petr Uzel]
login:
   - cleanup unused variables  [Karel Zak]
   - does not ignore setgid() return code for non-roots  [Karel Zak]
   - fix checktty test to compile with old glibc  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter -Wsign-compare]  [Karel Zak]
   - fix typos in man page  [Karel Zak]
login-utils:
   - include fix  [Sami Kerola]
look:
   - add long options  [Sami Kerola]
   - adjust the formatting and some wording of the man page  [Benno Schulenberg]
   - cleanup usage()  [Karel Zak]
   - fix manpage formatting  [Petr Uzel]
losetup:
   - allow to use --verbose with --all  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - correct qsort compare function  [Andreas Schwab]
   - spelling fixes  [Petr Uzel]
lsblk:
   - add --pairs to output in key="value" format  [Karel Zak]
   - add TYPE column to lsblk output  [Milan Broz]
   - add note to the man page  [Karel Zak]
   - add queue request size attribute  [Milan Broz]
   - add state attribute  [Milan Broz]
   - add support for discard topology (-D option)  [Martin K. Petersen]
   - bitwise or TT_FL_ASCII with tt_flags instead of setting  [Dave Reisner]
   - correct mistaken word  [Benno Schulenberg]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix readlink() usage  [Karel Zak]
   - fix strtoul() usage [coverity scan]  [Karel Zak]
   - ignore device if disappear while processing  [Milan Broz]
   - improve discard support  [Martin K. Petersen]
   - use generic sysfs functions  [Karel Zak]
   - use ssize_t for readlink() return code  [Karel Zak]
   - use sysfs_read_u64() rather than sysfs_strdup() + atol()  [Karel Zak]
lscpu:
   - add support for books  [Heiko Carstens]
   - cleanup usage()  [Karel Zak]
   - detect VMware hypervisor  [Stephen Hemminger]
   - detect sun4{u,v} in /proc/cpuinfo for sparc64  [Karel Zak]
   - extend --parse functionality  [Karel Zak]
   - fix bogomips detection for s390  [Heiko Carstens]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix op-mode for /{sys,proc} dumps  [Karel Zak]
   - fix threads-per-core calculation  [Karel Zak]
   - use xalloc  [Davidlohr Bueso]
   - use xstrdup from xalloc.h  [Petr Uzel]
mcookie:
   - change coding style  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
   - use warnx, long options and help screen  [Sami Kerola]
md5:
   - use symbolical digest length  [Sami Kerola]
mesg:
   - add \n to usage() output  [Karel Zak]
   - add long options to the man page  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
   - man page clean wqup  [Karel Zak]
   - new --verbose option  [Sami Kerola]
   - use long options, also --help and --version added  [Sami Kerola]
minix:
   - add MINIX_ prefix to some global macros  [Karel Zak]
   - add common functionality  [Davidlohr Bueso]
   - add version 3 layout  [Davidlohr Bueso]
   - cleanup global variables and macros  [Karel Zak]
   - fix warning  [Davidlohr Bueso]
   - move globals and inline functions to minix_programs.h  [Sami Kerola]
   - remove fs state  [Davidlohr Bueso]
   - remove unnecessary initializations  [Karel Zak]
misc:
   - hurd build fixes  [Samuel Thibault]
   - use unsigned int for bit-fileds  [Karel Zak]
misc-utils:
   - remove misleading README files  [Sami Kerola]
mkfs:
   - add long options  [Sami Kerola]
   - coding style fixes  [Sami Kerola]
   - fix small formatting issues in man page  [Benno Schulenberg]
   - include-what-you-use header check  [Sami Kerola]
mkfs.bfs:
   - add long options  [Sami Kerola]
   - cleanu p --version output  [Karel Zak]
   - coding style fix  [Sami Kerola]
   - include-what-you-use header check  [Sami Kerola]
   - use err() instead of errx()  [Karel Zak]
   - use libc error facilities  [Sami Kerola]
   - use xstrdup from xalloc.h  [Sami Kerola]
   - validate numeric user inputs  [Sami Kerola]
mkfs.cramfs:
   - clearer error message, "cannot close" instead of "closing"  [Benno Schulenberg]
   - coding style  [Sami Kerola]
   - convert spaces to tabs  [Sami Kerola]
   - error printing fixes  [Sami Kerola]
   - few symbolic exit codes where missing  [Sami Kerola]
   - include-what-you-use header check  [Sami Kerola]
   - use program_invocation_short_name  [Sami Kerola]
   - use xalloc.h  [Sami Kerola]
   - validate numeric user inputs  [Sami Kerola]
mkfs.minix:
   - add fs version options  [Davidlohr Bueso]
   - add minix v3 support  [Davidlohr Bueso]
   - check for misalignment  [Davidlohr Bueso]
   - document -3 option  [Davidlohr Bueso]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix write_all() usage  [Karel Zak]
   - general cleanups  [Davidlohr Bueso]
   - remove die()  [Davidlohr Bueso]
   - standardize superblock attribute settings  [Davidlohr Bueso]
   - use common functionality  [Davidlohr Bueso]
   - use inode wrappers  [Davidlohr Bueso]
mkswap:
   - Use c.h  [maximilian attems]
   - add alignment check  [Davidlohr Bueso]
   - coding style unification  [Sami Kerola]
   - fix compiler warning  [Karel Zak]
   - fix to compiler warnings  [Sami Kerola]
   - support long options and check user inputs  [Sami Kerola]
   - use EXIT_ values  [Sami Kerola]
   - use libc error messaging facilities  [Sami Kerola]
   - use xalloc  [Sami Kerola]
more:
   - new usage output, and some trivial fixes  [Sami Kerola]
mount:
   - -a segfaults when 4th field is omitted (mount options)  [Karel Zak]
   - add note about blank lines to fstab.5  [Karel Zak]
   - add phelper=  [Karel Zak]
   - add ufstype=ufs2 to mount.8  [Karel Zak]
   - canonicalize fstab mnt_dir  [Karel Zak]
   - first look for mountpoint  [Karel Zak]
   - fix compiler warnings [-Wsign-compare -Wunused-parameter]  [Karel Zak]
   - fix double free in mount.c with SELinux enabled  [Kirill Elagin]
   - fix reference to sharedsubtree documentation in mount.8  [Mike Hommey]
   - fix typo in mount.8  [Petr Uzel]
   - fix typos in mount.8  [Nicolas Francois]
   - make the error message clear  [Petr Uzel]
   - mount.8 remove reprecated bh/nobh options from the manual page  [Lukas Czerner]
   - remove 'seclabel' mount option on remount  [Karel Zak]
   - remove accidental extra word in ext4 documentation in mount.8  [Petr Uzel]
   - remove note about obsolete volume_id library from man page  [Karel Zak]
   - rename "quiet" to "silent" (MS_SILENT)  [Karel Zak]
   - update mtab on "-f" and compiled with libmount  [Karel Zak]
   - use fflush() and temporary file for mtab updates (CVE-2011-1089)  [Karel Zak]
   - use libmount to detect already mounted bind mounts  [Karel Zak]
   - use lock from mnt_update_table()  [Karel Zak]
mountpoint:
   - add new command  [Karel Zak]
   - cleanup usage()  [Karel Zak]
namei:
   - add --version option  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
   - fix to argument handling  [Sami Kerola]
   - remove unused variable  [Karel Zak]
   - use xalloc.h  [Sami Kerola]
partx:
   - add --pairs to output in key="value" format  [Karel Zak]
   - add fallback for openat() to be usable on old systems  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - do not print null  [Davidlohr Bueso]
   - get partition number with sysfs lib  [Davidlohr Bueso]
   - improve clarity of some messages, gettextize two missed ones  [Benno Schulenberg]
   - remove unused headers  [Davidlohr Bueso]
   - switch on localization  [Benno Schulenberg]
   - trivial comment fix  [Davidlohr Bueso]
   - use lowercase in usage()  [Karel Zak]
   - use sysfs_deinit  [Davidlohr Bueso]
partx, lsblk:
   - fix gettext calls  [Karel Zak]
pg:
   - fix compiler warnings [-Wunused-result]  [Karel Zak]
   - fix write_all() usage  [Karel Zak]
   - normalize formatting of the man page, and tweak some of its wording  [Benno Schulenberg]
   - return value warning fix  [Sami Kerola]
   - use size_t for wcstombs() return code  [Sami Kerola]
po:
   - also extract plural messages from the C files  [Benno Schulenberg]
   - change MSGID_BUGS_ADDRESS  [Karel Zak]
   - do not search /samples/ subdirectories for translatable strings  [Benno Schulenberg]
   - merge changes  [Karel Zak]
   - update cs.po (from translationproject.org)  [Petr Písař]
   - update da.po (from translationproject.org)  [Joe Hansen]
   - update de.po (from translationproject.org)  [Philipp Thomas]
   - update fr.po (from translationproject.org)  [David Prévot]
   - update ja.po (from translationproject.org)  [Takeshi Hamasaki]
   - update nl.po (from translationproject.org)  [Benno Schulenberg]
   - update pl.po (from translationproject.org)  [Jakub Bogusz]
procutils:
   - include missing header  [Davidlohr Bueso]
raw:
   - remove constants from message strings; undo some abbrevs  [Benno Schulenberg]
readprofile:
   - don't stop parsing at __init_end  [Po-Yu Chuang]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
rename:
   - cleanup usage()  [Karel Zak]
   - verbose option & maintenance fixes  [Sami Kerola]
renice:
   - cleanup usage()  [Karel Zak]
rev:
   - mark signo unused in sig_handler  [Sami Kerola]
   - memory leak fix  [Sami Kerola]
   - mention long options in man page  [Sami Kerola]
   - option parsing bug fixed & long options added  [Sami Kerola]
   - use xrealloc from xalloc.h  [Sami Kerola]
rtcwake:
   - cleanup usage()  [Karel Zak]
   - do not duplicate argument strings  [Davidlohr Bueso]
   - test for available suspend modes  [Lawrence Rust]
script:
   - cleanup usage()  [Karel Zak]
   - don't include err.h directly  [Karel Zak]
   - fix compiler warnings  [Sami Kerola]
   - include-what-you-use header check  [Sami Kerola]
   - indicate that the file argument to --timing is optional  [Benno Schulenberg]
   - inform about long options in script manual page  [Sami Kerola]
   - normalize formatting of the man page  [Benno Schulenberg]
   - option --force added  [Sami Kerola]
   - optional timing output file argument added  [Sami Kerola]
   - remove magic constants and a type mismatch fix  [Sami Kerola]
   - remove unnecessary void casting  [Sami Kerola]
   - support for long options  [Sami Kerola]
   - use libc error printing facilities  [Sami Kerola]
scriptreplay:
   - allow arguments as command line switches  [Sami Kerola]
   - bug in argument check  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
   - end printing with new line  [Sami Kerola]
   - fix buffer overflow  [Sami Kerola]
   - improve synopsis and formatting and wording in man page  [Benno Schulenberg]
   - support long options  [Sami Kerola]
setarch:
   - add --uname-2.6 option for personality flag UNAME26  [Ben Hutchings]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
setterm:
   - add note about long dump file paths to man page  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
   - fix variable types, and unused argument warnings  [Sami Kerola]
   - function screendump coding style fixed  [Sami Kerola]
   - mention in man setterm.1 -version and -help switches  [Sami Kerola]
   - segfault with long dump file name  [Sami Kerola]
   - support -help and -version options  [Sami Kerola]
   - use libc error printing facilities  [Sami Kerola]
   - use xmalloc()  [Karel Zak]
sfdisk:
   - (man page) use comma between short and long option instead of "or"  [Benno Schulenberg]
   - correct '--inside-order' to '--inside-outer' in documentation  [Benno Schulenberg]
   - declare unused function attributes  [Sami Kerola]
   - fix coding style.  [Karel Zak]
   - fix for data type mismatches  [Sami Kerola]
   - fix implicit overflow  [Sami Kerola]
   - fix typo in man page  [Karel Zak]
   - gettextize each warning as a whole  [Benno Schulenberg]
   - help screen format  [Sami Kerola]
   - improve descriptions of options --no-reread and --show-extended  [Benno Schulenberg]
   - indent usage()  [Karel Zak]
   - make some tests conditional to !Linux  [Giulio Orsero]
   - previously undocumented options to usage  [Sami Kerola]
   - remove inconsistent and wasteful newlines in the _() calls  [Benno Schulenberg]
   - rename warn to my_warn  [Fabian Groffen]
   - returns non-zero on failed BLKRRPART ioctl  [Andrea Galbusera]
   - slice help text into small chunks and improve its wording  [Benno Schulenberg]
simpleinit:
   - remove this deprecated set of utils  [Karel Zak]
strutils:
   - new wrapper function strtoll_or_err  [Sami Kerola]
swaplabel:
   - fix compiler warnings [-Wunused-parameter]  [Karel Zak]
swapon:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - missing separator in swapon -s command  [Karel Zak]
   - rewrite usage()  [Karel Zak]
   - use xalloc lib  [Davidlohr Bueso]
sysfs:
   - free used resources  [Davidlohr Bueso]
tailf:
   - fix memmove() usage  [Karel Zak]
   - fix open() return value check [coverity scan]  [Karel Zak]
   - harmonize option argument and explanation in usage message  [Benno Schulenberg]
   - support --lines 0  [Karel Zak]
   - tailf mention new help & version options in man page  [Sami Kerola]
   - use long options  [Sami Kerola]
taskset:
   - adjust style of man page  [Benno Schulenberg]
   - coding style fixes  [Sami Kerola]
   - include-what-you-use header check  [Sami Kerola]
   - make threads aware  [Davidlohr Bueso]
   - use xalloc lib  [Davidlohr Bueso]
test_sysinfo:
   - Use CHAR_BIT*sizeof(void*) instead of __WORDSIZE.  [Josiah Worcester]
   - fix printf format  [Karel Zak]
tests:
   - [cpuset] call free() for range  [Karel Zak]
   - add 'none' source to libmount update tests  [Karel Zak]
   - add -o remount to libmount tests  [Karel Zak]
   - add colrm basic test  [Sami Kerola]
   - add column tests  [Sami Kerola]
   - add dump from PPC64 to lscpu tests  [Karel Zak]
   - add dump from UltraSparc T1 to lscpu tests  [Karel Zak]
   - add dump from huge ia64 to lscpu tests  [Karel Zak]
   - add lscpu dumps from three Dell's & a Xen  [Sami Kerola]
   - add mount(8) test for fstab entries without options  [Karel Zak]
   - add test for RLIMIT_FSIZE issue  [Karel Zak]
   - add tests for [u]mount regular file  [Karel Zak]
   - don't run mount/regfile test on old kernel  [Karel Zak]
   - fix compiler warnings [-Wunused-parameter]  [Karel Zak]
   - grammar fixes  [Davidlohr Bueso]
   - remove generated file  [Karel Zak]
   - test column(1) with multiple input files  [Karel Zak]
   - update GPT test  [Karel Zak]
   - update blkid MD test  [Karel Zak]
   - update for recent fdisk changes  [Karel Zak]
   - update libmount tests (add optstr output)  [Karel Zak]
   - update lscpu tests  [Karel Zak]
   - use libmount tab update tests for UID=0 only  [Karel Zak]
textual:
   - add some guiding comments for translators  [Benno Schulenberg]
   - fix three typos in message strings and improve consistency  [Benno Schulenberg]
   - improve the wording of some error and usage messages  [Benno Schulenberg]
   - tweak several manpages, mainly the blkid one  [Benno Schulenberg]
ttymsg:
   - fix compiler warnings and use EXIT_  [Sami Kerola]
tunelp:
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
ul:
   - add -h and -V to the man page; use "file" and lowercase  [Benno Schulenberg]
   - in usage() not overwriting but overriding is meant  [Benno Schulenberg]
   - make usage() say that more than one input file is allowed  [Benno Schulenberg]
   - remove superfluous return as usage() does not return  [Benno Schulenberg]
ul.c:
   - close files and free memory after usage  [Sami Kerola]
   - code style and comment fixes  [Sami Kerola]
   - convert definition to function  [Sami Kerola]
   - escape handling refactored  [Sami Kerola]
   - fix compier warnings  [Sami Kerola]
   - magic constant removal  [Sami Kerola]
   - use long options  [Sami Kerola]
   - warn user when command chooses term type  [Sami Kerola]
umount:
   - allow unmounting loopdev specified by associated file  [Petr Uzel]
   - block signals when umounting and updating mtab (CVE-2011-1676, CVE-2011-1677)  [Karel Zak]
   - do not hang with disconnected NFS mounts  [Petr Uzel]
   - segfaults with inconsistent entry in /etc/fstab  [Karel Zak]
   - support non-canonical devnames in mtab  [Karel Zak]
   - use UMOUNT_NOFOLLOW for non-root users  [Karel Zak]
   - use helper= for all UIDs  [Karel Zak]
unshare:
   - cleanup usage()  [Karel Zak]
uuidd:
   - (man page) alphabetize the options  [Benno Schulenberg]
   - (man page) repair the snipped up description of option -T  [Benno Schulenberg]
   - add "-q" to synopsis, order options alphabetically  [Benno Schulenberg]
   - cleanup usage()  [Karel Zak]
   - coding style fixes  [Sami Kerola]
   - die() function removed  [Sami Kerola]
   - distinguish between singular and plural in three messages  [Benno Schulenberg]
   - fix compiler warnings [-Wsign-compare]  [Karel Zak]
   - fix manpage  libuuid(3) does not exist  [Petr Uzel]
   - long options & new usage  [Sami Kerola]
   - remove goto statement  [Sami Kerola]
   - use symbolic exit and return values  [Sami Kerola]
uuidgen:
   - add long options  [Sami Kerola]
   - cleanup usage()  [Karel Zak]
vipw:
   - (man page) uniformize header and footer, tweak the formatting  [Benno Schulenberg]
wall:
   - add long options and 79 char cut info to the man page  [Sami Kerola]
   - build with SUID_{C,LD}FLAGS  [Petr Uzel]
   - cleanup mbufsize usage  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - remove global variables and support TMPDIR  [Sami Kerola]
   - support --timeout switch  [Sami Kerola]
   - support --timeout switch (vol 2.)  [Karel Zak]
   - use long options  [Sami Kerola]
whereis:
   - cleanup usage()  [Karel Zak]
   - coding style  [Sami Kerola]
   - new usage output & version printing  [Sami Kerola]
   - remove find()  [Davidlohr Bueso]
   - remove goto statements  [Sami Kerola]
   - update coding style  [Davidlohr Bueso]
   - warnings, exit values, braces and returns  [Sami Kerola]
wipefs:
   - add version printing & compiler warning  [Sami Kerola]
   - change option -v to -V for --version; add it to man page  [Benno Schulenberg]
   - gettextize one sentence as a whole  [Benno Schulenberg]
write:
   - cleanup usage()  [Karel Zak]
   - long options & new usage  [Sami Kerola]
   - maintenance fixes  [Sami Kerola]
   - remove inconsistent periods from two error messages  [Benno Schulenberg]

- cleanup usage()  [Karel Zak]
- long options & new usage  [Sami Kerola]
- maintenance fixes  [Sami Kerola]
- remove inconsistent periods from two error messages  [Benno Schulenberg]
