
Util-linux 2.24 Release Notes
=============================

This is the last release where the old non-libmount mount(8) implementation
is supported and maintained.

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

fdisk(8):
 - the code has been completely refactored and moved to libfdisk
   (the library does not have a stable API yet)
 - user interface has been unified for all label types and it supports colors
 - GPT disk UUID, partition UUID and partition name modification is supported now

pylibmount:
 - this new library provides PYTHON BINDINGS for libmount;
   use --with-python[=2|3] to enable the bindings

last(1) and lastb(1):
 - the NEW IMPLEMENTATION has been merged from sysvinit to util-linux and
   extended; now it supports command line options --present, --since, and
   --time-format
 - use --enable-deprecated-last to enable the old util-linux last(1) implementation

swapon(8):
 - the option --discard= and fstab mount option discard= allow to explicitly
   specify 'pages' or 'once' discard policy. If no policy is selected, the
   default behavior is to enable both. See swapon.8 man page for more details.

libblkid and blkid(8):
 - supports LOGUUID= for external logs (e.g. extN and XFS)
 - generates a pseudo PARTUUID= for MBR partitions (based on MBR Id, Linux kernel
   supports the same concept for root= command line option)

agetty(8):
 - supportes new issue file \S escape code to read information from /etc/os-release
 - the option -L allows to completely control CLOCAL flag

dmesg(1):
 - supports new command line option --time-format to specify time format
 - supports new iso-8601 time format

hexdump(1):
 - supports long options now

wall(1):
 - the command is compatible with sysvinit implementation now

logger(1):
 - supports new command line option --prio-prefix when logging stdin

lscpu(1):
 - allows to detect more hypervisor types and provides info about Max
   and Min CPU Mhz

unshare(8):
 - supports new command line options --fork and --mount-proc for
   pid namespaces

wipefs(8):
  - now wipes superblocks with incorrect checksums too
  - supports new command line option --backup to backup erased data to
    $HOME/wipefs-<devname>-<offset>.bak

nologin(8):
  - this command has been merged into util-linux, the command politely
    refuses a login.


Stable maintenance releases between v2.23 and v2.24
---------------------------------------------------

util-linux 2.22.1 [Jun 31 2013]

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

util-linux 2.23.2 [May 28 2013]

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


Changes between v2.23 and v2.24
-------------------------------

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

agetty:
   - -L accepts optional argument  [Karel Zak]
   - add \S to output /etc/os-release data  [Karel Zak]
   - add baud rates available from glibc that are not already supported  [James Buren]
   - allow full control on CLOCAL flag  [Karel Zak]
   - check writing to a file was successful  [Sami Kerola]
   - cleanup debug ifdefs  [Karel Zak]
   - don't remove ECHOCTL from c_lflag  [Karel Zak]
   - fix a kill/erase error in man page and improve clarity  [Benno Schulenberg]
   - fix memory leak [clang-analyzer]  [Sami Kerola]
   - improve wording, grammar and some formatting in man page  [Benno Schulenberg]
   - only use EXTA/EXTB macros if B19200/B38400 macros are not present  [James Buren]
   - update man page and usage()  [Karel Zak]
   - use O_NONBLOCK only for serial lines with CLOCAL  [Karel Zak]
   - use standard angular brackets in usage message  [Benno Schulenberg]
   - unrecognized option '--loginpause'"  [kernc]
bash-completion:
   - add mount and umount  [Sami Kerola]
   - fix typos in mkfs.bfs logic  [Mike Frysinger]
   - use '\n' as IFS when ask for filenames  [Karel Zak]
blkdiscard:
   - use fstat() rather than stat() [coverity scan]  [Karel Zak]
blkid:
   - export ID_PART_TABLE_UUID  [Karel Zak]
   - fix typo in ID_FS_AMBIVALEN=  [Karel Zak]
blkid, hwclock, ldattach:
   - use program_invocation_short_name  [Sami Kerola]
blockdev:
   - Remove the --setbsz (set blocksize) option which has never worked.  [Richard W.M. Jones]
   - add note about --setbsz usability  [Karel Zak]
build-sys:
   - Check for type sighandler_t and use if present  [Michael Forney]
   - Fix check for __GNU_LIBRARY__  [Michael Forney]
   - Use _POSIX_VERSION to determine support for %m  [Michael Forney]
   - add *vim and clang_complete to gitignore  [Karel Zak]
   - add --disable-setterm  [Karel Zak]
   - add CFLAGS and LDFLAGS for daemons and shared libs  [Karel Zak]
   - add pylibmount  [Karel Zak]
   - add pylibmount __init__.py EXTRA_DIST  [Karel Zak]
   - always check for setns() and unshare() libs functions  [Karel Zak]
   - complete elvtune removal  [Sami Kerola]
   - enable mesg(1) by default  [Karel Zak]
   - fix ${prefix} usage, be more verbose about py paths  [Karel Zak]
   - fix include Makemodule.am  [Karel Zak]
   - fix last stuff  [Karel Zak]
   - fix lastb symlink  [Karel Zak]
   - fix static builds  [Karel Zak]
   - fix tinfo congitional  [Karel Zak]
   - fix {lib,sbin}dir paths  [Karel Zak]
   - improbe UL_CONFLICT_BUILD macro  [Karel Zak]
   - install pylibmount into  [Karel Zak]
   - install to the correct python dirs  [Karel Zak]
   - move getopt examples to docdir  [Karel Zak]
   - one install dir for all pylibmount stuff  [Karel Zak]
   - prefer AS_CASE rather than shell 'case'  [Sami Kerola]
   - prefer AS_IF rather than shell 'if'  [Sami Kerola]
   - pylibmount will not work when python3 is present  [Sami Kerola]
   - release++ (v2.24-rc1)  [Karel Zak]
   - release++ (v2.24-rc2)  [Karel Zak]
   - remove deprecated elvtune command  [Karel Zak]
   - remove unnecessary environment variable  [Sami Kerola]
   - simplify python detection  [Sami Kerola]
   - support --with-python[={2,3}]  [Karel Zak]
   - use -Wno-clobbered for some BSD crap  [Karel Zak]
   - use backticks rather than $() for commands in configure  [Sami Kerola]
   - use m4 quoting consistently  [Sami Kerola]
   - use tinfo *or* ncurses for more(1), ul(1) and setterm(1)  [Karel Zak]
