0.19.0
General
-
New MCUs and Boards:
- Add ESP32-H4, ESP32-C5, ESP32-C61 support
- Add STM32U0, STM32WBA, STM32N6
- Add AT32F405, AT32F403A, AT32F415, AT32F423 support
- Add CH32V305 support and CH32V20x USB host support
- Add MCXA156 SDK 2.16 support and FRDM-MCXA156 board
API Changes
-
Core APIs
- Add weak callbacks with new syntax for better compiler compatibility
- Add
tusb_deinit()to cleanup stack - Add time functions:
tusb_time_millis_api()andtusb_time_delay_ms_api() - Add
osal_criticalAPIs for critical section handling - Introduce
xfer_isr()callback for ISO transfer optimization in device classes
-
Device APIs
- CDC: Add notification support
tud_cdc_configure(),tud_cdc_n_notify_uart_state(),tud_cdc_n_notify_conn_speed_change(),tud_cdc_notify_complete_cb() - MSC: Add
tud_msc_inquiry2_cb()with bufsize parameter, updatetud_msc_async_io_done()within_isrparameter - Audio: Add
tud_audio_n_mounted()and various FIFO access functions - MTP: Add
tud_mtp_mounted(),tud_mtp_data_send(),tud_mtp_data_receive(),tud_mtp_response_send(),tud_mtp_event_send()
- CDC: Add notification support
-
Host APIs
- Core: Add
tuh_edpt_close(),tuh_address_set(),tuh_descriptor_get_device_local(),tuh_descriptor_get_string_langid(),tuh_connected(),tuh_bus_info_get() - Add enumeration callbacks:
tuh_enum_descriptor_device_cb(),tuh_enum_descriptor_configuration_cb() - CDC: Add
tuh_cdc_get_control_line_state_local(),tuh_cdc_get/set_dtr/rts(),tuh_cdc_connect/disconnect()and sync versions of all control APIs - MIDI: Add
tuh_midi_itf_get_info(),tuh_midi_packet_read_n(),tuh_midi_packet_write_n(),tuh_midi_read_available(),tuh_midi_write_flush(),tuh_midi_descriptor_cb()
- Core: Add
Controller Driver (DCD & HCD)
-
DWC2
- Support DWC2 v4.30a with improved reset procedure
- Fix core reset: wait for AHB idle before reset
- Add STM32 DWC2 data cache support with proper alignment
- Host improvements:
- Fix disconnect detection and SOF flag handling
- Fix HFIR timing off-by-one error
- Retry IN token immediately for bInterval=1
- Proper attach debouncing (200ms)
- Fix all retry intervals
- Resume OUT transfer when PING ACKed
- Fix enumeration racing conditions
- Refactor bitfields for better code generation
-
FSDEV (STM32)
- Fix AT32 compile issues after single-buffered endpoint changes
- Add configurable single-buffered isochronous endpoints
- Fix STM32H7 recurrent suspend ISR
- Fix STM32L4 GPIOD clock enable for variants without GPIOD
- Fix STM32 PHYC PLL stability wait
- Improve PMA size handling for STM32U0
-
EHCI
- Fix removed QHD getting reused
- Fix NXP USBPHY disconnection detection
-
Chipidea/NXP
- Fix race condition with spinlock
- Improve iMXRT support: fix build, disable BOARD_ConfigMPU, fix attach debouncing on port1 highspeed
- Fix iMXRT1064 and add to HIL test pool
-
MAX3421E
- Use spinlock for thread safety instead of atomic flag
- Implement
hcd_edpt_close()
-
RP2040
- Fix audio ISO transfer: reset state before notifying stack
- Fix CMake RTOS cache variable
- Abort transfer if active in
iso_activate()
-
SAMD
- Add host controller driver support
Device Stack
-
USBD Core
- Introduce
xfer_isr()callback for interrupt-time transfer handling - Add
usbd_edpt_xfer_fifo()stub - Revert endpoint busy/claim status if
xfer_isr()defers toxfer_cb()
- Introduce
-
Audio
- Major simplification of UAC driver and alt settings management
- Move ISO transfers into
xfer_isr()for better performance - Remove FIFO mutex (single producer/consumer optimization)
- Add implicit feedback support for data IN endpoints
- Fix alignment issues
- Update buffer macros with cache line size alignment
-
CDC
- Add notification support:
CFG_TUD_CDC_NOTIFY,tud_cdc_n_notify_conn_speed_change(),tud_cdc_notify_complete_cb() - Reduce default bInterval from 16ms to 1ms for better responsiveness
- Rename
tud_cdc_configure_fifo()totud_cdc_configure()and addtx_overwritable_if_not_connectedoption - Fix web serial robustness with major overhaul and logic cleanup
- Add notification support:
-
HID
- Add Usage Page and Table for Power Devices (0x84 - 0x85)
- Fix HID descriptor parser variable size and 4-byte item handling
- Add consumer page configurations
-
MIDI
- Fix MIDI interface descriptor handling after audio streaming interface
- Skip RX data with all zeroes
-
MSC
- Add async I/O support for MSC using
tud_msc_async_io_done() - Add
tud_msc_inquiry2_cb()with bufsize for full inquiry response
- Add async I/O support for MSC using
-
MTP
- Add new Media Transfer Protocol (MTP) device class driver
- Support MTP operations: GetDeviceInfo, SendObjectInfo, SendObject
- Add MTP event support with
tud_mtp_event_send() - Implement filesystem example with callbacks
- Add hardware-in-the-loop testing support
-
NCM
- Add USB NCM link state control support
- Fix DHCP offer/ACK destination
-
USBTMC
- Add vendor-specific message support
-
Vendor
- Fix vendor device reset and open issues
- Fix descriptor parsing for
CFG_TUD_VENDOR > 1 - Fix vendor FIFO argument calculation
Host Stack
-
USBH Core
- Major enumeration improvements:
- Fix enumeration racing conditions
- Add proper attach debouncing with hub/rootport handling (200ms delay)
- Reduce
ENUM_DEBOUNCING_DELAY_MSto 200ms - Always get language ID, manufacturer, product, and serial strings during enumeration
- Always get first 2 bytes of string descriptor to determine length (prevents buffer overflow)
- Support devices with multiple configurations
- Add
tuh_enum_descriptor_device_cb()andtuh_enum_descriptor_configuration_cb()callbacks - Add
tuh_descriptor_get_string_langid()API - Hub improvements:
- Check status before getting first device descriptor
- Properly handle port status and change detection
- Queue status endpoint for detach/remove events
- Fix hub status change endpoint handling
- Fix endpoint management:
hcd_edpt_open()returns false if endpoint already opened- Add
hcd_edpt_close()implementation - Abort pending transfers on close
- Add roothub debouncing flag to ignore attach/remove during debouncing
- Move address setting and bus info management to separate structures
- Force removed devices in same bus info before setting address
- Major enumeration improvements:
-
CDC Serial Host
- Major refactor to generalize CDC serial drivers (FTDI, CP210x, CH34x, PL2303, ACM)
- Add explicit
sync()API withTU_API_SYNC()returningtusb_xfer_result_t - Rename
tuh_cdc_get_local_line_coding()totuh_cdc_get_line_coding_local() - Add
tuh_cdc_get_control_line_state_local() - Implement
tuh_cdc_get/set_dtr/rts()as inline functions
-
MIDI Host
- Major API changes:
- Rename
tuh_midi_stream_flush()totuh_midi_write_flush() - Add
tuh_midi_packet_read_n()andtuh_midi_packet_write_n() - Add
CFG_TUH_MIDI_STREAM_APIto opt out of stream API - Change API to use index instead of device address (supports multiple MIDI per device)
- Rename
- Rename
tuh_midi_get_num_rx/tx_cables()totuh_midi_get_rx/tx_cable_count() - Add
tuh_midi_descriptor_cb()andtuh_midi_itf_get_info()
- Major API changes:
-
MSC Host
- Continue async I/O improvements
-
HID Host
- Fix version string to actually show version
What's Changed
- update docs, embed metadata to family.c and board.h by @hathach in https://github.com/hathach/tinyusb/pull/2917
- Fix ceedling by @hathach in https://github.com/hathach/tinyusb/pull/2949
- src/class/hid/hid_host.c: fix logging calls for epbuf by @dhalbert in https://github.com/hathach/tinyusb/pull/2948
- fix(ncm): Use IN buffer for transmit checks by @tore-espressif in https://github.com/hathach/tinyusb/pull/2947
- Work around for esp32s3 racing/timing issue with macos by @hathach in https://github.com/hathach/tinyusb/pull/2955
- fix(ncm): Return invalid NTBs to free list by @tore-espressif in https://github.com/hathach/tinyusb/pull/2950
- Fix potential out of bounds access in msc_disk.c by @PwnVerse in https://github.com/hathach/tinyusb/pull/2939
- fix bug introduced by 2939, with correct offset check logic by @hathach in https://github.com/hathach/tinyusb/pull/2964
- Initial Zephyr support by @hathach in https://github.com/hathach/tinyusb/pull/2962
- stm32: fix compilation error when not using uart by @ho-ho-ho in https://github.com/hathach/tinyusb/pull/2959
- fix build for 407blackvet by @hathach in https://github.com/hathach/tinyusb/pull/2979
- skip iar build for forked PR by @hathach in https://github.com/hathach/tinyusb/pull/2981
- ch32v3 fs: signal bus speed by @JannisKonradBecker in https://github.com/hathach/tinyusb/pull/2976
- Adding Stylus-Pen Device Support. by @jay94ks in https://github.com/hathach/tinyusb/pull/2911
- fix stringop-overread warning for msc device with memmove by @hathach in https://github.com/hathach/tinyusb/pull/2982
- Various fixes for the Microchip Chipidea FS driver by @ReimuNotMoe in https://github.com/hathach/tinyusb/pull/2914
- update IAR LMS CLOUD by @hathach in https://github.com/hathach/tinyusb/pull/2988
- Rtos house keeping by @hathach in https://github.com/hathach/tinyusb/pull/2989
- Add CMake presets. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2984
- Enhance hub driver by @hathach in https://github.com/hathach/tinyusb/pull/2994
- fix(esp): Remove deprecated include by @tore-espressif in https://github.com/hathach/tinyusb/pull/3002
- add missing board.h for BOARD=pico_sdk by @hathach in https://github.com/hathach/tinyusb/pull/3005
- Fix(host) enumeration with 8bitdo devices by @hathach in https://github.com/hathach/tinyusb/pull/3007
- add adafruit metro rp2350 by @hathach in https://github.com/hathach/tinyusb/pull/3008
- fix(dwc2) host driver conflict with max3421e by @hathach in https://github.com/hathach/tinyusb/pull/3011
- rp2040 correct dcd_edpt_iso_activate by @pschatzmann in https://github.com/hathach/tinyusb/pull/2937
- Add full/high speed compile flag for Microchip SAME70 examples by @dauc in https://github.com/hathach/tinyusb/pull/2990
- RP2040 MIDI Host by @atoktoto in https://github.com/hathach/tinyusb/pull/1627
- fix(rp2040) set RTOS as cmake cache to fix pico-example build by @hathach in https://github.com/hathach/tinyusb/pull/3019
- fix desc_end in vendord_open() by @Cynventria in https://github.com/hathach/tinyusb/pull/3020
- Only clear stream_read & stream_write if they are defined by @rppicomidi in https://github.com/hathach/tinyusb/pull/3029
- Fix UAC ctrl buffer alignment. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3034
- change pio-usb to upstream by @hathach in https://github.com/hathach/tinyusb/pull/3038
- Fix 3031: implement tuh_midi_itf_get_info() by @rppicomidi in https://github.com/hathach/tinyusb/pull/3032
- Fix #3033: Increase array bounds and test for overflow by @rppicomidi in https://github.com/hathach/tinyusb/pull/3042
- feat(host) add endpoint close API and feat(HIL) improvement by @hathach in https://github.com/hathach/tinyusb/pull/3043
- fix(hcd) hcd_edpt_open() return true if endpoint is already opened. by @hathach in https://github.com/hathach/tinyusb/pull/3061
- dwc2/host: clear SOF flag in handle_sof_irq() by @maximevince in https://github.com/hathach/tinyusb/pull/3063
- Fix .rst document formatting by @Dazza0 in https://github.com/hathach/tinyusb/pull/3015
- Allow different port and mode for LED on ch32v boards by @deshipu in https://github.com/hathach/tinyusb/pull/3014
- dwc2/host: HFIR: Fix timing off-by-one by @maximevince in https://github.com/hathach/tinyusb/pull/3074
- Fix version string to actually be the version by @byteit101 in https://github.com/hathach/tinyusb/pull/3079
- host/dwc2: fix bitfields access width by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3070
- Ci add s3 host by @hathach in https://github.com/hathach/tinyusb/pull/3085
- Ci add picow host test by @hathach in https://github.com/hathach/tinyusb/pull/3086
- usbh enum get string descriptor length first by @hathach in https://github.com/hathach/tinyusb/pull/3081
- dwc2/host: enable disconnect interrupt + handle it by @maximevince in https://github.com/hathach/tinyusb/pull/3067
- note potential issues using ep_desc in hcd_edpt_open() by @joelpmichael in https://github.com/hathach/tinyusb/pull/3084
- dwc2/host: immediately retry IN token for bInterval=1 by @maximevince in https://github.com/hathach/tinyusb/pull/3072
- host/dwc2: resume OUT transfer when PING ACKed by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3077
- Fix 1st nak retry one frame shorter. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3088
- dwc2/host: attach debouncing fixes by @maximevince in https://github.com/hathach/tinyusb/pull/3075
- host: fix enumerate racing by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3080
- refactor(usbh) improve the usage of bus info by @hathach in https://github.com/hathach/tinyusb/pull/3093
- examples cmake: fix gcc flag -mcpu=cortex=m0 by @fenugrec in https://github.com/hathach/tinyusb/pull/3095
- Usbh improve hub by @hathach in https://github.com/hathach/tinyusb/pull/3096
- Fixed broken deps on a fresh clone by @ehughes in https://github.com/hathach/tinyusb/pull/3100
- Usbh attach debounce by @hathach in https://github.com/hathach/tinyusb/pull/3104
- Fix sigma mouse multiple attach by @hathach in https://github.com/hathach/tinyusb/pull/3114
- Bump gcc14 by @hathach in https://github.com/hathach/tinyusb/pull/3121
- vendor device open fix for descriptor parsing by @ZakDanger in https://github.com/hathach/tinyusb/pull/3118
- follow up to pr3118, interface also end with IAD. Add more checks by @hathach in https://github.com/hathach/tinyusb/pull/3123
- Added initial support for FRDM-MCXA156 and fixed up a crash with FRDM-MCXN947 by @ehughes in https://github.com/hathach/tinyusb/pull/3103
- add osal spinlock API, Fix/dcd dwc2 race condition by @hathach in https://github.com/hathach/tinyusb/pull/3127
- add usbh_spin_lock/unlock() use spinlock to replace atomic flag for hcd max3421 by @hathach in https://github.com/hathach/tinyusb/pull/3130
- dcd/ci_hs: add vbus charge option. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3111
- add OPT_MCU_MAX32665 by @hathach in https://github.com/hathach/tinyusb/pull/3136
- Add USB NCM link state control support by @andrewleech in https://github.com/hathach/tinyusb/pull/3135
- Fix TUH_EPSIZE_BULK_MPS macro by @ceedriic in https://github.com/hathach/tinyusb/pull/3143
- Refactor maxim bsp by @hathach in https://github.com/hathach/tinyusb/pull/3145
- Add NUCLEO-H7S3L8 BSP by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2960
- Add STM32N657 Nucleo Board support by @james-advatek in https://github.com/hathach/tinyusb/pull/3140
- uac2: remove support fifo by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3137
- audio_device: Fix data IN endpoints with implicit feedback by @Milek7 in https://github.com/hathach/tinyusb/pull/3153
- CHCh Upgrade: Improved FTDI and CP210x support, add PL2303 support, bugfixes by @IngHK in https://github.com/hathach/tinyusb/pull/2488
- MSC Device: Add asynchronous IO support by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2967
- Update buildsystem by @hathach in https://github.com/hathach/tinyusb/pull/3157
- cdc: add uart status notification support. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2593
- Add Host support for ch32v20x usbfs by @verylowfreq in https://github.com/hathach/tinyusb/pull/2793
- fixed vendord_open's tud_vendor_n_write_flush when CFG_TUD_VENDOR > 1 by @YixingShen in https://github.com/hathach/tinyusb/pull/3162
- Add DWC2 cache maintenance routines for STM32 by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2963
- re-add max32666fthr to hil pool by @hathach in https://github.com/hathach/tinyusb/pull/3164
- try to skip passed board in hil test when re-run by @hathach in https://github.com/hathach/tinyusb/pull/3166
- audio: manage ISO transfer in ISR by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3150
- Fix HID descriptor parsing of 4‑byte items by @hathach in https://github.com/hathach/tinyusb/pull/3165
- Add support for SAMD21 HCD by @ChrisDeadman in https://github.com/hathach/tinyusb/pull/2573
- add option to pass symbol defines to ci build.py by @hathach in https://github.com/hathach/tinyusb/pull/3167
- DWC2: fix recurrent suspend ISR without Vbus connected by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2873
- make sure TOTAL_DRIVER_COUNT is not overflow 8-bit by @hathach in https://github.com/hathach/tinyusb/pull/2987
- Feature/add tusb teardown by @hathach in https://github.com/hathach/tinyusb/pull/3168
- feature(tusb): Added tusb_teardown() by @roma-jam in https://github.com/hathach/tinyusb/pull/2904
- add tud_msc_inquiry2_cb() for full inquiry response by @hathach in https://github.com/hathach/tinyusb/pull/3172
- Fix compilation when CH34X support is disabled by @elipsitz in https://github.com/hathach/tinyusb/pull/3175
- Report CH32V305 as working by @rhgndf in https://github.com/hathach/tinyusb/pull/3179
- bsp/h7rs: fix a typo by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3182
- feature(usbtmc): add support for usbtmc vendor-spicific command messages by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3173
- feature(usbtmc): add support for usbtmc vendor-spicific command messages by @moritz-fivi in https://github.com/hathach/tinyusb/pull/3115
- Add nanoch32v305 by @rhgndf in https://github.com/hathach/tinyusb/pull/3186
- support at32 mcu (2) by @hathach in https://github.com/hathach/tinyusb/pull/3191
- support at32 mcu by @ning3270455369 in https://github.com/hathach/tinyusb/pull/3163
- update doc for at32 by @hathach in https://github.com/hathach/tinyusb/pull/3194
- add bufsize to tud_msc_inquiry2_cb() by @hathach in https://github.com/hathach/tinyusb/pull/3195
- Fix #3159: Handle MIDI interface after audio streaming interface by @rppicomidi in https://github.com/hathach/tinyusb/pull/3183
- Rewrite of the web_serial example website. by @raldone01 in https://github.com/hathach/tinyusb/pull/3091
- fix tud_audio_set_itf_close_EP_cb() typo by @hathach in https://github.com/hathach/tinyusb/pull/3197
- Fix AT32F405xx missing USB HS definition by @peppapighs in https://github.com/hathach/tinyusb/pull/3200
- fix rp2 iso transfer with new audio driver by @hathach in https://github.com/hathach/tinyusb/pull/3203
- dhcp: Fix DHCP_OFFER/DHCP_ACK destinaton. by @s09289728096 in https://github.com/hathach/tinyusb/pull/3187
- Fix osal_spin_unlock for mynewt by @kasjer in https://github.com/hathach/tinyusb/pull/3227
- Add ESP32-C5 and ESP32-C61 definitions by @tannewt in https://github.com/hathach/tinyusb/pull/3217
- fix(dcd/dwc2): Fix reset procedure for versions >=4.20a by @tore-espressif in https://github.com/hathach/tinyusb/pull/3228
- Fix STM32L4 GPIOD clock enable for variants without GPIOD by @martijnvdwoude in https://github.com/hathach/tinyusb/pull/3210
- Add weact blackpill support by @rhgndf in https://github.com/hathach/tinyusb/pull/3211
- Improve compatibility in CH32V20x USBFS Host by @verylowfreq in https://github.com/hathach/tinyusb/pull/3225
- update at32f405 dwc2 info and phy width selection by @hathach in https://github.com/hathach/tinyusb/pull/3206
- Add Consumer Usage Page Codes by @ohmdelta in https://github.com/hathach/tinyusb/pull/3221
- Fix obsolete cnt assignment in _tu_fifo_peek() overflow check by @Copilot in https://github.com/hathach/tinyusb/pull/3230
- Update all STM32 CMSIS and HAL dependencies to fix HSITRIM register bug by @Copilot in https://github.com/hathach/tinyusb/pull/3235
- update pio-usb by @hathach in https://github.com/hathach/tinyusb/pull/3237
- Create comprehensive GitHub Copilot instructions and fix pre-commit configuration for TinyUSB by @Copilot in https://github.com/hathach/tinyusb/pull/3234
- modified the bsp files of at32 to make them work better by @ning3270455369 in https://github.com/hathach/tinyusb/pull/3236
- STM32N6570-DK support is added by @armusin in https://github.com/hathach/tinyusb/pull/3226
- fix #3239: discard poorly formed packets by @rppicomidi in https://github.com/hathach/tinyusb/pull/3240
- [stm32] Wait until the PHYC PLL is stable by @salkinium in https://github.com/hathach/tinyusb/pull/3126
- Added NUCLEO-WBA65RI evaluation board support by @Dolphindalt in https://github.com/hathach/tinyusb/pull/3245
- stm32_fsdev: Allow configuring single-buffered isochronous endpoints. by @Milek7 in https://github.com/hathach/tinyusb/pull/3152
- Fix AT32 compile after #3152 by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3247
- ehci: fix device removal and endpoint open on next plug by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3246
- dwc2: wait for ahb idle before core reset by @hathach in https://github.com/hathach/tinyusb/pull/3251
- Add ESP32-H4 as a supported MCU in TinyUSB and wire it into build/run… by @igi540 in https://github.com/hathach/tinyusb/pull/3252
- use existing overloadable Pico SDK section macro instead of creating a custom one by @majbthrd in https://github.com/hathach/tinyusb/pull/3255
- Fix table display issue in README.rst by @Isoheptane in https://github.com/hathach/tinyusb/pull/3258
- Fix erroneous documentation of TU_ASSERT/TU_VERIFY by @terjr in https://github.com/hathach/tinyusb/pull/3259
- Add HID Usage Page and Table for Power Devices (0x84 - 0x85) by @ludoux in https://github.com/hathach/tinyusb/pull/3265
- Migrate weak function override to new syntax, update delay api usage by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3256
- audio: simplify alt settings management by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3266
- bsp: Add STM32U083C-DK board by @HiFiPhile in https://github.com/hathach/tinyusb/pull/3268
- examples: make: fix LOGGER=rtt by @karlp in https://github.com/hathach/tinyusb/pull/3269
- Add Claude Code GitHub Workflow by @hathach in https://github.com/hathach/tinyusb/pull/3272
- remove claude-code-review.yml by @hathach in https://github.com/hathach/tinyusb/pull/3274
- Add support for MTP device class by @roundby in https://github.com/hathach/tinyusb/pull/3023
- remove claude code workflow by @hathach in https://github.com/hathach/tinyusb/pull/3277
- update for release 0.19.0 by @hathach in https://github.com/hathach/tinyusb/pull/3276
New Contributors
- @PwnVerse made their first contribution in https://github.com/hathach/tinyusb/pull/2939
- @ho-ho-ho made their first contribution in https://github.com/hathach/tinyusb/pull/2959
- @JannisKonradBecker made their first contribution in https://github.com/hathach/tinyusb/pull/2976
- @jay94ks made their first contribution in https://github.com/hathach/tinyusb/pull/2911
- @atoktoto made their first contribution in https://github.com/hathach/tinyusb/pull/1627
- @Cynventria made their first contribution in https://github.com/hathach/tinyusb/pull/3020
- @maximevince made their first contribution in https://github.com/hathach/tinyusb/pull/3063
- @Dazza0 made their first contribution in https://github.com/hathach/tinyusb/pull/3015
- @deshipu made their first contribution in https://github.com/hathach/tinyusb/pull/3014
- @byteit101 made their first contribution in https://github.com/hathach/tinyusb/pull/3079
- @joelpmichael made their first contribution in https://github.com/hathach/tinyusb/pull/3084
- @fenugrec made their first contribution in https://github.com/hathach/tinyusb/pull/3095
- @ehughes made their first contribution in https://github.com/hathach/tinyusb/pull/3100
- @ZakDanger made their first contribution in https://github.com/hathach/tinyusb/pull/3118
- @ceedriic made their first contribution in https://github.com/hathach/tinyusb/pull/3143
- @james-advatek made their first contribution in https://github.com/hathach/tinyusb/pull/3140
- @Milek7 made their first contribution in https://github.com/hathach/tinyusb/pull/3153
- @verylowfreq made their first contribution in https://github.com/hathach/tinyusb/pull/2793
- @elipsitz made their first contribution in https://github.com/hathach/tinyusb/pull/3175
- @rhgndf made their first contribution in https://github.com/hathach/tinyusb/pull/3179
- @moritz-fivi made their first contribution in https://github.com/hathach/tinyusb/pull/3115
- @ning3270455369 made their first contribution in https://github.com/hathach/tinyusb/pull/3163
- @raldone01 made their first contribution in https://github.com/hathach/tinyusb/pull/3091
- @peppapighs made their first contribution in https://github.com/hathach/tinyusb/pull/3200
- @s09289728096 made their first contribution in https://github.com/hathach/tinyusb/pull/3187
- @martijnvdwoude made their first contribution in https://github.com/hathach/tinyusb/pull/3210
- @ohmdelta made their first contribution in https://github.com/hathach/tinyusb/pull/3221
- @Copilot made their first contribution in https://github.com/hathach/tinyusb/pull/3230
- @armusin made their first contribution in https://github.com/hathach/tinyusb/pull/3226
- @Dolphindalt made their first contribution in https://github.com/hathach/tinyusb/pull/3245
- @igi540 made their first contribution in https://github.com/hathach/tinyusb/pull/3252
- @Isoheptane made their first contribution in https://github.com/hathach/tinyusb/pull/3258
- @terjr made their first contribution in https://github.com/hathach/tinyusb/pull/3259
- @ludoux made their first contribution in https://github.com/hathach/tinyusb/pull/3265
- @karlp made their first contribution in https://github.com/hathach/tinyusb/pull/3269
- @roundby made their first contribution in https://github.com/hathach/tinyusb/pull/3023
Full Changelog: https://github.com/hathach/tinyusb/compare/0.18.0...0.19.0