Updated MS_Host_ResetMSInterface() to now perform a full Mass Storage reset sequence to prevent data corruption in the event of a device lock up or timeout (thanks to David Lyons).
Add parenthesis around the library Endianness macros that do nothing on a particular architecture to prevent operator precedence issues depending on usage.
Minor documentation corrections.
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.
Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.
Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly.
Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices.
Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
Added new USB_Host_EnableSOFEvents(), USB_Host_DisableSOFEvents() and EVENT_USB_Host_StartOfFrame() for the user application handling of USB Start of Frame events while in USB Host mode.
Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible to free up the Start of Frame flag for interrupt use in the user application.
Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression.
Minor code cleanups (remove redundant comments, fix spacing, etc.).
Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers.
Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality.
Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead.
Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
Added parameter directions to function parameter documentation.
Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).