cal:
   - add --color to usage()  [Sami Kerola]
   - clean up use of constants  [Sami Kerola]
   - convert function like definitions to functions  [Sami Kerola]
   - de-duplicate julian specific functions  [Sami Kerola]
   - fix -y output for UTF8  [Karel Zak]
   - fix compiler warning on systems without term libs  [Karel Zak]
   - fix few type mismatches  [Sami Kerola]
   - fix gettext warning  [Karel Zak]
   - fix preprocessor directive indendation  [Sami Kerola]
   - fix warning when compiled --without-ncurses  [Karel Zak]
   - improve coding style  [Karel Zak]
   - improve the help text and man page  [Pádraig Brady]
   - mark all functions static  [Sami Kerola]
   - remove arbitrary limit of maxium year being 9999  [Sami Kerola]
   - remove unnecessary initializations  [Sami Kerola]
   - set statically defined data read-only  [Sami Kerola]
   - simplify calendar reformat calculations  [Sami Kerola]
   - simplify colormode parsing  [Karel Zak]
   - simplify day_in_week() calculation  [Sami Kerola]
   - stop trimming whitespaces  [Sami Kerola]
   - support --color[={auto,always,never}]  [Sami Kerola]
   - use Claus Tøndering's day of the week algorithm  [Sami Kerola]
cfdisk:
   - add long options to the command  [Sami Kerola]
   - check writing to a file descriptor was successful  [Sami Kerola]
   - check writing to a file was successful  [Sami Kerola]
   - fix ambiguous code  [Karel Zak]
chcpu:
   - clean up error messages  [Karel Zak]
chfn:
   - assigned value is never read [clang-analyzer]  [Sami Kerola]
column:
   - dereference of null pointer [clang-analyzer]  [Sami Kerola]
   - use variable length printf field width to wprint blanks  [Sami Kerola]
cytune:
   - fix glush typo in cytune  [Rafael Ferreira]
dmesg:
   - add --time-format option  [Sami Kerola]
   - add iso-8601 time format  [Sami Kerola]
   - convert time format bitfield to enum  [Sami Kerola]
   - define is_timefmt() macro only once  [Karel Zak]
   - don't use pager for --follow  [Karel Zak]
   - fix --human color initialization  [Karel Zak]
   - fix usage() typo  [Sami Kerola]
   - inform user --show-delta and iso8601 time format does not mix  [Sami Kerola]
   - make time stamps to be printed consistently  [Sami Kerola]
   - regroup time related options close to each other  [Sami Kerola]
   - support --color[={auto,always,never}]  [Karel Zak]
docs:
   - add --present to last(1) manual page  [Sami Kerola]
   - add --since and time option formats to last(1) manual  [Sami Kerola]
   - add --time-format option and ISO-8601 format to manual  [Sami Kerola]
   - add --time-format to last(1) manual page  [Sami Kerola]
   - add long options to last.1 manual page  [Sami Kerola]
   - add lscpu max mhz to manual and bash completion  [Sami Kerola]
   - add missing options to sfdisk manual  [Sami Kerola]
   - add note to wall(1) about sessions which will not get message  [Sami Kerola]
   - add v2.24-ReleaseNotes  [Karel Zak]
   - be clear which last(1) is deprecated  [Sami Kerola]
   - cal  add --color option description to manual page  [Sami Kerola]
   - cal  stop telling year 9999 is upper limit  [Sami Kerola]
   - correct sfdisk --activate instructions  [Sami Kerola]
   - fix wording and formatting of man page for dmesg  [Benno Schulenberg]
   - format, grammarize, and standardize the wall man page  [Benno Schulenberg]
   - improve a bit the wording on the logger man page  [Benno Schulenberg]
   - improve formatting and wording of man pages for fdisk and cfdisk  [Benno Schulenberg]
   - improve formatting and wording of the getopt man page  [Benno Schulenberg]
   - improve grammar and consistency of comments in login.c  [Benno Schulenberg]
   - improve grammar and wording of the release-schedule text  [Benno Schulenberg]
   - improve grammar, wording and formatting of su man page  [Benno Schulenberg]
   - make description of --activate clearer on man page of sfdisk  [Benno Schulenberg]
   - mention in ReleaseNotes only PO files that were actually updated  [Benno Schulenberg]
   - normalize the formatting of man pages for nsenter and unshare  [Benno Schulenberg]
   - note ddate removal  [Mike Frysinger]
   - slightly correct the man page of column  [Benno Schulenberg]
   - sort options in last man page alphabetically  [Benno Schulenberg]
   - sort the options in the logger man page alphabetically  [Benno Schulenberg]
   - standardize the phrases for --help and --version in all man pages  [Benno Schulenberg]
   - tweak formatting and grammar of the ipcrm man page  [Benno Schulenberg]
   - tweak the grammar of an agetty man-page fragment  [Benno Schulenberg]
   - tweak wording and formatting of last man page  [Benno Schulenberg]
   - tweak wording and formatting of unshare and nsenter man pages  [Benno Schulenberg]
   - tweak wording, grammar and formatting of fdisk man page  [Benno Schulenberg]
   - update AUTHORS file  [Karel Zak]
   - update TODO  [Karel Zak]
   - update TODO  [Sami Kerola]
   - update v2.24-ReleaseNotes  [Karel Zak]
eject:
   - Check host_status and driver_status when using SG_IO.  [Karel Zak]
   - assigned value is never read [clang-analyzer]  [Sami Kerola]
   - unlock door before issuing CDROMEJECT command  [Aaron Lu]
exec_shell:
   - add a license and touch up func def  [Mike Frysinger]
fallocate:
   - check writing to a file descriptor was successful  [Sami Kerola]
fdformat:
   - check writing to a file descriptor was successful  [Sami Kerola]
