
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]

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

util-linux 2.23.2 [May 28 2013]

 * ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.2-ReleaseNotes
   ftp://ftp.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:
 ftp://ftp.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 lenght 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 lenght 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]
