==========
HAL 0.5.8 ""
==========

Requirements for HAL 0.5.8 "" (and CVS HEAD)

 - Linux kernel     >= 2.6.15
 - util-linux       >= 2.12r1
 - bash             >= 2.0
 - udev             >= 078       (using udevsend as hotplug multiplexer)
 - dbus             >= 0.60      (with glib bindings)
 - glib             >= 2.6.0
 - expat            >= 1.95.8
 - libusb           >= 0 0.1.10a (optional)
 - dmidecode        >= 2.7       (optional)
 - cryptsetup-luks  => 1.0.1     (optional, needs LUKS patches)

==========
HAL 0.5.7 "Dead as Dillinger."
==========

Released February 24, 2006

 - Fix spelling error for UnknowFailure in eject method (David Zeuthen)
 - Kill subfs support in mount scripts (Kay Sievers)
 - Privilege separation mega patch (Sjoerd Simons)
 - Allow ejection of audio and blank discs (John Palmieri, David Zeuthen)
 - Fix QueryCapability (Kevin Ottens)
 - Disc capacity, fdo #2233 (William Jon McCann)
 - Remove fstab-sync and related things (David Zeuthen)
 - Remove volume.policy.* and storage.policy.* properties (David Zeuthen)
 - Remove hotplug helper and use a udev rule instead (Kay Sievers)
 - Remove old code for pcmcia fstab files (David Zeuthen)
 - Add HP_RECOVERY to black-list of volumes to ignore (David Zeuthen)
 - Remove drive_id and use udev data on coldplug (Kay Sievers)
 - Switch eject detection to SG_IO interface, Novell #145147 (Kay Sievers)
 - Start scripts in the directory they exist in (David Zeuthen)
 - Don't use card id in ALSA and OSS UDI's (Jürg Billeter)
 - Laptop panel objects and fixes (Richard Hughes)
 - Pseudo bus for scsi_debug support (Kay Sievers)
 - Samsung YP-U1 music player fdi file (Andrew Smith)
 - Listen on appropriate input devices and generate appropriate
   ButtonPressed events (Matthew Garrett)
 - Export Mount, Unmount, Eject on drives we cannot poll (David Zeuthen)
 - Only allow uid 0 and uid who mounted a volume to unmount it (David Zeuthen)
 - Use hal's Unmount() for surprise removal (David Zeuthen)
 - Make HAL cleanup mountpoints created by Mount() even if it was unmounted
   by e.g. umount(1) (David Zeuthen)
 - Allow spaces and UTF-8 in mount points (Jeffrey Stedfast, David Zeuthen)
 - Fix UTF-8 validation of filesystem labels (David Zeuthen)
 - Add Teardown to the Device.Volume.Crypto interface (David Zeuthen)
 - Fix problems with dbus_error (Danny Kukawka)
 - fix mapping system.formfactor from smbios (Danny Kukawka)
 - Make StringListRemove actually work (David Zeuthen)
 - Serialize method calls and don't crash if the device object went away
   while methods were enqueued (David Zeuthen)
 - Refuse to Mount() volumes listed in /etc/fstab (Ludwig Nussel)
 - Fix get_uuid() and get_fsversion() in libhal-storage (David Zeuthen)
 - Don't do initgroups (Martin Pitt)
 - Fix libhal-storage memory leaks (David Zeuthen, reported by Brendan Creane)
 - Tear down crypto links on surprise removal (David Zeuthen)
 - Sync volume_id with udev version (Kay Sievers)
 - Add two functions crypto_get_clear_volume_udi and 
   crypto_get_backing_volume_udi to libhal-storage (David Zeuthen)
 - More privilege dropping (Martin Pitt)
 - Add Blu-ray and HD DVD to code and spec (Artem Kachitchkine)
 - Use blocking mode for PMU (Sjoerd Simons)
 - Use a safe PATH in hald by default (Sjoerd Simons)