fdisk:
   - (bsd) *OSF --> *BSD  [Karel Zak]
   - (bsd) add bsd_get_partition_status()  [Karel Zak]
   - (bsd) clean up BSD_LABEL* macros  [Karel Zak]
   - (bsd) clean up header file  [Karel Zak]
   - (bsd) cleanup bootstrap install code  [Karel Zak]
   - (bsd) cleanup driver initialization  [Karel Zak]
   - (bsd) cleanup label initialization  [Karel Zak]
   - (bsd) coding style, remove unnecessary #ifdef  [Karel Zak]
   - (bsd) final code clean up  [Karel Zak]
   - (bsd) fix add/link partition  [Karel Zak]
   - (bsd) implement regular bsd menu callback  [Karel Zak]
   - (bsd) minor code clean up  [Karel Zak]
   - (bsd) move bsdbuffer to fdisk_bsd_label struct  [Karel Zak]
   - (bsd) move global label variables to fdisk_bsd_label struct  [Karel Zak]
   - (bsd) remove dead code  [Karel Zak]
   - (bsd) remove generic actions from bsd_command_prompt()  [Karel Zak]
   - (bsd) remove printf() from the driver code  [Karel Zak]
   - (bsd) remove xbsd_ prefix  [Karel Zak]
   - (bsd) rewrite list disklabel function  [Karel Zak]
   - (bsd) use ask API for add partition dialog  [Karel Zak]
   - (bsd) use libfdisk for partition number dialog  [Karel Zak]
   - (bsd) use libfdisk to ask for label setting  [Karel Zak]
   - (bsd) use macros from pt-mbr.h  [Karel Zak]
   - (bsd) use pt-bsd.h  [Karel Zak]
   - (bsd) write/read PT code cleanup  [Karel Zak]
   - (dos) add dos menu callback  [Karel Zak]
   - (dos) clean up list PT functions  [Karel Zak]
   - (dos) cleanup public function names  [Karel Zak]
   - (dos) don't check for CHS in move-begin command  [Karel Zak]
   - (dos) fix offset dialog unit  [Karel Zak]
   - (dos) fix possible mem-leaks  [Karel Zak]
   - (dos) move macro is_dos_compatible()  [Karel Zak]
   - (dos) move pte specific function to dos.c  [Karel Zak]
   - (dos) remove global ptes[]  [Karel Zak]
   - (dos) remove global variables for extended partitions  [Karel Zak]
   - (dos) remove inline function from header file  [Karel Zak]
   - (dos) remove remaining global variables  [Karel Zak]
   - (dos) remove remaining printf() usage  [Karel Zak]
   - (dos) remove remaining read_{int,char}() functions  [Karel Zak]
   - (dos) remove unnecessary function  [Karel Zak]
   - (dos) remove unnecessary header file stuff  [Karel Zak]
   - (dos) rename members in struct pte  [Karel Zak]
   - (dos) rename struct partition to dos_partition  [Karel Zak]
   - (dos) use ask API for new partition dialog  [Karel Zak]
   - (dos) use ask API to change disk ID  [Karel Zak]
   - (dos) use libfdisk to ask for partition type  [Karel Zak]
   - (dos) use pt-mbr.h  [Karel Zak]
   - (gpt) add t, v and x to menu  [Karel Zak]
   - (gpt) enlarge columns in list output  [Karel Zak]
   - (gpt, sun) use fdisk_partname()  [Karel Zak]
   - (sgi) cleanu sgi_info stuff  [Karel Zak]
   - (sgi) cleanup boot file name code  [Karel Zak]
   - (sgi) cleanup devparams flags  [Karel Zak]
   - (sgi) cleanup disk label struct usage  [Karel Zak]
   - (sgi) don't try to convert MBR to SGI  [Karel Zak]
   - (sgi) fix checksum calculation  [Karel Zak]
   - (sgi) rdon't use read_chars() to ask yes/no question  [Karel Zak]
   - (sgi) remove dead code  [Karel Zak]
   - (sgi) remove global freelist  [Karel Zak]
   - (sgi) remove magic strings  [Karel Zak]
   - (sgi) remove printf from code  [Karel Zak]
   - (sgi) remove unnecessary code  [Karel Zak]
   - (sgi) rewrite sgi_list_table()  [Karel Zak]
   - (sgi) share disk label definition with libblkid  [Karel Zak]
   - (sgi) small coding style changes  [Karel Zak]
   - (sgi) use ask API for first/last dialogs  [Karel Zak]
   - (sgi) use cpu_to_beXX() and beXX_to_cpu()  [Karel Zak]
   - (sgi) use stuff ffrom pt-mbr.h and libfdisk  [Karel Zak]
   - (sun) consolidate 'p'rint output  [Karel Zak]
   - (sun) remove dead code  [Karel Zak]
   - (sun) use tt.c to list disk label  [Karel Zak]
   - -l refactoring  [Karel Zak]
   - add -L to colorize output  [Karel Zak]
   - add -t <type> to enable only specified type  [Karel Zak]
   - add GPT specific callback to menu  [Karel Zak]
   - add asktype "string" and support UUID partition change  [Karel Zak]
   - add bsd, dos and sgi menus  [Karel Zak]
   - add debug message, use colors for -l  [Karel Zak]
   - add functions to geometry menu  [Karel Zak]
   - add mbr_get_partition()  [Karel Zak]
   - add new stuff to display menus  [Karel Zak]
   - add sun menu  [Karel Zak]
   - add support for the MicroBlaze architecture  [Nathan Rossi]
   - allow to exchange context pointer in menu callbacks  [Karel Zak]
   - always allow 'p'rint command in expert menu  [Karel Zak]
   - ask for partition in chars  [Karel Zak]
   - bloody revolution in the man page  [Karel Zak]
   - cleanup SGI verify disklabel function  [Karel Zak]
   - cleanup header file  [Karel Zak]
   - cleanup sgi menu callbackswq  [Karel Zak]
   - cleanup usage()  [Karel Zak]
   - cleanup warning messages  [Karel Zak]
   - cleanup warnings  [Karel Zak]
   - cleanup write table code  [Karel Zak]
   - consolidate code in fdisk.c  [Karel Zak]
   - detect menu entries collisions in debug mode  [Karel Zak]
   - don't use ptes[] in generic code  [Karel Zak]
   - fix 'r' in BSD menu  [Karel Zak]
   - fix -l  [Karel Zak]
   - fix man warning  [Karel Zak]
   - fix possible memleak [coverity scan]  [Karel Zak]
   - fix printf stuff  [Karel Zak]
   - improve info output  [Karel Zak]
   - improve menus to make it more usable for BSD label  [Karel Zak]
   - main() refactoring  [Karel Zak]
   - make internal command line case sensitive  [Karel Zak]
   - mark -s option as deprecated  [Karel Zak]
   - move "create label" actions to menu callback  [Karel Zak]
   - move dos specific code  [Karel Zak]
   - move expect actions to menu callback  [Karel Zak]
   - move geometry commands to separate menu  [Karel Zak]
   - move get_nr_sects() fdisk.h  [Karel Zak]
   - move remaining actions to menu callbacks  [Karel Zak]
   - move remaining ptes[] code to fdiskdoslabel.c  [Karel Zak]
   - move sun commands to sun menu callback  [Karel Zak]
   - print geometry for dos-compatible mode too  [Karel Zak]
   - remove Mac code  [Karel Zak]
   - remove common.h  [Karel Zak]
   - remove dead code  [Karel Zak]
   - remove nowarn global variable  [Karel Zak]
   - remove old code to ask user  [Karel Zak]
   - remove ugly fatal() function  [Karel Zak]
   - remove unnecessary test  [Karel Zak]
   - remove unused code, coding style changes  [Karel Zak]
   - rename CHS dos_partition struct members  [Karel Zak]
   - revert add 'G' to create SGI label to the main menu  [Karel Zak]
   - rewrite dump first sector add dump disklabel command  [Karel Zak]
   - separate disks by \n in -l output  [Karel Zak]
   - use  libfdisk to ask for partition type  [Karel Zak]
   - use fdisk_info() to print geometry  [Karel Zak]
   - use fdisk_{info,warn} on more places  [Karel Zak]
   - use functions from pt-mbr.h  [Karel Zak]
   - use new menu infrastructure to verify keys  [Karel Zak]
   - use new menus  [Karel Zak]
   - use remove read_int() usage from fdisk.c  [Karel Zak]
   - use xalloc stuff  [Karel Zak]
