Back to Release page
# Release Notes for STM32 USB Device Library Copyright 2015 STMicroelectronics
## Update History ### V2.5.3 / 30-April-2019 Main Changes Fix misra-c 2012 high severity violations Core driver: protect shared macros __ALIGN_BEGIN, __ALIGN_END with C directive #ifndef update Core driver and DFU Class driver to use USBD_SUPPORT_USER_STRING_DESC insead of USBD_SUPPORT_USER_STRING prevent accessing to NULL pointer if the get descriptor functions are not defined Update on USBD_LL_Resume(), restore the device state only if the current state is USBD_STATE_SUSPENDED ### V2.5.2 / 27-Mars-2019 Main Changes DFU Class: fix compilation warning due to unreachable instruction code introduced with CMSIS V5.4.0 NVIC_SystemReset() prototype change ### V2.5.1 / 03-August-2018 Main Changes Update license section by adding path to get copy of ST Ultimate Liberty license Core: Fix unexpected stall during status OUT phase DFU Class: rework hdfu struct to prevent unaligned addresses MSC Class: fix lba address overflow during large file transfers > 4Go Template Class: add missing Switch case Break on USBD_Template_Setup API ### V2.5.0 / 15-December-2017 Main Changes Update license section Update some functions to be MISRAC 2004 compliant Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes Correct error handling in all class setup function Add usbd_desc_template.c/ usbd_desc_template.h templates files Add support of class and vendor request CDC Class: fix zero-length packet issue in bulk IN transfer Fix compilation warning with unused arguments for some functions Improve USB Core enumeration state machine ### V2.4.2 / 11-December-2015 Main Changes CDC Class usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h" ### V2.4.1 / 19-June-2015 Main Changes CDC Class usbd_cdc.c: comments update MSC Class usbd_msc_bot.h: update to be C++ compliant AUDIO Class usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value usbd_audio.c: remove useless management of DMA half transfer ### V2.4.0 / 28-February-2015 Main Changes Core Driver Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file usbd_core.c: Fix bug of unsupported premature Host Out stage during data In stage (ie. when endpoint 0 maximum data size is 8 and Host requests GetDeviceDescriptor for the first time) usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting) HID Class Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address. CDC Class usbd_cdc.c: Add missing GetInterface request management in USBD_CDC_Setup() function Update USBD_CDC_Setup() function to allow correct user implementation of CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests. ### V2.3.0 / 04-November-2014 Main Changes Update all drivers to be C++ compliant CDC Class usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment Miscellaneous source code comments update ### V2.2.0 / 13-June-2014 Main Changes Source code comments review and update HID class Remove unused API USBD_HID_DeviceQualifierDescriptor() Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval() CDC class Bug fix: missing handling ZeroLength Setup request All classes Add alias for the class definition, it's defined as macro with capital letter ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS &USBD_HID and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS) ### V2.1.0 / 22-April-2014 Main Changes usbd_conf_template.c: update file with the right content (it was using MSC memory management layer) usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used Several enhancements in CustomHID class Update the Custom HID class driver to simplify the link with user processes Optimize the Custom HID class driver and reduce footprint Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class Add Custom HID interface template file usbd_customhid_if_template.c/h Miscellaneous comments update ### V2.0.0 / 18-February-2014 Main Changes Major update based on STM32Cube specification: Library Core, Classes architecture and APIs modified vs. V1.1.0, and thus the 2 versions are not compatible. This version has to be used only with STM32Cube based development ### V1.1.0 / 19-March-2012 Main Changes Official support of STM32F4xx devices All source files: license disclaimer text update and add link to the License file on ST Internet. Handle test mode in the set feature request Handle dynamically the USB SELF POWERED feature Handle correctly the USBD_CtlError process to take into account error during Control OUT stage Miscellaneous bug fix ### V1.0.0 / 22-July-2011 Main Changes First official version for STM32F105/7xx and STM32F2xx devices ## License This software component is licensed by ST under Ultimate Liberty license SLA0044, the "License"; You may not use this component except in compliance with the License. You may obtain a copy of the License at: http://www.st.com/SLA0044 For complete documentation on STM32 Microcontrollers visit www.st.com/STM32