ver 2.13:
	Add Device ID and HID attribute definitions.
	Update the UUID constants and its translations.
	Update L2CAP socket option definitions.
	Update connection information definitions.

ver 2.12:
	Correct kernel interface for CMTP and HIDP support.
	Add service classes and profile ids for WAP.
	Add simple AM_PATH_BLUEZ macro.

ver 2.11:
	Initial support for the kernel security manager.
	Use bit zero for vendor packets in the filter type bitmask.
	Add SIM Access types for service discovery.
	Add more audio/video profile translations.
	Add another company identifier.
	Add the missing HCI error codes.
	Add RFCOMM socket options.
	Add definition for the SECURE link mode.
	Add functions for reading and writing the inquiry mode.
	Add functions for AFH related settings and information.
	Add version identifier for the Bluetooth 2.0 specification.

ver 2.10:
	Fix and extend the unaligned access macros.
	Make compiling with debug information optional.
	Don't override CFLAGS from configure.

ver 2.9:
	Add L2CAP info type and info result definitions.
	Add value for L2CAP_CONF_RFC_MODE.
	Change RSSI value to signed instead of unsigned.
	Allow UUID32 values as protocol identifiers.

ver 2.8:
	Fix the event code of inquiry with RSSI.
	Add defines and UUID's for audio/video profiles.
	Add AVDTP protocol identifier.
	Add HIDP subclass field.
	Add PKGConfig support.
	Remove dummy SDP library.

ver 2.7:
	Fix display of decoded LMP features.
	Update company identifiers.
	Add AFH related types.
	Add first bits from EDR prototyping specification.
	Add support for inquiry with RSSI.
	Add HCRP related SDP functions.
	Add HIDP header file.

ver 2.6:
	Use R2 for default value of pscan_rep_mode.
	Add new company identifiers.
	Add BNEP and CMTP header files.
	Add the SDP library.

ver 2.5:
	Add decoding of Bluetooth 1.2 features.
	Add link manager version parameter for Bluetooth 1.2.
	Add new company identifiers.
	Support for transmit power level.
	Support for park, sniff and hold mode.
	Support for role switch.
	Support for reading the clock offset.
	Use R1 for default value of pscan_rep_mode.

ver 2.4:
	Added const qualifiers to appropriate function arguments.
	Minor fixes.

ver 2.3:
	Fix hci_for_each_dev() for big endian machines.
	Support for voice settings.
	RPM package.

ver 2.2:
	Updated RFCOMM header file.
	Additional HCI command and event defines.

ver 2.1.1:
	Resurrect hci_remote_name.

ver 2.1:
	New HCI functions:
		hci_{read, write}_class_of_dev(),
		hci_{read, write}_current_iac_lap(),
		hci_write_local_name()
	Added RFCOMM header file.
	Minor fixes.

ver 2.0:
	Additional company IDs.
	Minor fixes.

ver 2.0-pre10:
	Fix hci_inquiry function to return errors and accept user buffers.
	New functions hci_devba, hci_devid, hci_for_each_dev and hci_get_route.
	Additional company IDs.
	Makefile and other minor fixes.

ver 2.0-pre9:
	LMP features to string translation support.
	Additional HCI command and event defines.
	Extended hci_filter API.

ver 2.0-pre8:
	Additional HCI ioctls and defines.
	All strings and buffers are allocated dynamically.
	ba2str, str2ba automatically swap bdaddress.
	Minor fixes and cleanup.

ver 2.0-pre7:
	Bluetooth libraries and header files is now a separate package.
	New build environment uses automake and libtool.
	Massive header files cleanup.

ver 2.0-pre6:
	API cleanup and additions.

ver 2.0-pre4:
	HCI filter enhancements.

ver 2.0-pre3:
	Cleanup.

ver 2.0-pre2:
	Additional HCI library functions.
	Documentation update.
	
ver 2.0-pre1:
	Minor fixes and improvements.