findmnt:
   - always allocate memory for cell value  [Dave Reisner]
   - avoid unused parameter warning  [Karel Zak]
   - make udev usage more robust  [Karel Zak]
   - test for fstype/options/maj min before source and target  [Karel Zak]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
fsck:
   - don't print warning if there is no /etc/fstab at all  [Karel Zak]
   - use libmount fs reference counter  [Karel Zak]
fsck.cramfs:
   - add LC_CTYPE  [Karel Zak]
   - check writing to a file descriptor was successful  [Sami Kerola]
fsck.minix:
   - check writing to a file descriptor was successful  [Sami Kerola]
getopt:
   - add reference to /usr/share/docs to man page  [Karel Zak]
hexdump:
   - add long options to the command  [Sami Kerola]
   - remove unnecessary global variables  [Sami Kerola]
   - revert global exitval variable change  [Sami Kerola]
hexsyntax:
   - in help text, wrap argument of option -e in angular brackets  [Benno Schulenberg]
hwclock:
   - remove references to adjtimex from man page  [Karel Zak]
   - use warn() to print cmos errors  [Karel Zak]
include:
   - Add missing includes  [Michael Forney]
   - add close_fd() for noticing write errors before close()  [Sami Kerola]
   - carefulput  print determined char when unprintable char is found  [Sami Kerola]
include/pt-mbr:
   - add functio to store le  [Karel Zak]
include/xalloc:
   - add warn_unused_result to allocation functions  [Karel Zak]
ipcs:
   - assigned values are never read [clang-analyzer]  [Sami Kerola]
last:
   - --fulltime and --time-format are mutually exclusive  [Karel Zak]
   - add --present option  [Sami Kerola]
   - add --since time spec option  [Sami Kerola]
   - add --time-format with iso-8601 format  [Sami Kerola]
   - add link to util-linux to last.1  [Karel Zak]
   - add long options, improve usage()  [Karel Zak]
   - allow --file to be defined multiple times  [Sami Kerola]
   - check expected numeric user input is number  [Sami Kerola]
   - check fstat() return [coverity scan]  [Karel Zak]
   - clean up the begin of the file  [Karel Zak]
   - coding style clean up  [Karel Zak]
   - consolidate btmp/wtmp file paths  [Karel Zak]
   - consolidate time formatting to one struct  [Karel Zak]
   - fix --present option logic error  [Sami Kerola]
   - fix man page groff warning  [Karel Zak]
   - fix memory leak  [Sami Kerola]
   - fix typo  [Sami Kerola]
   - global variables are initialize automatically to zero  [Sami Kerola]
   - make switch cases complete, and inform if impossible occurs  [Sami Kerola]
   - mention optional arguments in usage  [Karel Zak]
   - merge sysvinit last/lastb  [Ondrej Oprala]
   - never restrict session time  [Sami Kerola]
   - parse easy to use time formats  [Sami Kerola]
   - prefer enum rather than #definition list  [Sami Kerola]
   - remove broken code  [Sami Kerola]
   - remove mistaken -F, --fullnames entry from the man page  [Benno Schulenberg]
   - tell verbally system is still running  [Sami Kerola]
   - trim trailing white spaces  [Sami Kerola]
   - use as narrow variable scoping as possible  [Sami Kerola]
   - use bit array  [Karel Zak]
   - use carefulput() for printable character output  [Sami Kerola]
   - use configuration struct  [Sami Kerola]
   - use xalloc.h, err.h, nls.h and EXIT_ macros  [Karel Zak]
last, utmpdump, agetty, wall, write:
   - avoid compatibility hacks  [Sami Kerola]
lib:
   - add crc64()  [Karel Zak]
   - remove unused code  [Sami Kerola]
   - rename time-util.c to timeutils.c, fix headers  [Karel Zak]
lib/canonical:
   - use realpath() from libc  [Karel Zak]
lib/colors:
   - add colormode_or_err()  [Karel Zak]
   - add support for auto, always and never modes  [Karel Zak]
lib/loopdev:
   - assigned value is never read [clang-analyzer]  [Sami Kerola]
   - fix loopcxt_check_size() to work with blkdevs  [Karel Zak]
lib/mbsalign:
   - initializations values are never read [clang-analyzer]  [Sami Kerola]
