# 0.18.0 *December 25, 2024* ## General - New MCUs: - Add esp32p4 OTG highspeed support - Add stm32 u0, c0, h7rs - Better support dcache, make sure all usb-transferred buffer are cache line aligned and occupy full cache line - Build ARM IAR with CircleCI - Improve HIL with `dual/host_info_to_device_cdc` optional for pico/pico2, enable dwc2 dma test ## API Changes - Change signature of `tusb_init(rhport, tusb_rhport_init_t*)`, `tusb_init(void)` is now deprecated but still available for backward compatibility - Add new `tusb_int_handler(rhport, in_isr)` - Add time-related APIs: `tusb_time_millis_api()` and `tusb_time_delay_ms_api()` for non-RTOS, required for some ports/configuration ### New configuration macros - `CFG_TUD/TUH_MEM_DCACHE_ENABLE` enable data cache sync for endpoint buffer - `CFG_TUD/TUH_MEM_DCACHE_LINE_SIZE` set cache line size - `CFG_TUD/TUH_DWC2_SLAVE_ENABLE` enable dwc2 slave mode - `CFG_TUD/TUH_DWC2_DMA_ENABLE` enable dwc2 dma mode ## Controller Driver (DCD & HCD) ### DWC2 - Add DMA support for both device and host controller - Add host driver support including: full/high speed, control/bulk/interrupt (CBI) transfer, split CBI i.e FS/LS attached via highspeed hub, hub support ### RP2 - implement `dcd_edpt_iso_alloc()` and `dcd_edpt_iso_activate()` for isochronous endpoint ### iMXRT1170 - support M4 core ## Device Stack - Vendor Fix class reset - NCM fix recursions in `tud_network_recv_renew()` - Audio fix align issue of `_audiod_fct.alt_setting` - UVC support format frame based - Change `dcd_dcache_()` return type from void to bool - HID add Usage Table for Physical Input Device Page (0x0F) ## Host Stack - Fix an duplicated attach issue which cause USBH Defer Attach until current enumeration complete message ## Contributors Thanks to everyone who contributed to this release: @bollenn, @chintal, @DavidEGrayson, @GuavTek, @hathach, @HiFiPhile, @lijunru-hub, @Maerdl, @pschatzmann, @rgrr, @roma-jam, @shdeb, @shuffle2, @subsonicpulse, @tannewt, @UweBonnes, @YixingShen.