Requirements for HAL 0.5.7 "Dead as Dillinger."

 - Linux kernel     >= 2.6.15
 - util-linux       >= 2.13
 - bash             >= 2.0
 - udev             >= 078       (using udevsend as hotplug multiplexer)
 - dbus             >= 0.60      (with glib bindings)
 - glib             >= 2.6.0
 - expat            >= 1.95.8
 - libusb           >= 0 0.1.10a (optional)
 - dmidecode        >= 2.7       (optional)
 - cryptsetup-luks  => 1.0.1     (optional, needs LUKS patches)

==========
HAL 0.5.6 "Leave the gun. Take the cannoli."
==========

Released January 16, 2006

 - new volume_id from udev upstream (Kay Sievers)
 - listen to udev via a socket (Kay Sievers)
 - Another USB card reader common theme (Pozsar Balazs)
 - volume_id version 55 to fix strange FAT detection issues (Kay Sievers)
 - Sony Ericsson mobile phones with Memory Stick (Pro Duo) fdi (Danny Kukawka)
 - Samsung Yepp YP-ST5 fdi (Davide Ferrari)
 - Use hash table for calculated charge rate (Danny Kukawka)
 - Add checks to power management scripts (Danny Kukawka)
 - Move scripts to $(datadir)/hal/scripts (Danny Kukawka)
 - Fix for refreshing battery values on AC adapter transition (Richard Hughes)
 - Add power_management.[can_suspend,can_hibernate] and remove the
   power_management.is_enabled keys (Richard Hughes)
 - Use the new poll-able /proc/mounts file from 2.6.15 (Kay Sievers)
 - Allow strlists to be passed to method calls (Kay Sievers)
 - Add Mount, Unmount, Eject methods to the new org.freedesktop.Hal.Device.
   Volume interface (Kay Sievers)
 - Update driver prop on physical device if class device binds (Kay Sievers)
 - Force 'rate' to be zero if battery is neither charging nor 
   discharging (Ryan Lortie)
 - Fix our DTD file and add validation for fdi files (Artem Kachitchkine)
 - Add Shutdown() and Reboot() methods (Richard Hughes)
 - Add HAL_METHOD_INVOKED_BY_UID to method call environment (Kay Sievers)
 - Switch from xattr to .create-by-hal-file at mount point to determine
   if a mount point is created by HAL's Mount() method (Kay Sievers)
 - Remove HAL-created mount points at startup (Kay Sievers)
 - SCSI generic device recognizition (Kay Sievers)
 - Restrict org.freedesktop.Hal.Device.Volume to the console user (Kay Sievers)
 - Set drive_type to 'disk' for new TYPE_RBC (Firewire) devices (Danny Kukawka)
 - Added TEAC CD-R55S to list of broken CD/DVD burner (Danny Kukawka)
 - Move uid_export to root scope to avoid corruption (Aaron Bockover)
 - Introduce volume.mount.valid_options and generalize mount 
   script (David Zeuthen)
 - Remove dead code in lshal (Danny Kukawka)
 - Add neeeded NULL termination of an array (Chris Spiegel, fd.o #5279)
 - Also let uid 0 invoke methods restricted to console user (Richard Hughes)
 - Fix more vulnerabilities in script for Mount(), Unmount(), Eject()
   (Kay Sievers, David Zeuthen)
 - Add battery.reporting.* to UPS'es (David Zeuthen)
 - Fixup a few compiler warnings (Danny Kukawka)
 - UK translations (Ivan Petrouchtchak)
 - V4L and DVB device recognizition (Kay Sievers)
 - Match on info.capabilities, not info.category (John Palmieri)
 - Sony PSP music player fdi file (James Henstridge, fd.o #5137)
 - Fix incorrect reporting of volume.fsuage in libhal-storage (David Zeuthen)
 - Introduce volume.ignore property, document it, make it available
   in libhal-storage and make our Mount() script respect it (David Zeuthen)
 - Add optical disc write speeds (Ryan Lortie, Danny Kukuwka)
 - Use D-BUS calls for powersaved backend (Holger Macht)

Requirements for HAL 0.5.6 "Leave the gun. Take the cannoli."

 - Linux kernel  >= 2.6.15
 - util-linux    >= 2.13
 - bash          >= 2.0
 - udev          >= 078       (using udevsend as hotplug multiplexer)
 - dbus          >= 0.60      (with glib bindings)
 - glib          >= 2.6.0
 - expat         >= 1.95.8
 - popt          >= 1.10.2    (optional)
 - libusb        >= 0 0.1.10a (optional)
 - dmidecode     >= 2.7       (optional)

==========
HAL 0.5.5.1
==========

Released November 14, 2005

 - Fix a few division by zero bugs (Danny Kukawka)

==========
HAL 0.5.5 "I want you to see what he's got under his fingernails."
==========

Released November 14, 2005

 - Handle invalid UTF-8 from serial numbers of storage devices (Danny Kukawka)
 - Try reconnect to acpid (Danny Kukawka)
 - Calculate rate when not reported (Søren Hansen, Danny Kukawka)
 - fd.o bugs #4871, #2850, #2121, #3954, #4266, #4644, #2115, 
   #3036(Danny Kukawka, Others)
 - Major rework of lshal (Pierre Ossman)
 - Comment out multi-session query for optical discs (Kay Sievers)
 - Update to from AFL 2.0 to AFL 2.1 (David Zeuthen)
 - Prepare for 2.6.15 compatibility (Kay Sievers)
 - Update spec some (Danny Kukawka)
 - Card reader .fdi files (Jerome Lodewyck)
 - Look at all netlink messages, not just the first one (Jon Nettleton)
 - Add --version to hald (Danny Kukawka)
 - Add some hack to work around broken and racy /proc/mounts (Danny Kukawka)
 - Add option for using the syslog (Danny Kukawka)
 - Support 'EjectPressed' condition for optical drives (Kay Sievers)
 - More checks for if a system is a laptop (Danny Kukawka, Richard Hughes)
 - Update list of PNP ID's (Danny Kukawka)
 - Update to volume_id version 52 (Kay Sievers)
 - Remove non-polling blacklist entry for HL-DT-STCD-RW/DVD-ROM GCC-4240N
   since this works on Linux 2.6.13 (Danny Kukawka)
 - Handle non-existing add-ons (Danny Kukawka)
 - Deal with acpid restarts (Ryan Lortie)
 - Fix fstab-sync parsing (Pascal Terjan)
 - Work with newer dmidecode (Richard Hughes)
 - Some serial port support and MMC storage fixes (Pierre Ossman)
 - Fix build by not using kernel-style data types (Martin Pitt)
 - Suspend/hibernate functionality for distros without tools (Richard Hughes)
 - Workaround for some buggy ACPI implementations (Ryan Lortie)
 - SetBrightness and GetBrightness methods (Richard Hughes)
 - Various S390 device handling fixes (Cornelia Huck)

Requirements for HAL 0.5.5 "I want you to see what he's got under his fingernails."

 - Linux 2.6.13 or later
 - udev 071 or later (using udevsend as hotplug multiplexer)
 - dbus 0.50 or later (with glib bindings)
 - glib 2.6 or later
 - expat
 - popt (optional)
 - libusb (optional)
 - dmidecode (optional)

==========
HAL 0.5.4 "Never tell anybody outside the family what you're thinking again."
==========

Released August 26, 2005

 - Fixes to build on Solaris (Alvaro Lopez Ortega)
 - Detect DVD+R Dual Layer (Danny Kukawka)
 - Fix hal-device-manager (John 'J5' Palmieri)
 - Methods on hal device objects (David Zeuthen)
 - LUKS integration (W. Michael Petullo)
 - Add defensive measures to libhal to avoid potential segfaults (Danny Kukawka)
 - Add extra ACPI information (Danny Kukawka)
 - Fix volume.disc.is_rewriteable for DVD+R/DVD+R DL (Danny Kukawka)
 - Add new features to hal-set-property (W. Michael Petullo)
 - Fixup percentage computation for batteries (Richard Hughes)
 - Updated translations (Novell/SUSE translation team)
 - Update all GPL license headers to FSF's new address (Danny Kukawka)
 - Use consistent battery charge units (Ryan 'desrt' Lortie)
 - Various battery-related fixes (Richard Hughes, Danny Kukawka)
 - ALSA/OSS fixes (Danny Kukawka)
 - Tape device fixes for S390 (Cornelia Huck)
 - Export correct volume.fsuage from libhal-storage (David Zeuthen)
 - Introduce battery.reporting properties (Richard Hughes, Danny Kukawka)
 - Sync up to latest volume_id from udev (Kay Sievers)
 - Introduce system-wide power management scripts (David Zeuthen)
 - Fix how HAL detects PDA's (Danny Kukawka)
 - Fix misc audio player stuff (Pierre Ossman)
 - Integration for SUSE powersave (Danny Kukawka)
 - Export mmc_host capability (Pierre Ossman)
 - Bump timeout on detection time (Cornelia Huck)
 - Detect joysticks (Danny Kukawka)
 - Fix symbol visiblity with gcov (Cornelia Huck)
 - Stop sending invalid UTF-8 characters from volume labels (Danny Kukawka)
 - Handle non-existing callouts in a graceful manner (Kay Sievers)
 - Various cleanups and fixes (Richard Hughes, Danny Kukawka)

==========
HAL 0.5.3 "I didn't ask who gave the order, because it had nothing to do with business."
==========

Released July 12, 2005

 - hal-find-by-capability and hal-find-by-property tools (David Zeuthen)
 - Fix some of the bugs from johnp's port of h-d-m (David Zeuthen, Kay Sievers)
 - Trigger rescan of ACPI objects when receiving events (Richard Hughes)
 - Fix key for storage.cdrom.dvdram (Danny Kukawka)
 - Don't use sync as part of the normal mount option policy (David Zeuthen)
 - Update fstab-sync man page (David Zeuthen)
 - Fix a bug in hal_property_new_string (Martin Pitt)
 - Fix --help output (Danny Kukawka)
 - Detect DVD+R DL media (William Jon McCann, David Zeuthen)
 - Add empty Solaris backend and fix build for Solaris (Alvaro Lopez Ortega)
 - Support various S390 devices (Cornelia Huck)
 - Prepare hald to work with newer udev versions (Kay Sievers)
 - Unify various error handling functions (Steffen Winterfeldt)
 - Add infrastructure + tools to populate the hal db (Steffen Winterfeldt)
 - Fixup MMC storage cards drive type on MMC bus (Pierre Ossman)
 - Handle case where the battery life is degrading (Richard Hughes)
 - Make libhal_ctx_init() fail if hald is not running (David Zeuthen)
 - New translations: nb (Kjartan Maraas), es (Francisco Javier F. Serrador)

==========
HAL 0.5.2 "Can't do it, Sally."
==========

Released May 12, 2005

 - Calculate remaining time for batteries (Richard Hughes)
 - libhal documentation update (Rohan McGovern)
 - Tweak default policy to automount 'mmc' devices (Pierre Ossman)
 - PMU lid button and battery polling fixes (David Zeuthen)
 - Detect PTP cameras (Pozsar Balazs)
 - Include script to generate libgphoto2 .fdi file (Pozsar Balazs)
 - Unmount by mount point instead of by device file (Rohan McGovern)

==========
HAL 0.5.1 "Sonny...?"
==========

Released Apr 27, 2005

 - Teach volume_id about Minix and a bunch of ATA raid signatures
   and use last label on multi-session discs (Kay Sievers)
 - Extract certain stuff using dmidecode and populate smbios.*
   properties and populate some newer computer.* properties
 - Change sesame to luks (W. Michael Petullo)
 - Cope with double hotplug events and other boundary conditions
   wrt. hotplug events (Kay Sievers)
 - Add some more USB2 card reader .fdi files
 - Make hal know about Firewire devices yet again
 - Export info.linux.driver for every physical device
 - Match PalmOS style pda's (Andrei Yurkevich)
 - zh_TW translation (chaoweilun@pcmail.com.tw)
 - Use direct d-bus connection for helpers instead of routing
   the traffic through the system bus
 - Several memory leak fixes
 - Update h-d-m to use Python bindings in D-BUS 0.33 or later
 - Use new udev feature to read all device file names in one go
 - Various fixes (Richard Hughes, Steve Grubb, Kay Sivers, 
                  Murray Cumming, Martin Pitt, Bill Nottingham)

Requirements for HAL 0.5.1 "Sonny...?"

 - Linux 2.6.11 or later
 - udev 057 or later (using udevsend as hotplug multiplexer)
 - dbus 0.33 or later (with glib bindings)
 - glib 2.6 or later
 - expat
 - popt (optional)
 - libusb (optional)

==========
HAL 0.5.0 "The family had a lot of buffers."
==========

Released Mar 7, 2005

 - Completely rewritten backend code including splitting work that
   requires privileges into separate processes
 - HAL daemon should be more restitant to broken kernel drivers thanks
   to the split into multiple processes
 - Test suite
 - New features
   - String list property type
   - New device information file features
   - ACPI/PMU/APM/hiddev UPS abstractions
 - Not backwards compatible since D-BUS broke ABI (porting effort is
   minimal though)
 - Updated list of TODO items providing a roadmap

Requires
 - Linux 2.6.10 or later built with hotplug and uevents
 - udev 050 or later with /sbin/udevsend as the hotplug helper/multiplexor
 - D-BUS 0.31 or later including glib and (optionally) Python bindings
 - glib2 2.4 or later

========================================================================

Branched sometime after 0.4.2 - all 0.4.x release are now on the
branch called hal-0_4-stable-branch in CVS.

==========
HAL 0.4.2 "Something like that. Tastes the same anyway."
==========

Released Dec 1, 2004

 - Add blacklist for not polling certain IDE slave drives as that
   decreases performance
 - Support for Linux kernels 2.6.10-rc2 and onwards
 - Only lazy unmount devices if {storage.volume}.policy.should_mount is
   TRUE - e.g. don't lazy unmount devices we don't care about
 - Support for IDE Zip and Jaz drives (treated as floppy drives)
 - Various fdi-parsing enhancements
 - Don't add 'ro' to optical drives as it prevents DVD-RAM usage
 - Support 256 partitions instead of only 16
 - small h-d-m UI bugfix (Sjoerd Simons)
 - small h-d-m UI bugfix (Bryan Clark)

==========
HAL 0.4.1 "What's that? Chicken?"
==========

Released Nov 2, 2004

 - Make $(binpath)/hal-device-manager a real executable instead of a
   symlink to better work with strict SELinux (Colin Walters)
 - Change default storage policy such that SCSI optical drives are being 
   added to e.g. /etc/fstab
 - Refine PCMCIA socket location to better work with strict SELinux
   (from Dan Walsh)
 - Make configure.in require libcap development headers (Tim Müller)
 - Change default storage policy to not add fixed non-hotpluggable disks
   to e.g. /etc/fstab (as ATARAID detection is not yet complete)
 - Support PCMCIA 16-bit network devices (Dan Williams)
 - Change default storage policy to use 'auto' for filesystem instead of
   'udf,iso9660'
 - Probe ext3 filesystems before NTFS filesystems
 - Highpoint ATARAID detection (Kay Sievers)
 - Fixup detection of Orinico 802.11 devices (Dan Williams)
 - Portuguese translations (Pedro Morais)
 - Hungarian translations (Laszlo Dvornik)
 - Russian translations (Leonid Kanter)
 - Clarify fstab-sync man page
 - Fix crash in fstab-sync when no options are given
 - Change default storage policy to allow legacy floppy disks
 - Fixup order of mount options in libhal-storage as mount depend on that
 - Handle missing hotplug events
 - Change default storage policy to not never use UUID
 - Don't use O_NONBLOCK in volume_id when reading data block devices
 - fix fstab-sync clean

==========
HAL 0.4.0 "It's origin and purpose, still a total mystery"
==========

Released Oct 17, 2004

 - Use pamconsole mount option instead of user (David Zeuthen)
 - Remove fstab-sync configure options (David Zeuthen)
 - Unchecked buffer access fix in pci device detection (Martin Pitt)
 - Allow hal euid to AddProperty and other operations (Sjoerd Simons)
 - Fix netlink packets interceptor such that only packages from the
   kernel is processed - security fix (Steve Grubb)
 - Device information file parser fixes (David Zeuthen)
 - fstab-sync manual page (David Zeuthen)
 - Make fstab-sync use storage policy properties (David Zeuthen)
 - libhal-storage C glue to access new storage policy (David Zeuthen) 
 - RemoveProperty requires privileged user (David Zeuthen)
 - Add prop to computer obj saying if selinux is enabled (David Zeuthen)
 - Lots of new .fdi-file parser feature (David Zeuthen)
 - Define new storage policy properties (David Zeuthen)
 - Check that legacy floppy drive actually exists (From Bill Nottingham)
 - Fixup {pci, usb} fd leaks (Sjoerd Simons)
 - Look for BLKGETSIZE64 in configure.in (Jonathan Blandford)
 - Handle initial hotplug events more graceful (David Zeuthen)
 - Checks for sysfs path and unprivileged execution fixes (Martin Pitt)
 - libhal fix for hal_get_all_devices (Colin Walters)
 - vfat fs detection as the first thing (Martin Pitt) 
 - Fixup cdrom polling to be more safe (From Alexander Larsson)
 - Detect USB floppy drive by looking at USB if class (David Zeuthen)
 - Make fstab-sync use msdos partition id whitelist (David Zeuthen)
 - Dutch libhal-storage translations (Reinout van Schouwen)
 - Debian support for hal_hotplug_map (Sjoerd Simons)
 - Require superuser for SetProperty and AddCapability (David Zeuthen)
 - libhal shutdown 'fix' (David Zeuthen)
 - SATA disk checking (From Alan Cox)
 - Fix end-of-marker and FAT UUID conversion (Kay Sievers) 
 - storage.icon.drive, storage.icon.volume properties (David Zeuthen)
 - storage.require_eject property (David Zeuthen)
 - French libhal-storage translations (Jérôme Lodewyck)
 - LVM2/RAID detection fixes (Kay Sievers)
 - New libhal-storage library and i18n support (David Zeuthen)
 - Partition id fixes (Kay Sievers)
 - Unchecked buffer access fix in cdrom speed detection (Martin Pitt)
 - USB serial device support (Kay Sievers)
 - volume_id logging glue (Kay Sievers)

==========
HAL 0.2.98
==========

Released Sep 20, 2004

 - UUID for NTFS partitions (Kay Sievers)
 - Fixup --with-pid-file (Tim Gerla)
 - Volume ID fix for FAT32 label (Kay Sievers)
 - volume.num_blocks, volume.block_szie
 - Fix dev,suid security issue with fstab-sync
 - Use async,noatime for removable or hotpluggable drives smaller than
   2 GB in fstab-sync
 - Symlink device node checks in fstab-sync
 - Build fixes (Steve Grubb)
 - Reiser and swap versions
 - Require .hal extension for callouts
 - Introduce HALD_VERBOSE that works even if hal is not built with
   verbose mode. Make logging output nicer with timestamps
 - Rewrite of device detection code - huge performance wins
 - Make fstab-sync write to syslog when modifying fstab file
 - Invoke fstab-sync --clean on hald startup
 - Export HALD_VERBOSE to callouts
 - Volume id fixes (Sjoerd Simons)
 - Fixup symlink resolving in fstab-sync
 - fstab-sync name computation fixes
 - Add --enable-fstab-sync configure option
 - Add info.udi to computer hal device object
 - RAID probing in volume id (Kay Sievers)
 - Introduce new callout hal-hotplug-map to look at gphoto2 and
   libsane usermaps on Linux and tag devices accordingly
 - Fixup debug
 - fstab-sync doesn't require storage device on remove
 - Introduce volume.fsusage and use it in fstab-sync (Kay Sievers)
 - Don't check for a C++ compiler (Joe Shaw)
 - Add kernel.* properties to computer (Joe Shaw)
 - Fix libsysfs memory leak (Steve Grubb)
 - LVM probing and RAID version numbers in volume id (Kay Sievers)
 - Callout / Race condition fixes
 - Set priorities on hal.dev and hal.hotplug helpers so we run before
   linux-hotplug etc.
 - SELinux support for fstab-sync
 - Timeout fixes in hal.hotplug (Kay Sievers)
 - Respect the /sys/block/<dev>/removable file
 - Don't remove mount point entries for devices that are mounted with
   fstab-sync --clean
 - 64-bit unsigned integer properties (Jon Lech Johansen)
 - boolean property fixes (Joe Shaw)
 - Intercept unchecked ioctl's (Martin Pitt)
 - Introduce --drop-privileges (Martin Pitt)
 - Only add -lexpat for hald (Sjoerd Simons)
 - Ignore duplicate hotplug events
 - Volume ID vfat fixes on BE boxes (Sjoerd Simons)
 - Fixup hald.conf.in as I broke it earlier
 - Force initial poll even if drive is not removable
 - Fixup HFS+ volume id (Kay Sievers)
 - Multimedia device support (Kay Sievers)
 - Use 64-bit sequence numbers and use textual action (Kay Sievers)
 - HFS+ UUID fixes (Kay Sievers)
 - Support network device renaming
 - Rename networking properties to net.80203 and net.80211
 - Make hald write the pid file, not the init script (Steve Grubb)
 - Fix endless loop for broken FAT32 volumes in volume id (Kay Sievers)
 - Add advisory locking on devices (Joe Shaw)
 - SELinux fixes for fstab-sync (Dan Walsh)
 - Fixup volume.is_rewritable for some broken drives (Alexander Larsson)
 - Fix FD leak (Sjoerd Simons)
 - Update spec to catch up with code
 - Add volume.partition.* properties

==========
HAL 0.2.97
==========

Released Aug 16, 2004

 - fstab-sync: lock around the entire process (seems to work very well
   now)
 - use local sockets for communication between hotplug.d/dev.d helpers
   and hald (fixes d-bus limit issues)
 - reorder hotplug messages (fixes issues with hotplugging 20 usb
   devices at the same time (using a hub))
 - don't process next hotplug message before device from current message
   is fully processed and in GDL (fixes issues with usb devices needing
   firmware uploads and thus will hotplug rem to hotplug add as a new
   device)
 - turn off media detection for drives being driven by the ide-cs driver
 - don't use drive_id or volume_id on drives with media detection turned
   off (fixes infinite hotplug loop with e.g. ide-cs drives)

==========
HAL 0.2.96
==========

Released Aug 12, 2004

 - dist HACKING (Joe Shaw)
 - fix missing detection of optical disc when starting
 - enhanced hfs/hfsplus detection (Kay Sievers)
 - make libhal work with c++
 - validate incoming strings as UTF-8 (Joe Shaw)
 - try to reconnect to system bus if disconnected (Joe Shaw)
 - ethernet link status fixes (Dan Williams)
 - read vital product data from drives (Kay Sievers)
 - block device UDI computation enhancements
 - only return RESULT_HANDLED in libhal if we really handle the message
 - fix small memory leaks in libhal (Dan Williams)
 - spec now matches code
 - remove info.virtual concept
 - make USB interfaces a first class device object
 - fstab-sync no longer needs a wrapper (Ray Strode)
 - handle removable media without partition tables
 - fstab-sync: add entries for floppy/optical drives
 - fstab-sync: don't add entries if device is listed with LABEL=

==========
HAL 0.2.95
==========

Released July 22, 2004

 - Faster hotplugging; fork hack
 - Moved spec to hal module
 - Actually build Doxygen docs for libhal
 - Computer found in city of lost devices (Joe Shaw)
 - Experimental shutdown on SIGTERM
 - Use O_EXCL for optical disc detection
 - TODO update
 - libsysfs upgrade to 1.1  (Kay Sievers, Joe Shaw)

==========
HAL 0.2.94
==========

Released July 15, 2004

 - SCSI device detection fixes (Sjoerd Simons)
 - fstab-sync callout in C (Ray Strode)
 - hal-device-manager GTK+ error dialog (Sjoerd Simons)
 - Volume Label fixes (Kay Sievers)
 - Storage device detection and fixes (David Zeuthen, Sjoerd Simons)
 - No media detection for devices using floppy drivers, e.g. LS120 (davidz)
 - HAL commandline tool interface cleanups (Martin Waitz)


==========
HAL 0.2.93
==========

Released July 5, 2004

 - Volume probing and label additions fixes (Kay Sievers)
 - hal.dev doesn't slow down udevstart or udev anymore (David Zeuthen)
   http://www.redhat.com/archives/fedora-devel-list/2004-July/msg00261.html
 - Volume mount detection fixes (David Zeuthen, pointed out by Sjoerd Simons)
 - Persistent device store (still disabled) (Kay Sievers)
 - Fix of 802.3 link detection (Dan Williams)
 - Removal of wireless scanning (Joe Shaw, Robert Love)

====================================
HAL 0.2 "Open the Pod Bay Door, Hal"
====================================

So, I've promised a release of HAL before Christmas, so here goes
version 0.2. It's not at version 9000 yet, so it won't do any device
configuration (like closing your Pod Bay door device), and it probably
never will. That's right, HAL is a lot simpler than earlier envisioned.

To get an idea of what I'm talking about, you might want to read the
updated spec available at http://freedesktop.org/Software/hal and give
the tarball a testdrive.

Special thanks to Martin Waitz for patches to package HAL.


What is it?
===========

HAL is a hardware abstraction layer and aims to provide a live list of
devices present in the system at any point in time. HAL tries to understand
both physical devices (such as PCI, USB) and the device classes (such as 
input, net and block) physical devices have, and it allows merging of
information from so called device info files specific to a device.

HAL provides a network API through D-BUS for querying devices and notifying
when things change. Finally, HAL provides some monitoring (in an unintrusive
way) of devices, presently ethernet link detection and volume mounts are
monitored.

This, and more, is all described in the HAL specification


Where can I get it?
===================

 http://freedesktop.org/~david/hal-0.2/spec/hal-spec.html
 
 http://freedesktop.org/~david/hal-0.2/hal-0.2.tar.gz


How do I build and run HAL?
===========================

You'll need recent glib, expat and d-bus from CVS to build HAL. Also
pygnome and pygtk is required to run the GUI device manager. A Linux
2.6 kernel is also required. HAL integrates with udev (udev sends D-BUS
messages by calling udev_dbus in /etc/dev.d/). You'll also need a recent
version of linux-hotplug.

The client library, libhal, for use in desktop application, only
requires dbus (which doesn't have any dependencies) so both KDE and
GNOME people should be happy.

To build, do the usual ./configure; make; make install dance. Make
sure to install into same prefix as D-BUS, otherwise you'll need to
copy some files yourself.  Now restart D-BUS to reload the policy
configuration files and (as root) start hald - the HAL daemon.

You can now start hal-device-manager from a separate terminal. Try
plugging or unplugging USB storage or Cardbus (PCMCIA) devices and
check out the device list change. Also, try unplugging your network
cable while looking at the properties for that device.

If you're the advanterous type, you can try to run 

 examples/volumed/volumed.py

from the tarball while plugging in USB storage. This example shows how
a volume manager built on top of HAL could work. It doesn't really
mount anything, but it does print out a line when it would have
mounted or unmounted a volume. Obviously, you'll need udev for this.

It's also great fun (!) to fiddle around with writing .fdi files for
your devices. I've included a single .fdi file in the distribution to
match my digital camera. You can also play around with the
hal-get-property and hal-set-property tools; the latter can be used to
set the info.persistent property to keep unplugged devices in the
device list to retain the properties of the device while it is
unplugged.


Is this stable software?
========================

No way, not yet, at best consider this release a development
snapshot. It has been tested on Fedora Core 1 (i386) and Debian (ppc),
both with 2.6.0-test11 kernels.

There's still lots of small issues I'd wish was resolved before this
release, that's detailed in doc/TODO in the tarball. Most of the short
term issues will probably be addressed in the next release, 4-8 weeks
from this release. Also, important busses, such as IEEE1394, is not
supported yet.

However, even though the API may change somewhat, I think we have
now got the basic infrastructure necessary to start building
application and integrating HAL into desktop environments. That
was the grand plan anyway :-)

Please send bug reports, suggestions and patches to the xdg-list. Do
consult the TODO list to see whether the issue is already known.