lib/strutils:
   - move *swith() functions to private library  [Sami Kerola]
   - optimalize {starts,ends}with()  [Karel Zak]
lib/time-util:
   - copy time parsing functions from systemd  [Sami Kerola]
   - move YYYYMMDDHHMMSS to common parser  [Sami Kerola]
lib/tt:
   - add TT_FL_FREEDATA  [Karel Zak]
lib/tty:
   - don't hardcode terminal fd in get_terminal_name()  [Karel Zak]
   - fix get_terminal_name() usage, cleanup code  [Karel Zak]
libblkid:
   - Add bcache support  [Rolf Fokkens]
   - Detect external XFS log device  [Eric Sandeen]
   - Get rid of an unnecessary check  [Karel Zak]
   - add ReFS magic string  [Karel Zak]
   - add functions to set PTUUID  [Karel Zak]
   - check writing to a file was successful  [Sami Kerola]
   - diffs between errors and failed probing in silicon raid  [Karel Zak]
   - diffs between errors and failed probing in via raid  [Karel Zak]
   - don't interpret regual XFS as external xfs log  [Karel Zak]
   - don't use UUID= for xfs external log  [Karel Zak]
   - export info about bad csum  [Karel Zak]
   - fix blkid_parse_tag_string() to ignore incomplete tags  [Karel Zak]
   - fix kboff usage in BSD prober  [Karel Zak]
   - make uuid_is_empty() usable for whole library  [Karel Zak]
   - move MBR definitions to include/pt-mbr.h  [Karel Zak]
   - move MBR partition types to include/  [Karel Zak]
   - move SGI disklabel definitions to include/  [Karel Zak]
   - move bsd definitions to pt-bsd.h  [Karel Zak]
   - populate jbd LOGUUID in addition to UUID  [Karel Zak]
   - rename UUID_LOG to LOGUUID  [Karel Zak]
   - rename sys_type to sys_ind  [Karel Zak]
   - set PTUUID for GPT and DOS  [Karel Zak]
   - split blkid_parttable_set_id()  [Karel Zak]
   - support pseudo PARTUUID= for MBR  [Karel Zak]
   - update docs  [Karel Zak]
   - use proper type in xfs log checker [coverity scan]  [Karel Zak]
   - use separate function to verify checksums  [Karel Zak]
libfdisk:
   - (bds) cleanup includes  [Karel Zak]
   - (bsd) leave context if new disklabel unwanted  [Karel Zak]
   - (dos) all disklabel locate function  [Karel Zak]
   - (dos) correct the grammar of the disk-identifier prompt  [Benno Schulenberg]
   - (dos) cosmetic changes  [Karel Zak]
   - (dos) improve the grammar of an error message  [Benno Schulenberg]
   - (gpt) %ld -> %ju in verify function  [Karel Zak]
   - (gpt) cleanup structs members names  [Karel Zak]
   - (gpt) fix warning  [Karel Zak]
   - (gpt) more robust PMBR partition size check  [Karel Zak]
   - (gpt) print UUID and NAME in expert mode only  [Karel Zak]
   - (gpt) support for disklabel dump  [Karel Zak]
   - (gpt) use consistent final period in status messages  [Benno Schulenberg]
   - (gpt) use generic 'created partition' message  [Karel Zak]
   - (gpt) use lib/tt.c to list partitions  [Karel Zak]
   - (sgi) add driver  [Karel Zak]
   - (sun) make it more obvious why the first sector moved  [Karel Zak]
   - (sun) move driver from fdisk to library  [Karel Zak]
   - (sun) remove duplicate code  [Karel Zak]
   - add API to disable specified label  [Karel Zak]
   - add FDISK_DEBUG_FRONTEND  [Karel Zak]
   - add FDISK_LABEL_FL_REQUIRE_GEOMETRY  [Karel Zak]
   - add Intel Rapid Start Technology GUID  [Karel Zak]
   - add asktype "string" and support UUID partition change  [Karel Zak]
   - add bsd driver  [Karel Zak]
   - add fdisk_context_enable_details()  [Karel Zak]
   - add fdisk_has_user_device_properties()  [Karel Zak]
   - add fdisk_locate_disklabel()  [Karel Zak]
   - add fdisk_partname()  [Karel Zak]
   - add fdisk_scround()  [Karel Zak]
   - add generic function to get disklabel ID  [Karel Zak]
   - add generic function to set disklabel ID  [Karel Zak]
   - add list() label operation  [Karel Zak]
   - add new 'ask' type TABLE  [Karel Zak]
   - allow to address partition by chars  [Karel Zak]
   - clean up sun geometry stuff  [Karel Zak]
   - cleanup SGI functions names  [Karel Zak]
   - cleanup warning messages  [Karel Zak]
   - copy ask callback from parental context  [Karel Zak]
   - do not use va_list in the Ask API  [Karel Zak]
   - don't re-allocate range string in Ask API  [Karel Zak]
   - explicitly add COPYING file  [Karel Zak]
   - extend fdisk_info() functionality  [Karel Zak]
   - fix cylinders and sector buffer usage  [Karel Zak]
   - fix possible floating point exception  [Karel Zak]
   - fix sectorbuffer usage in dos driver  [Karel Zak]
   - gpt  avoid unnecessary pmbr check  [Davidlohr Bueso]
   - gpt  loosen check fot pmbr size in lba  [Davidlohr Bueso]
   - improve fdisk_save_user_geometry()  [Karel Zak]
   - improve nested context initialization  [Karel Zak]
   - improve spelling of two comments  [Benno Schulenberg]
   - make default geom usage more robust  [Karel Zak]
   - make it possible to reset device properties  [Karel Zak]
   - make the library usable with tests  [Karel Zak]
   - mark label modified for PMBR mismatch  [Karel Zak]
   - move mbr code to the library  [Karel Zak]
   - move sync() and reread PT code from fdisk to libfdisk  [Karel Zak]
   - provide more details about GPT  [Karel Zak]
   - remove "gpt support is new" warning  [Karel Zak]
   - remove unnecessary code from test_fdisk_ask  [Karel Zak]
   - support GPT partition name (label) change  [Karel Zak]
   - treat size mismatch as a warning, not an error  [Karel Zak]
   - update test_ranges() code  [Karel Zak]
   - use context geometry in SGI and SUN  [Karel Zak]
   - use fdisk_colon() and fdisk_sinfo()  [Karel Zak]
   - use fdisk_warnx() in fdisk_ask_partnum()  [Karel Zak]
