0.15.0
- Add codespell to detect typo
- Add support for fuzzing and bagde for oss-fuzz
- [osal]
- Allow the use of non-static allocation for FreeRTOS
- Fix FreeRTOS wrong task switch in some cases
- Fix tu_fifo memory overflown when repeatedly write to overwritable fifo (accumulated more than 2 depths)
- Better support for IAR (ARM) with ci build check for stm32 mcus.
- Fix Windows build for some mingw gnu make situations
Controller Driver (DCD & HCD)
- Add new port support (WIP) for WCH CH32V307 USB Highspeed
- Add new port support (WIP) for PIC32MM/MX & PIC24
- [nRF]
- Fix endpoint internal state when closed
- Fix reception of large ISO packets
- [rp2040]
- [dcd] Implement workaround for Errata 15. This enable SOF when bulk-in endpoint is in use and reduce its bandwidth to only 80%
- [hcd] Fix shared irq slots filling up when hcd_init() is called multiple times
- [hcd] Support host bulk endpoint using hw "interrupt" endpoint. Note speed limit is 64KB/s
- [samd][dcd] Add support for ISO endpoint
- [dwc2][dcd] Add support for stm32u5xx
- [esp32sx] Fix Isochronous transfers only transmitted on even frame
- [lpc_ip3511][dcd] Add isochronous support and fix endpoint accidental write
- [ft90x] Improve and enhance support for FT9xx MCU, tested with more examples
Device Stack
- [Video]
- Add support for MJPEG
- Fix probe on macOS
- [MIDI]
- Support port name strings
- fix MS Header wTotalLength computation
- [HID]
- Add FIDO descriptor template
- change length in tud_hid_report_complete_cb() from uint8 to uint16
- [CDC]
- Fix autoflush for FIFO < MPS
- Fix tx fifo memory overflown when DTR is not set and tud_cdc_write() is called repeatedly with large enough data
- [USBTMC] Fix packet size with highspeed
Host Stack
- Retry a few times with transfers in enumeration since device can be unstable when starting up
- [MSC] Rework host masstorage API. Add new host/msc_file_explorer example
- [CDC]
- Add support for host cdc
- Fix host cdc with device without IAD e.g Arduino Due
What's Changed
- try to fix release body in tinyusb_src (not tested) by @hathach in #1611
- Remove Hardcoded interface numbers from video descriptors by @Lan-Hekary in #1613
- nrf5x: Fix endpoint internal state when closed by @kasjer in #1614
- re-added code in pr 1438 to fix compile with h7 with 1 usb otg by @hathach in #1641
- nrf5x: Fix reception of large ISO packets by @kasjer in #1642
- Fix bug #1628 by preventing shared irq slots for filling up by @jmark1m in #1629
- Fix typo for log in dcd_rp2040.c by @mingpepe in #1664
- Initial PIC32MM/MX & PIC24 support by @ReimuNotMoe in #1623
- audio_device: prototype added for function referenced before use by @battlesnake in #1646
- Fix typo in getting_started guide by @hadess in #1691
- Allow more endpoint packet sizes for SAMD by @maddyaby in #1523
- Add support for MJPEG on UVC by @kkitayam in #1668
- Port stm32u5xx by @LynnL4 in #1680
- stm32u5: Fix submodules paths by @kasjer in #1696
- esp: Fix Isochronous transfers by @tore-espressif in #1690
- dcd_lpc_ip3511: isochronous support and endpoint accidental write fix by @tswan-quasi in #1676
- do not apply storage attributes to member of struct by @battlesnake in #1698
- Rp2040 hcd bulk by @Skyler84 in #1434
- tusb_types: add edpt_dir and edpt_type strings by @Skyler84 in #1433
- Fix rp2040 minor by @hathach in #1723
- Add self host by @hathach in #1724
- Fixed wrong FreeRTOS port for EFM32GG12 by @hfegran in #1718
- Add support for STM32L412. by @HiFiPhile in #1727
- Add hifiphile self-hosted by @hathach in #1740
- MIDI: support port name strings by @kaysievers in #1738
- dhserver: Support DHCP clients that don't send the MESSAGETYPE as first option by @kripton in #1712
- Add host msc explorer example by @hathach in #1746
- Rework host msc complete callback by @hathach in #1750
- Retry a few times with transfers in enumeration since device can be unstable when starting up by @hathach in #1763
- Added board description for electro-smith daisy seed by @benishor in #1756
- Fix RP2040 Issue 1721 by @rppicomidi in #1755
- Rp2040 host bulk comment by @hathach in #1765
- Fix typos by @hadess in #1695
- Add codespell to ci run by @hathach in #1774
- Allow the use of non-static allocation for FreeRTOS mutexes & queues by @pete-pjb in #1767
- Hid fido by @hathach in #1776
- HID: Add FIDO U2F descriptors by @gaoyichuan in #1686
- cdc: Fix autoflush for FIFO < MPS by @tore-espressif in #1487
- Update unit test by @hathach in #1781
- fuzz: Add support for fuzzing by @silvergasp in #1716
- Correct interrupt polling interval in descriptor by @scoudreau in #1784
- usbtmc: correct packet size bug by @scoudreau in #1783
- fix midi MS Header wTotalLength computation by @hathach in #1797
- Update osal mutex by @hathach in #1799
- Update osal_freertos.h to fix FreeRTOS wrong task switch by @jbruneaux31 in #1803
- Support Host CDC by @hathach in #1809
- fix incorrect rx buf in cdc by @hathach in #1810
- add tuh_cdc_peek() by @hathach in #1814
- [add] semaphore reset support for rt-thread by @tyustli in #1801
- fix ncm warning by @hathach in #1819
- fix(fuzz): Make sanitizer flags optional by @silvergasp in #1823
- Fix IAR warning: Warning[Pe381]: extra ";" ignored by @HiFiPhile in #1836
- Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION in usbh.c by @pete-pjb in #1837
- Fix fifo memory overflow by @hathach in #1789
- Fix UVC probe and commit on MacOS by @Staacks in #1820
- ip3511 : Fix IAR build. by @HiFiPhile in #1843
- feat(ci): Adds oss-fuzz integration on PRs by @silvergasp in #1844
- Add WCH CH32V307 port by @gregdavill in #1405
- dwc2: fix iar warnings by @HiFiPhile in #1847
- Add support for nucleo-h723zg by @kasjer in #1872
- feat(fuzz): Adds seed corpus for cdc and msc classes by @silvergasp in #1875
- Add support for NXP's mimxrt1024_evk evaluation board. by @DRNadler in #1866
- Windows build fix for some mingw gnu make situations by @DRNadler in #1870
- Support iar build by @hathach in #1876
- Port ft90x by @ftdigdm in #1768
- rp2040: avoid device-mode state machine hang by @P33M in #1779
- Fix host cdc without iad by @hathach in #1877
- Bundle mulitple familes for self-hosted iar to reduce build time by @hathach in #1880
- change length in tud_hid_report_complete_cb() from uint8 to uint16 by @hathach in #1884
- RP2040 build fixes by @kilograham in #1887
- update version to 0.15.0 by @hathach in #1890
New Contributors
- @Lan-Hekary made their first contribution in #1613
- @jmark1m made their first contribution in #1629
- @ReimuNotMoe made their first contribution in #1623
- @battlesnake made their first contribution in #1646
- @hadess made their first contribution in #1691
- @LynnL4 made their first contribution in #1680
- @tore-espressif made their first contribution in #1690
- @tswan-quasi made their first contribution in #1676
- @Skyler84 made their first contribution in #1434
- @hfegran made their first contribution in #1718
- @kripton made their first contribution in #1712
- @benishor made their first contribution in #1756
- @pete-pjb made their first contribution in #1767
- @gaoyichuan made their first contribution in #1686
- @silvergasp made their first contribution in #1716
- @jbruneaux31 made their first contribution in #1803
- @tyustli made their first contribution in #1801
- @Staacks made their first contribution in #1820
- @gregdavill made their first contribution in #1405
- @DRNadler made their first contribution in #1866
- @P33M made their first contribution in #1779
Full Changelog: 0.14.0...0.15.0