+Summary of changes from v096 to v097
+============================================
+
+Anssi Hannula:
+ add joystick support to persistent input rules
+
+Kay Sievers:
+ firmware.sh: remove needless '/'
+ vol_id: add --skip-raid and --probe-all option
+ switch uevent netlink socket to group 1 only
+ increase /proc/stat read buffer
+ use "change" instead of "online" events
+ remove 'static' from local variable
+ libvolume_id: add parameter 'size' to all probe functions
+ man pages: replace 'device-path' by 'devpath'
+ man pages: work around xmlto which tries to be smart
+ refresh vol_id man page
+ udevinfo: add DRIVER==
+ Makefile: fix dependency
+ libvolume_id: read ufs2 label
+ switch ifdef __KLIBC__ to ifndef __GLIBC__
+ report failing getpwnam/getgrnam as error
+ rename udevcontrol message types and variables
+ initialize unused sockets to -1
+ udevd: remove useless udevinitsend parameter
+ update README
+ udevd: autotune max_childs/max_childs_running
+ update frugalware rules
+ update SUSE rules
+ move default rules to etc/udev/rules.d/
+ add 'crypto' devices to persistent storage rules
+ add late.rules to default rules
+ update Fedora rules
+ don't report an error on overlong comment lines
+ update SUSE rules
+ udevd: read DRIVER from the environment
+
+Marco d'Itri:
+ make rename_netif() error messages useful
+ path_id: fix an harmless syntax error
+
+Piter PUNK:
+ update slackware rules
+
+Richard Purdie:
+ Fix inotify syscalls on ARM
+
+
+Summary of changes from v095 to v096
+============================================
+
+Kay Sievers:
+ Makefiles: fix .PHONY for man page target
+ allow longer devpath values
+ path_id: prepare for new sysfs layout
+
+
+Summary of changes from v094 to v095
+============================================
+
+Kay Sievers:
+ update SUSE rules
+ don't remove symlinks if they are already there
+ allow "online" events to create/update symlinks
+ udevinfo: clarify parent device attribute use
+ update SUSE rules
+ netif rename: optimistic loop for the name to become free
+ remove broken %e enumeration
+
+Tobias Klauser:
+ print usage of udevcontrol when no or invalid command is given
+
+
+Summary of changes from v093 to v094
+============================================
+
+Daniel Drake:
+ update "writing udev rules"
+
+Kay Sievers:
+ libvolume_id: gfs + gfs2 support
+ remove MODALIAS key and substitution
+ add persistent-input.rules
+
+Marco d'Itri:
+ update Debian rules
+
+
+Summary of changes from v092 to v093
+============================================
+
+Hannes Reinecke:
+ path_id: add support for iSCSI devices
+
+Kay Sievers:
+ libvolume_id: fat - check for signature at end of sector
+ libvolume_id: add more software raid signatures
+ update Fedora rules
+ path_id: prevent endless loop for SAS devices on older kernels
+ remove udevsend
+ replace binary firmware helper with shell script
+ skip device mapper devices for persistent links
+
+
+Summary of changes from v091 to v092
+============================================
+
+Kay Sievers:
+ don't include stropts.h, some libc's don't like it
+ udevd: create leading directories for /dev/.udev/uevent_seqnum
+ vol_id: fix logging from libvolume_id's log function
+ update SUSE rules
+ update SUSE rules
+ add more warnings for invalid key operations
+ fix offsetof() build issue with recent glibc
+ selinux: fix typo in block device node selection
+ vol_id: add NetWare volume detection
+ edd_id: fix "(null)" output if "mbr_signature" does not exist
+ update Fedora rules
+ libvolume_id: nss - use different uuid
+
+Libor Klepac:
+ path_id: add platform and serio support
+
+Marco d'Itri:
+ update Debian rules
+ path_id: fix bashism
+
+
+Summary of changes from v090 to v091
+============================================
+
+Hannes Reinecke:
+ path_id: fix SAS device path generation
+
+Kay Sievers:
+ udevtest: don't try to delete symlinks
+ persistent rules: fix typo in dm rule
+ allow NAME=="value" to check for already assigned value
+ udevd: export initial sequence number on startup
+
+
+Summary of changes from v089 to v090
+============================================
+
+Kay Sievers:
+ udevd: export current seqnum and add udevsettle
+ volume_id: fix endianess conversion typo for FAT32
+ merge device event handling and make database content available on "remove"
+ set default udevsettle timeout to 3 minutes
+ export INTERFACE_OLD if we renamed a netif
+ let udevmonitor show the possibly renamed devpath
+ volume_id: move some debug to info level
+ udevtrigger: fix event order
+ usb_id: remove uneeded code
+ remove old symlinks before creating current ones
+ path_id: fix loop for SAS devices
+ apply format char to variables exported by ENV
+
+Marco d'Itri:
+ add inotify support for hppa and MIPS and log if inotify is not available
+
+Matt Kraai:
+ fix typo in error message
+
+
+Summary of changes from v088 to v089
+============================================
+
+Hannes Reinecke:
+ path_id: add bus to USB path
+
+Kay Sievers:
+ change rule to skip removable IDE devices
+ don't create uuid/label links for raid members
+ volume_id: provide library
+ fix rule order for persistent tape links
+ update man page
+ volume_id: provide a custom debug function
+ volume_id: rename subdirectory
+ volume_id: use shared library by default
+ because is better than cause
+ volume_id: remove some global symbols
+ volume_id: define exported symbols
+ remove all stripping code
+ man pages: mention udev(7) not udev(8)
+ update Debian rules
+ move all *_id programs to /lib/udev/
+ update Red Hat rules
+ update SUSE rules
+ pass CROSS_COMPILE to AR and RANLIB down to extras/
+ volume_id: update README
+ volume_id: generate man page from xml source
+ update README
+ fix symlink targets in Makefiles
+
+
+Summary of changes from v087 to v088
+============================================
+
+Hannes Reinecke:
+ persistent links: add scsi tape links and usb path support
+
+Kay Sievers:
+ volume_id: add squashfs detection
+ reset signal handler in event process
+ correct use of fcntl()
+ add udevtrigger to request events for coldplug
+ add ',' to trusted chars
+ volume_id: remove partition table parsing code
+ volume_id: remove all partition table support
+ fix spelling error in debug string
+ rename "persistent disk" to "persistent storage"
+ fix output for USB path
+
+
+Summary of changes from v086 to v087
+============================================
+
+Hannes Reinecke:
+ path_id: support SAS devices
+
+Kay Sievers:
+ fix persistent disk rules to exclude removable IDE drives
+ warn about %e, MODALIAS, $modalias
+ remove devfs rules and scripts
+
+Masatake YAMATO:
+ typo in debug text in udev_run_hotplugd.c
+
+
+Summary of changes from v085 to v086
+============================================
+
+Kay Sievers:
+ volume_id: replace __packed__ by PACKED macro
+ volume_id: split raid and filesystem detection
+ volume_id: add missing return
+ udevd: fix queue export for multiple events for the same device
+
+Kyle McMartin:
+ workaround missing kernel headers for some architectures
+
+Nix:
+ update to udev-084/doc/writing_udev_rules
+
+
+Summary of changes from v084 to v085
+============================================
+
+Andrey Borzenkov:
+ Fix trivial spelling errors in RELEASE-NOTES
+
+Jeroen Roovers:
+ fix typo in parisc support to path_id
+
+Kay Sievers:
+ make WAIT_FOR_SYSFS usable in non "wait-only" rules
+ fix typo in man page
+ include sys/socket.h for klibc build
+ cramfs detection for bigendian
+ exit WAIT_FOR_SYSFS if the whole device goes away
+ update SUSE rules
+ update Red Hat rules
+ update Gentoo rules
+ include errno.h in udev_libc_wrapper.c
+
+
+Summary of changes from v083 to v084
+============================================
+
+Kay Sievers:
+ update SUSE rules
+ switch CROSS to CROSS_COMPILE
+ replace fancy silent build program by simple kernel build like logic
+ move manpages to top level
+ remove UDEVD_UEVENT_INITSEND
+ whitespace fixes
+ scsi_id: remove dead files
+ optimize sysfs device and attribute cache
+ let SYSFS{} look at the device, not only the parent device
+ add debug output to sysfs operations
+
+
+Summary of changes from v082 to v083
+============================================
+
+Andrey Borzenkov:
+ man page: document when substitutions are applied for RUN and other keys
+ check for ignore_device in loop looks redundant
+
+Kay Sievers:
+ udevstart: fix NAME="" which prevents RUN from being executed
+ find programs in /lib/udev for IMPORT if {program} is not given
+ don't add $SUBSYSTEM automatically as $1 to programs
+ remove redundant substitution of RUN key
+
+
+Summary of changes from v081 to v082
+============================================
+
+Andrey Borzenkov:
+ substitute format chars in RUN after rule matching
+
+Kay Sievers:
+ scsi_id, usb_id: request device parent by subsystem
+ path_id: work with "all devices in /sys/devices"
+ ignore all messages with missing devpath or action
+ Makefile: remove dynamic config file generation
+ path_id: handle fiber channel (Hannes Reinecke <hare@suse.de>)
+ usb_id: don't fail on other subsytems than "scsi"
+ don't do RUN if "ignore_device" is given
+ increase kernel uevent buffer size
+ move udev(8) manpage to udev(7)
+ recreate man pages from xml source
+ remove udev, udevstart, udevsend from the default installation
+ update SUSE rules
+ rename apply_format() cause it is public now
+ udevtest: add udev_rules_apply_format() to RUN keys
+ let "ignore_device" always return the event successfully
+
+Olivier Blin:
+ fixes udev build with -fpie
+
+
+Summary of changes from v080 to v081
+============================================
+
+Kay Sievers:
+ add DEVLINKS to "remove" event
+ better log text and comments
+ vol_id: probe volume as user nobody
+ fix BUS, ID, $id usage
+ prepare moving of /sys/class devices to /sys/devices
+
+
+Summary of changes from v079 to v080
+============================================
+
+Brent Cook:
+ fix dependency for make -j2
+
+coly:
+ fix man page typos
+
+Kay Sievers:
+ update RELEASE-NOTES + TODO
+ fix typo in man page
+ update TODO
+ update SUSE rules
+ path_id: fix invalid character class
+ replace libsysfs
+
+Marco d'Itri:
+ udev_selinux.c: include udev.h
+
+
+Summary of changes from v078 to v079
+============================================
+
+Kay Sievers:
+ don't log error if database does not exist
+ use udev_root instead of "/dev"in selinux matchpathcon_init_prefix()
+ scsi_id: read page 0x80 with libata drives
+ update SUSE rules
+ remove %e from man page
+
+
+Summary of changes from v077 to v078
+============================================
+
+Greg Kroah-Hartman:
+ Update Gentoo udev main rule file.
+ add parisc support to path_id
+
+Hannes Reinecke:
+ scsi_id: -u fold multiple consecutive whitespace chars into single '_'
+
+Harald Hoyer:
+ optimize SELinux path match
+
+Kay Sievers:
+ update README
+ allow C99 statements
+ fix segfaulting create_floppy_devices
+ update SUSE rules
+ remove unused variables
+ remove default settings in udev.conf
+ clearenv() is now part of klibc
+ add DEVLINKS to the event environment
+
+Kurt Garloff:
+ scsi_id: support pre-SPC3 page 83 format
+
+
+Summary of changes from v076 to v077
+============================================
+
+Kay Sievers:
+ merge two consecutive static strlcat's
+ don't return an error, if "ignore_device" is used
+ remove outdated and misleading stuff
+ move SEQNUM event skipping to udevsend
+ update RELEASE-NOTES
+ update SUSE rules
+ allow programs in /lib/udev called without the path
+ update SUSE rules
+ add target to to generate ChangeLog section
+ update Red Hat rules
+
+Marco d'Itri:
+ allow to overwrite the configured udev_root by exporting UDEV_ROOT
+ let udevsend ignore events with SEQNUM set
+ update Debian rules
+
+
+Summary of changes from v75 to v076
+============================================
+
+Kay Sievers:
+ fix typo in eventrecorder
+ volume_id: include stddef.h header
+ remove misleading install instructions
+ remove all built-in wait_for_sysfs logic
+ add linux/types.h back, old glibc-kernel-headers want it
+ volume_id: use glibc's byteswap
+ udevd: ignore all messages without DEVPATH
+ udevd: track exit status of event process
+ udevd: export event queue and event state
+ remove "udev_db" option from config file
+ Makefile: remove exec_prefix and srcdir
+ update README and RELEASE-NOTES
+ udevd: track killed event processes as failed
+ update README
+ don't start udevd from udevsend
+ udevd: add a missing return
+ libvolume_id: fix weird fat volume recognition
+ move some helpers from extras to /lib/udev
+
+Scott James Remnant:
+ move delete_path() to utils
+ clean-up empty queue directories
+ Makefile: fail, if submake fails
+
+
+Summary of changes from v74 to v075
+============================================
+
+Greg Kroah-Hartman:
+ Make run_directory.c stat the place it is going to try to run.
+
+Kay Sievers:
+ forgot the ChangeLog for 074
+ volume_id: provide libvolume_id.a file
+ remove our own copy of klibc
+ remove outdated HOWTO
+ update TODO
+ update SUSE rules
+ remove completely useless start script
+ fix tests and remove no longer useful stuff
+ replace udeveventrecorder by a shell script
+
+
+Summary of changes from v73 to v074
+============================================
+
+Kay Sievers:
+ never queue events with TIMEOUT set
+ let NAME="" supress node creation, but do RUN keys
+ remove udevinitsend
+ update .gitignore
+
+Marco d'Itri:
+ add strerror() to error logs
+ move some logging from dbg() to info()
+
+
+Summary of changes from v72 to v073
+============================================
+
+Kay Sievers:
+ udevd: depend on netlink and remove all sequence reorder logic
+ print useconds in udevmonitor
+ add RELEASE-NOTES, update TODO
+
+
+Summary of changes from v71 to v072
+============================================
+
+Ananth N Mavinakayanahalli:
+ libsysfs: translate devpath of the symlinked class devices to its real path
+
+Jan Luebbe:
+ add man pages for *_id programs
+
+Kay Sievers:
+ volume_id: add OCFS Version 1
+ volume_id: add Veritas fs
+ volume_id: check ext fs for valid blocksize, cause magic is only 2 bytes
+ volume_id: move blocksize validation to fix jbd recognition
+ volume_id: fix typo in ocfs
+ volume_id: add vxfs include
+ volume_id: make FAT32 recognition more robust
+ volume_id: Version 051
+ volume_id: fix typo in ext blocksize check
+ volume_id: Version 052
+ FAQ: remove confusing statement about module loading
+ cleanup compiler/linker flags
+ use DESTDIR on uninstall, no need to pass prefix to submake
+ allow to pass STRIPCMD, to skip stripping of binaries
+ cleanup make release
+ fix the new warnings I asked for
+ move rules parsing into daemon
+ "make STRIPCMD=" will disable the stripping of binaries
+ remove no longer working udevd-test program
+ "STRIPCMD=" for the EXTRAS
+ add dummy inotify syscalls on unsupported architecture
+ remove no longer needed waiting for "dev" file
+ revert the "read symlink as device patch"
+ use libsysfs to translate the class linke to the device path
+ libsysfs: remove brute-force "bus", "driver" searching for old kernels
+ test: add "driver" and "bus" links to test sysfs tree
+ update RELEASE-NOTES
+ udevd: don't daemonize before initialization
+ log to console if syslog is not available
+ udevd: disable OOM
+ remove precompiled rules option
+ export DEVNAME on "remove" only if we really got a node to remove
+ fix typo in umask()
+
+
+Summary of changes from v70 to v071
+============================================
+
+Greg Kroah-Hartman:
+ Remove the udev.spec file as no one uses it anymore
+
+John Hull:
+ edd_id: check that EDD id is unique
+
+Kay Sievers:
+ ata_id: open volume O_NONBLOCK
+ add "Persistent Device Naming" rules file for disks
+ scsi_id: switch temporary node creation to /dev
+ volume_id: set reiser instead of reiserfs for filesystem type
+ update devfs rules header
+ update Debian rules
+ update Fedora rules
+ update Debian rules
+ remove no longer needed includes
+ switch tools and volume_id from LGPL to GPLv2
+ add edd-*-part%n to the persistent.rules
+ update Debian persistent rules
+ clarify README
+ udevd: fix initial timeout handling
+ force event socket buffer size to 16MB
+ udevd: move logging from err to info for non-hotplug uevent
+ fix selinux compilation
+ libsysfs: accept sysmlinks to directories instead of real directories
+
+Marco d'Itri:
+ run_directory: fix typo in "make install"
+
+
+Summary of changes from v069 to v070
+============================================
+
+Amir Shalem:
+ udevd: fix udevd read() calls to leave room for null byte
+
+Edward Goggin:
+ scsi_id: derive a UID for a SCSI-2 not compliant with the page 83
+
+Greg Kroah-Hartman:
+ fix nbd error messages with a gentoo rule hack
+ fix scsi_id rule in gentoo config file
+
+Jürg Billeter:
+ EXTRAS/Makefile: fix install targets to match main Makefile
+
+Kay Sievers:
+ volume_id: fix error handling with failing read()
+ EXTRAS: cleanup and sync all Makefiles
+ add install test to 'make buildtest'
+ update RELEASE-NOTES
+
+Olivier Blin:
+ fix a debug text typo in udev_rules.c
+
+
+Summary of changes from v068 to v069
+============================================
+
+Amir Shalem:
+ fix typo in firmware_helper
+
+Duncan Sands:
+ firmware_helper: fix write count
+
+Kay Sievers:
+ *_id: fix zero length in set_str()
+ add program name to logged error
+ fix exit code of udevinitsend and udevmonitor
+ udevd: keep the right order for messages without SEQNUM
+ volume_id: don't probe for mac_partition_maps
+ udevmonitor: cleanup on exit
+ path_id: remove SUSE specific PATH
+ update SUSE rules
+ add pci_express to bus list
+ update SUSE rules
+ store ENV{key}="value" exported keys in the database
+ fix lookup for name in the udevdb, it should return the devpath
+ prepare for new HAL udevdb dump
+ print persistent data with "udevinfo -q all"
+ change parameter order of udev_db_search_name()
+ add and use name_list_cleanup() for cleaning up the string lists
+ don't store devpath in udevdb, we don't need it
+ add uft8 validation for safe volume label exporting
+ start to enforce plain ascii or valid utf8
+ use WRITE_END/READ_END for the pipe index
+ remove not needed sig_flag for state of signal_pipe
+ don't reenter get_udevd_msg() if message is ignored
+ rename ...trailing_char() to ...trailing_chars()
+ vol_id: ID_LABEL_SAFE will no longer contain fancy characters
+ udevd: move some logging to "info" and "err"
+ remove special TIMEOUT handling from incoming queue
+ udev_test.pl: we replace untrusted chars with '_'
+ check the udevdb before assigning a new %e
+ update RELEASE-NOTES
+ udevinfo: add database export
+ write man page masters in DocBook XML
+ udevinfo: rename dump() to export()
+ test the automatic man page rebuild and checkin
+ Makefile: remove all the duplicated rules
+ all man pages rewritten to use DocBook XML
+ add missing udevsend man page
+ also forgot udevmonitor.8
+ udevinfo: restore -d option
+ scsi_id: rename SYSFS to LIBSYSFS
+ add edd_id tool to match BIOS EDD disk information
+ move and update libsysfs.txt
+ klibc: update to version 1.1.1
+ delete cdromsymlinks* - obsoleted by cdrom_id and IMPORT rules
+ delete docs/persistent_naming - obsoleted by persistent disk names
+ delete old Fedora html page
+ add "totally outdated" header to docs/overview :)
+ update SUSE rules
+ fix useless but funny name_cdrom.pl script to work again
+ update TODO
+ Makefile: fix prerequisits for $(PROGRAMS)
+ Makefile: cleanup install targets
+ remove chassis_id program
+ fic gcov use and move it into the Makefile
+ FAQ: update things that have changed
+
+Thierry Vignaud:
+ switch to '==' in raid-devfs.sh
+
+
+Summary of changes from v067 to v068
+============================================
+
+Greg Kroah-Hartman:
+ add EXTRAS documentation to the README file.
+ Always open the cdrom drive in non-blocking mode in cdrom_id
+ cdrom_id: change err() to info() to help with debugging problems
+
+Kay Sievers:
+ cleanup some debug output and move to info level + unify select() loops
+ move udevmonitor to /usr/sbin
+ ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environment
+ vol_id: fix sloppy error handling
+ fix typo in cdrom_id syslog
+ bring std(in|out|err) fd's in a sane state
+ fix printed udevmonitor header
+
+
+Summary of changes from v066 to v067
+============================================
+
+Greg Kroah-Hartman:
+ added the cdrom.h #defines directly into the cdrom_id.c file
+
+Kay Sievers:
+ update SUSE rules
+ fix make install, as we don't provide a default rule set anymore
+ fix more compiler warnings ...
+ fix udevstart event ordering, we want /dev/null very early
+ don't fail too bad, if /dev/null does not exist
+
+
Summary of changes from v065 to v066
============================================