libfdisk/gpt:
   - partly pluralize one message  [Benno Schulenberg]
libfdisk/sgi:
   - properly pluralize three messages  [Benno Schulenberg]
   - tweak and harmonize some comments  [Benno Schulenberg]
   - tweak and harmonize some message strings  [Benno Schulenberg]
libmount:
   - (docs) make it obvious how we call mount.<type> helpers  [Karel Zak]
   - (test) check writing to a file was successful  [Sami Kerola]
   - Fix typo in comment  [Namhyung Kim]
   - Free splitted optstr's when error occurred  [Namhyung Kim]
   - Get rid of an unnecessary check  [Namhyung Kim]
   - Remove stale comment on mnt_context_mount()  [Namhyung Kim]
   - Save errno if mkostemp() failed  [Namhyung Kim]
   - Set each optstr's to NULL if failed  [Namhyung Kim]
   - add a generic append_string() function  [Karel Zak]
   - add function for context userdata  [Karel Zak]
   - add functions to handle comments in fs tables  [Ondrej Oprala, Karel Zak]
   - add functions to safely replace a fs table  [Ondrej Oprala]
   - add missing declarations to libmount.h.in and documentation  [Ondrej Oprala]
   - add mnt_table_is_empty(), improve table list usage  [Karel Zak]
   - add mnt_table_with_comments()  [Karel Zak]
   - add mnt_table_{first,last}_fs()  [Karel Zak]
   - add mnt_table_{set,get}_userdata()  [Karel Zak]
   - add new function to docs  [Karel Zak]
   - add reference counter to libmnt_table  [Karel Zak]
   - add reference counting to libmnt_cache  [Karel Zak]
   - add reference counting to libmount_fs  [Karel Zak]
   - be more restrictive about valid tag names  [Karel Zak]
   - be robust for empty target/source strings  [Karel Zak]
   - be robust when work with loopdev backing file paths  [Karel Zak]
   - canonicalize for conversion from loopdev backing file  [Karel Zak]
   - change tailing to trailing in *_tailing_comments functions  [Ondrej Oprala]
   - cleanup libmnt_fs list after mnt_table_remove_fs()  [Karel Zak]
   - compose mount.<type> helpers paths more carefully  [Karel Zak]
   - don't ignore root fs on umount -a  [Karel Zak]
   - fix memory leak [clang-analyzer]  [Karel Zak]
   - fix mnt_context_is_child() comment  [Karel Zak]
   - fix typos  [Ondrej Oprala]
   - free username after check  [Dave Reisner]
   - make mnt_fs_{ap,pre}pend_options() more robust  [Karel Zak]
   - make mnt_table_replace_file() more robust [coverity scan]  [Karel Zak]
   - more robust options string parsing  [Karel Zak]
   - remove dead code [coverity scan]  [Karel Zak]
   - small cleanup in umount code  [Karel Zak]
   - update docs  [Karel Zak]
   - use MS_SILENT for /{proc,etc}/filesystems  [Karel Zak]
   - use err.h in test  [Karel Zak]
   - use memmove when overlap possible  [Dave Reisner]
logger:
   - add support for --prio-prefix when logging stdin  [Dennis H Jensen]
   - cleanup usage()  [Karel Zak]
   - small coding style changes  [Karel Zak]
login:
   - use TCSANOW to remove HUPCL  [Karel Zak]
losetup:
   - add --raw and --noheadings  [Karel Zak]
   - cut the remaining little block of help text into slices too  [Benno Schulenberg]
   - don't require 512-byte aligned offsets  [Karel Zak]
   - fix loop device name usage  [Karel Zak]
   - make -j <path> more robust  [Karel Zak]
   - set errno for misaligned offsets  [Karel Zak]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
   - use loop-control to explicitly ask for device  [Karel Zak]
   - use warn_size() for regular files only  [Karel Zak]
lsblk:
   - add SERIAL column  [Karel Zak]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
   - use devno to check if the filesystem is mounted  [Karel Zak]
   - use devno to get mountpoint  [Karel Zak]
lscpu:
   - add max MHz value to make cpu governor effects more visible  [Sami Kerola]
   - add virtualization types  [Karel Zak]
   - check strchr() result [coverity scan]  [Karel Zak]
   - cleanup DMI code [coverity scan]  [Karel Zak]
   - detect more hypervisor vendors  [Ondrej Oprala]
   - don't pass null pointer to string functions [coverity scan]  [Karel Zak]
   - fix memory leak [clang-analyzer]  [Sami Kerola]
   - fix shadow declaration [smatch scan]  [Sami Kerola]
   - report cpu min mhz  [Davidlohr Bueso]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
lslocks:
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
mcookie:
   - pluralize two messages  [Benno Schulenberg]
mesg:
   - sync usage() with howto-usage-function.txt  [Sami Kerola]
misc:
   - use libmnt_cache reference counting  [Karel Zak]
   - use libmnt_table reference counter  [Karel Zak]
mkfs.bfs:
   - check writing to a file descriptor was successful  [Sami Kerola]
   - fix 64-Bit and endian problems  [ihno]
mkfs.cramfs:
   - argument to free() is a constant address [clang-analyzer]  [Sami Kerola]
   - unify write check to a file descriptor  [Sami Kerola]
   - use standard error message  [Karel Zak]
mkfs.minix:
   - check writing to a file descriptor was successful  [Sami Kerola]
   - properly pluralize four messages  [Benno Schulenberg]
mkswap:
   - add note about swap header limit to the man page  [Karel Zak]
   - unify write check to a file descriptor  [Sami Kerola]
more:
   - assigned value is never read [clang-analyzer]  [Sami Kerola]
   - check for buffer size when write multibyte char  [Karel Zak]
   - fix buffer overflow  [Karel Zak]
   - fix warning when compiled --without-ncurses  [Karel Zak]
   - guarantee space for multibyte  [Karel Zak]
   - make output redirection more efficient  [Sami Kerola]
   - use variable length printf field width to print blanks  [Sami Kerola]
mount:
   - (deprecated) fix typo tailed->failed  [Yuri Chornoivan]
   - add notes about UUIDs to the man page  [Karel Zak]
   - fix mistaken word and some grammar in man page of mount  [Benno Schulenberg]
   - fix repeating words in the man page  [Karel Zak]
   - update xfs docs  [Karel Zak]
nologin:
   - add new command  [Karel Zak]
nsenter:
   - Allow selecting the uid and gid to be used in the entered userns  [Richard Weinberger]
   - unshare  use LC_ALL  [Karel Zak]
partx:
   - check writing to a file descriptor was successful  [Sami Kerola]
   - correct three messages  [Benno Schulenberg]
   - pluralize one message  [Benno Schulenberg]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
pg:
   - check writing to a file was successful  [Sami Kerola]
   - use LC_ALL  [Karel Zak]
pg.c:
   - Add --help and --version  [Jari Aalto]
po:
   - merge changes  [Karel Zak]
   - update ca.po (from translationproject.org)  [Josep Puigdemont]
   - update cs.po (from translationproject.org)  [Petr Písař]
   - update da.po (from translationproject.org)  [Joe Hansen]
   - update de.po (from translationproject.org)  [Arun Persaud]
   - update es.po (from translationproject.org)  [Santiago Vila Doncel]
   - update et.po (from translationproject.org)  [Meelis Roos]
   - update eu.po (from translationproject.org)  [Mikel Olasagasti Uranga]
   - update fi.po (from translationproject.org)  [Lauri Nurmi]
   - update fr.po (from translationproject.org)  [David Prévot]
   - update gl.po (from translationproject.org)  [Fran Diéguez]
   - update hr.po (from translationproject.org)  [Tomislav Krznar]
   - update hu.po (from translationproject.org)  [Gabor Kelemen]
   - update id.po (from translationproject.org)  [Arif E. Nugroho]
   - update it.po (from translationproject.org)  [Marco Colombo]
   - update ja.po (from translationproject.org)  [Takeshi Hamasaki]
   - update nl.po (from translationproject.org)  [Benno Schulenberg]
   - update pl.po (from translationproject.org)  [Jakub Bogusz]
   - update pt_BR.po (from translationproject.org)  [Rafael Ferreira]
   - update pt_BR.po (from translationproject.org)  [Rodrigo Stulzer Lopes]
   - update ru.po (from translationproject.org)  [Pavel Maryanov]
   - update sl.po (from translationproject.org)  [Simon Mihevc]
   - update sv.po (from translationproject.org)  [Daniel Nylander]
   - update tr.po (from translationproject.org)  [Nilgün Belma Bugüner]
   - update uk.po (from translationproject.org)  [Yuri Chornoivan]
   - update util-linux.pot (from translationproject.org)  [FULL NAME]
   - update vi.po (from translationproject.org)  [Trần Ngọc Quân]
   - update zh_CN.po (from translationproject.org)  [Wylmer Wang]
   - update zh_TW.po (from translationproject.org)  [Wei-Lun Chao]
prlimit:
   - delete rem_prlim prototype  [Davidlohr Bueso]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
pylibmount:
   - add __init__.py  [Ondrej Oprala]
   - add debug messages  [Karel Zak]
   - add regression tests  [Ondrej Oprala]
   - basic code  [Ondrej Oprala]
   - check for mnt_fs_get_tag() return value [coverity scan]  [Karel Zak]
   - cleanup *_HELP strings formatting  [Karel Zak]
   - cleanup cxt usage  [Karel Zak]
   - cleanup object names  [Karel Zak]
   - coding style changes in context.c  [Karel Zak]
   - coding style changes in fs.c  [Karel Zak]
   - coding style changes in tab.c  [Karel Zak]
   - coding style changes, don't touch Context() status  [Karel Zak]
   - fs.c - cleanup, remove libmount private stuff  [Karel Zak]
   - improve helps strings formatting  [Karel Zak]
   - make tab parsers more robust [coverity scan]  [Karel Zak]
   - remove Context_get_table()  [Karel Zak]
   - remove bindsrc from fs API  [Karel Zak]
   - remove unnecessary code  [Karel Zak]
   - rewrite to be py2/py3 universal  [Ondrej Oprala]
   - use libmount reference counting  [Karel Zak]
   - use mnt_fs_set_userdata() rather than ->userdata  [Karel Zak]
   - use only public libmount API in tab.c  [Karel Zak]
raw:
   - use LC_ALL  [Karel Zak]
renice:
   - exit with non-zero value when arguments cause warnings  [Sami Kerola]
resizepart:
   - check writing to a file descriptor was successful  [Sami Kerola]
rev:
   - fix new line regression  [Sami Kerola]
   - reduce stream checking when closing read-only file descriptor  [Sami Kerola]
   - simplify new line detection and impossible test  [Sami Kerola]
   - stop adding new line at the end when input does not have it  [Sami Kerola]
   - use string printing rather than character output  [Sami Kerola]
runuser:
   - update man page, add note about -l vs. -p  [Karel Zak]
sd-daemon:
   - update files taken from systemd project  [Sami Kerola]
setarch:
   - prefer preprocessor rather than autotools check  [Sami Kerola]
setpriv:
   - allow login and group name option arguments  [Sami Kerola]
   - check writing to a file descriptor was successful  [Sami Kerola]
   - check writing to a file was successful  [Sami Kerola]
   - use LC_ALL  [Karel Zak]
setsid:
   - add an option to wait child return value  [Daniel Kahn Gillmor]
   - exit when control terminal cannot be set  [Sami Kerola]
setterm:
   - fix term.h/ncurses.h include ordering  [Mike Frysinger]
sfdisk:
   - assigned value is never read [clang-analyzer]  [Sami Kerola]
   - check writing to a file descriptor was successful  [Sami Kerola]
   - clean up unhide code  [Karel Zak]
   - clean up usage() functions  [Sami Kerola]
   - don't call BLKRRPART for non-block devices  [Karel Zak]
   - don't use word 'disk'.  [Karel Zak]
   - fix typo  [Karel Zak]
   - fix y/n mismatch  [Karel Zak]
   - make unhiding as complete as possible  [Sami Kerola]
   - replace my_warn() with warnx()  [Sami Kerola]
   - use libc error printing function, and symbolic exit values  [Sami Kerola]
   - use program_invocation_short_name to determine program name  [Sami Kerola]
su:
   - add info about pam_lastlog to su.1  [Karel Zak]
   - consistent angular brackets and lowercase in help text of 'su'  [Benno Schulenberg]
   - fix caught_signal logic and initialize oldact [coverity scan]  [Karel Zak]
   - fix exit status if terminated by signal  [Ondrej Oprala]
   - fix lastlog and btmp logging  [Karel Zak]
   - ignore --preserve-environment, it's mutually exclusive to --login  [Karel Zak]
   - suppress PAM info messages for -c or non-login sessions  [Karel Zak]
su-common:
   - pluralize one message  [Benno Schulenberg]
sulogin:
   - clean up error messages  [Karel Zak]
   - fix compiler warning  [Karel Zak]
   - fix memory leak [clang-analyzer]  [Sami Kerola]
swaplabel:
   - check writing to a file descriptor was successful  [Sami Kerola]
swapon:
   - allow a more flexible swap discard policy  [Rafael Aquini]
   - check writing to a file descriptor was successful  [Sami Kerola]
   - cleanup man page  [Karel Zak]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
tests:
   - add XFS log image  [Karel Zak]
   - add bcache images  [Karel Zak]
   - add cal day color corner cases  [Sami Kerola]
   - add calendar reformation check  [Sami Kerola]
   - add last(1) test  [Sami Kerola]
   - add losetup tests  [Karel Zak]
   - add nologin to build tests  [Karel Zak]
   - add partx regression tests  [Ondrej Oprala]
   - check cal works when year is far in future  [Sami Kerola]
   - check last(1) and utmpdump(1) IPv6 functionality  [Sami Kerola]
   - consolidate Py tests initialization  [Karel Zak]
   - improve cal --color test  [Karel Zak]
   - lscpu  add CPU max MHz to test results  [Sami Kerola]
   - minor changes to make tests more portable  [Karel Zak]
   - new warning fix  [Gilles Espinasse]
   - partx tests cleanup  [Karel Zak]
   - refresh fdisk tests  [Karel Zak]
   - refresh jbd blkid test  [Karel Zak]
   - remove remaining set -x  [Karel Zak]
   - update build tests  [Karel Zak]
   - update fdisk outputs  [Karel Zak]
   - update libmount fstab full parse test  [Karel Zak]
   - update lscpu tests  [Karel Zak]
   - update odd output fdisk test  [Karel Zak]
   - update sun label test  [Karel Zak]
   - use 'btrfs' rather than 'btrfsctl'  [Karel Zak]
   - use stable MBR ID  [Karel Zak]
textual:
   - change spelling of "disk label" to the more abundant "disklabel"  [Benno Schulenberg]
   - end both the singular and the plural message with a period  [Benno Schulenberg]
   - equalize four error messages with already existing ones  [Benno Schulenberg]
   - fix misspelled words in -rc1  [Karel Zak]
   - fix several typos and angular brackets in messages  [Benno Schulenberg]
   - fix typo in error message and uniformize their use of period  [Benno Schulenberg]
   - fixing typos in a warning and an error message  [Benno Schulenberg]
   - harmonize some loop-device error messages  [Benno Schulenberg]
   - improve clarity of some error messages  [Benno Schulenberg]
   - make two messages somewhat easier to understand  [Benno Schulenberg]
   - properly use uppercase in certain abbreviations  [Benno Schulenberg]
   - remove duplicate mention of '--help' from lsblk help text  [Benno Schulenberg]
   - standardize some "cannot read" and "seek failed" error messages  [Benno Schulenberg]
   - standardize synopsis for login, and improve an error message  [Benno Schulenberg]
   - standardize the spelling of "superuser"  [Benno Schulenberg]
   - tag a translator comment and put it in proper place  [Benno Schulenberg]
   - tiny alphabetical and grammatical tweak  [Benno Schulenberg]
   - use consistent wording and punctuation in fdisk stuff  [Benno Schulenberg]
   - use the standard angular brackets for non-literal arguments  [Benno Schulenberg]
tools:
   - generate autotools files if missing  [Sami Kerola]
ul:
   - enhance command performance  [Sami Kerola]
   - use correct types  [Sami Kerola]
   - use string printing function  [Sami Kerola]
umount:
   - provide more helpful error message  [Karel Zak]
unshare:
   - add --fork options for pid namespaces  [Mike Frysinger]
   - add --mount-proc for pid namespaces  [Karel Zak]
utmpdump:
   - add option to write to a file  [Sami Kerola]
   - assigned values are never read [clang-analyzer]  [Sami Kerola]
   - make IPv6 addresses work  [Sami Kerola]
   - make analyzers happy  [Karel Zak]
uuidd:
   - add missing initializer [clang-analyzer]  [Karel Zak]
   - clean up error messages  [Karel Zak]
various:
   - fix mixing declarations and code compiler warnings [smatch]  [Sami Kerola]
wall:
   - allow to specify <message> on command line  [Karel Zak]
   - check writing to a file descriptor was successful  [Sami Kerola]
   - line wrap at column 79 also when line has tab chars  [Sami Kerola]
   - make banner sysvinit compatible  [Karel Zak]
   - send message also to sessions opened by user 'sleeper'  [Sami Kerola]
   - sync usage() with howto-usage-function.txt  [Sami Kerola]
wdctl:
   - check writing to a file descriptor was successful  [Sami Kerola]
   - gettextize and pluralize one forgotten message  [Benno Schulenberg]
   - pluralize one thrice-repeated message  [Benno Schulenberg]
   - use TT_FL_FREEDATA for tt table  [Karel Zak]
wipefs:
   - Also wipe superblocks with bad checksums  [Gabriel de Perthuis]
   - add --backup  [Ondrej Oprala]
   - clean up code  [Karel Zak]
   - pluralize one message  [Benno Schulenberg]
write:
   - change determination can user write to a terminal  [Sami Kerola]

- change determination can user write to a terminal  [Sami Kerola]
