
Work In Progress
| NuttX X.Y has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX. There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK |
What's New In This Release
Major Changes to Core OS
Sched
* [#15129](https://github.com/apache/nuttx/pull/15129) sched_processtimer: use atomic to protect g_timer_interval and g_timer_tick
* [#15130](https://github.com/apache/nuttx/pull/15130) sched/wdog: use small lock to protect g_wdactivelist
* [#15136](https://github.com/apache/nuttx/pull/15136) clock_timekeeping: remove enter_critical_section in sched/clock/clock_timekeeping.c
* [#15139](https://github.com/apache/nuttx/pull/15139) sched/clock: call up_timer_gettime() to get higher resolution
* [#15151](https://github.com/apache/nuttx/pull/15151) sched/clock: cleanup g_system_ticks reference if arch timer is enabled
* [#15324](https://github.com/apache/nuttx/pull/15324) sched: remove spin_lock_irqsave(NULL) support
* [#15346](https://github.com/apache/nuttx/pull/15346) sched/event: init deleted node to avoid null pointer reference
* [#15377](https://github.com/apache/nuttx/pull/15377) sched/semaphore: tick wait 0 timeout should be safe in interrupt context
* [#15415](https://github.com/apache/nuttx/pull/15415) sched: remove all spin_lock_irqsave(NULL)
* [#15509](https://github.com/apache/nuttx/pull/15509) Revert "sched: misc: Remove sched_lock in _assert()"
* [#15518](https://github.com/apache/nuttx/pull/15518) sched/clock: remove unlock logic to avoid relock
* [#15561](https://github.com/apache/nuttx/pull/15561) sched/timer: remove critical section
* [#15575](https://github.com/apache/nuttx/pull/15575) sched/wqueue: fix potential deadlock
* [#15576](https://github.com/apache/nuttx/pull/15576) sched/wdog: remove wd_cancel_irq() implement
* [#15587](https://github.com/apache/nuttx/pull/15587) sched/wqueue: some minor improve to reduce sched_lock range
* [#15589](https://github.com/apache/nuttx/pull/15589) sched/mqueue/CMakeLists.txt: fix compilation for CONFIG_DISABLE_MQUEUE_SYSV=n
* [#15686](https://github.com/apache/nuttx/pull/15686) No need to call sched_lock explicitly after call spin_lock_irqsave, s…
* [#15862](https://github.com/apache/nuttx/pull/15862) sched/spin_lock: continue work to rename raw_spin* to spin_*_notrace |
mm
* [#15384](https://github.com/apache/nuttx/pull/15384) mm: Unified memory management alignment length
* [#15490](https://github.com/apache/nuttx/pull/15490) mm: Add mm_lock_irq, mm_unlock_iq
* [#15761](https://github.com/apache/nuttx/pull/15761) nxgdb/mm: show pool expand queue size |
libc
* [#15104](https://github.com/apache/nuttx/pull/15104) libs/libc: add a option to disable path buffer by default
* [#15120](https://github.com/apache/nuttx/pull/15120) libc/chdir: chdir/fchdir should not depend on environment variables
* [#15125](https://github.com/apache/nuttx/pull/15125) libc/chdir: replace heap alloc to path buffer to improve performance
* [#15197](https://github.com/apache/nuttx/pull/15197) libs/libc/stdlib: update BSD 4 -> 3 clause license headers.
* [#15198](https://github.com/apache/nuttx/pull/15198) lib_pathbuffer.c:Use atomic instead of locks
* [#15210](https://github.com/apache/nuttx/pull/15210) libxx: Make LIBCXXABI default for sim/macOS
* [#15328](https://github.com/apache/nuttx/pull/15328) libc/machine: fix config error
* [#15407](https://github.com/apache/nuttx/pull/15407) libs/gdbstub fixes
* [#15551](https://github.com/apache/nuttx/pull/15551) libc/unistd: move NAME_MAX/LINE_MAX/PATH_MAX define to unistd
* [#15578](https://github.com/apache/nuttx/pull/15578) libs/lib_tempbuffer: set `errno` when fails
* [#15581](https://github.com/apache/nuttx/pull/15581) libc/gnssutils: remove C99 standard flag from Make.defs
* [#15627](https://github.com/apache/nuttx/pull/15627) fix(libc): lib_strftime %F month number off-by-one
* [#15772](https://github.com/apache/nuttx/pull/15772) libc/wcsrtombs: Fix the wcsrtombs() according to the POSIX standard
* [#15830](https://github.com/apache/nuttx/pull/15830) libs/libc/modlib/modlib_bind.c: Fix system crash if modlib_bind fails
* [#15865](https://github.com/apache/nuttx/pull/15865) libc/libcxx: fix failures with GCC 14
* [#15868](https://github.com/apache/nuttx/pull/15868) libs/libnx: do not generate resource if CONFIG_NX is not enabled |
tools
* [#15847](https://github.com/apache/nuttx/pull/15847) tools/nxstyle: handle case statement
* [#15740](https://github.com/apache/nuttx/pull/15740) tools: rename GDB plugin to pynuttx/nxgdb and enable PyPI packaging
* [#15542](https://github.com/apache/nuttx/pull/15542) tools/refresh.sh: Add log for progress
* [#15531](https://github.com/apache/nuttx/pull/15531) tools/refresh.sh: Should continue to refresh other configs when matching debug configs
* [#15492](https://github.com/apache/nuttx/pull/15492) tools/nxstyle.c: Add missing zlib function names to white list
* [#15304](https://github.com/apache/nuttx/pull/15304) tools/Unix.mk: Add debug_info target to print nxdiag output
* [#15694](https://github.com/apache/nuttx/pull/15694) tools/mkexport: kernel mode module/elf flags
* [#15696](https://github.com/apache/nuttx/pull/15696) tools: Export LLVM flags for kernel build
* [#15697](https://github.com/apache/nuttx/pull/15697) tools: Export ZIG/ZIGFLAGS in Export.mk instead |
various
* [#15123](https://github.com/apache/nuttx/pull/15123) binfmt/modlib: reduce size of binary_s if CONFIG_LIBC_MODLIB is disabled
* [#15124](https://github.com/apache/nuttx/pull/15124) binfmt/loadable: move binary_s to stack to avoid access allocator
* [#15756](https://github.com/apache/nuttx/pull/15756) include/stdlib.h: define system()'s prototype for the flat build
* [#15640](https://github.com/apache/nuttx/pull/15640) modlib/meminfo: trivial revision on logging/dump
* [#15588](https://github.com/apache/nuttx/pull/15588) modlib: fix armv7a w/ unified gnu-elf.ld.in
* [#15527](https://github.com/apache/nuttx/pull/15527) modlib:gnu-elf.ld.in load exe elf data section mismatch
* [#15494](https://github.com/apache/nuttx/pull/15494) kconfiglib/mark: It should use pip instead of apt install* [#15722](https://github.com/apache/nuttx/pull/15722) gdb/wdog: add basic wdog dump command
* [#15723](https://github.com/apache/nuttx/pull/15723) gdb/workqueue: add basic workqueue dump support
* [#15726](https://github.com/apache/nuttx/pull/15726) gdb: add tool to check heap memory corruption
* [#15613](https://github.com/apache/nuttx/pull/15613) gdbstub: add const to send buffer
* [#15618](https://github.com/apache/nuttx/pull/15618) gdbstub: typo and log fixes
* [#15623](https://github.com/apache/nuttx/pull/15623) Gdbstub support binary memory read
* [#15759](https://github.com/apache/nuttx/pull/15759) gdbstub: fix memory binary upload on latest GDB
* [#15777](https://github.com/apache/nuttx/pull/15777) Nxgdb mm minor fixes
* [#15742](https://github.com/apache/nuttx/pull/15742) nxgdb/fs: simpifiy inode print and add more command options
* [#15743](https://github.com/apache/nuttx/pull/15743) nxgdb/irq: add irqinfo command
* [#15744](https://github.com/apache/nuttx/pull/15744) nxgdb/memdump: add free command
* [#15745](https://github.com/apache/nuttx/pull/15745) Nxgdb memleak optimization |
Major Changes to the Build System
Bug Fixes
* [#15091](https://github.com/apache/nuttx/pull/15091) build(CMAKE): fix pac sim elf ONLY in Linux platform
* [#15702](https://github.com/apache/nuttx/pull/15702) build: CMake fix for sim:btuart
* [#15848](https://github.com/apache/nuttx/pull/15848) nuttx/compiler: fix build warning on GCC14
* [#15185](https://github.com/apache/nuttx/pull/15185) [cmake] windows native: fixed FAILED: System.map
* [#15594](https://github.com/apache/nuttx/pull/15594) cmake/mkconfig: add support of set custom command options to config.h
* [#15596](https://github.com/apache/nuttx/pull/15596) cmake: Use EXTRAFLAGS to define customized compilation options
* [#15655](https://github.com/apache/nuttx/pull/15655) [cmake] savedefconfig.cmake: fix EOL changes to defconfig files on Windows native
* [#15775](https://github.com/apache/nuttx/pull/15775) cmake/pic: sync pic related compiler flags from makefile |
Architectural Support
New Architecture Support
* [#15879](https://github.com/apache/nuttx/pull/15879) arch/mcx-nxxx: Add support for NXP MCX-N236 CPU |
Architecture Improvements
* [#15584](https://github.com/apache/nuttx/pull/15584) arch/Kconfig: allow FLASH config w/o MMU
* [#15072](https://github.com/apache/nuttx/pull/15072) arch: mem barrier interface Align with riscv
* [#15651](https://github.com/apache/nuttx/pull/15651) arch: set (*running_task)->xcp.regs to NULL when exit from irq/exception
* [#15669](https://github.com/apache/nuttx/pull/15669) arch: select LIBC_ARCH_ELF when using COREDUMP
* [#15728](https://github.com/apache/nuttx/pull/15728) arch: Remove the abuse of spinlock in smp boot
* [#15769](https://github.com/apache/nuttx/pull/15769) arch/zynq-mpsoc improve the ethernet driver
* [#15908](https://github.com/apache/nuttx/pull/15908) arch/mcx-nxxx: Add GPIO interrupt support
* [#15892](https://github.com/apache/nuttx/pull/15892) arch/ra4: Add support for Renesas RA4M1 MCU
* [#15400](https://github.com/apache/nuttx/pull/15400) arch/qemu-armv7a: kernel mode cmake support
|
ARM
* [#15486](https://github.com/apache/nuttx/pull/15486) arch/arm: Add LLVM configuration to CMake
* [#15517](https://github.com/apache/nuttx/pull/15517) arch/arm: fix regression by spinlock change
* [#15762](https://github.com/apache/nuttx/pull/15762) arch/arm: add semihosting poweroff
* [#15529](https://github.com/apache/nuttx/pull/15529) arch/armv7a: fix vfork for KERNEL build
* [#15585](https://github.com/apache/nuttx/pull/15585) arch/armv7-r: fix gic.h build error
* [#15800](https://github.com/apache/nuttx/pull/15800) arch/armv7-r: PROTECTED mode support (1/2)
* [#15813](https://github.com/apache/nuttx/pull/15813) arch/armv7-r: PROTECTED mode support (2/2)
* [#15870](https://github.com/apache/nuttx/pull/15870) arch: cxd56xx: Fix i2c bus freeze at i2c initialization
* [#15092](https://github.com/apache/nuttx/pull/15092) arch: cxd56xx: : use small lock in arch/arm/src/cxd56xx/cxd56_rtc.c
* [#15166](https://github.com/apache/nuttx/pull/15166) arch: cxd56xx: Fix not restart after TX error
* [#15884](https://github.com/apache/nuttx/pull/15884) arch: cxd56xx: Update delay value for subcore
* [#15837](https://github.com/apache/nuttx/pull/15837) arch/arm/max326xx: add max32690 gpio driver
* [#15504](https://github.com/apache/nuttx/pull/15504) arch/arm/rp23xx: Set priority for svcall exception
* [#15781](https://github.com/apache/nuttx/pull/15781) arch/arm/samv7/sam_tc_lowerhalf.c: do not set the CPCSTOP bit
* [#15583](https://github.com/apache/nuttx/pull/15583) Add STM32H5 Ethernet Driver
* [#15351](https://github.com/apache/nuttx/pull/15351) Add STM32H5 QSPI Driver
* [#15271](https://github.com/apache/nuttx/pull/15271) Add Hardware Defines for STM32H5 QSPI Driver
* [#15411](https://github.com/apache/nuttx/pull/15411) Add FDCAN Character Driver to STM32H5 Architecture
* [#15495](https://github.com/apache/nuttx/pull/15495) Add Timer Support to STM32H5 ADC Driver
* [#15420](https://github.com/apache/nuttx/pull/15420) arch/arm/stm32/: Fix I2C to support STM32G4 devices.
* [#15421](https://github.com/apache/nuttx/pull/15421) arch/arm/stm32/: Added enable/disable to timer low level ops.
* [#15458](https://github.com/apache/nuttx/pull/15458) arch/arm/stm32: fix stm32g4 enable pll code.
* [#15473](https://github.com/apache/nuttx/pull/15473) arch/arm/stm32/i2c: raise compilation error when configuration is invalid
* [#15872](https://github.com/apache/nuttx/pull/15872) arch/arm/tiva: Add complementary PWM mode support
* [#15093](https://github.com/apache/nuttx/pull/15093) lc823450_dma: use small lock in arch/arm/src/lc823450/lc823450_dma.c
* [#15094](https://github.com/apache/nuttx/pull/15094) max32660_rtc: use small lock in arch/arm/src/max326xx/max32660/max32660_rtc.c
* [#15096](https://github.com/apache/nuttx/pull/15096) s32k3xx_serial: use small lock in arch/arm/src/s32k3xx/s32k3xx_serial.c
* [#15222](https://github.com/apache/nuttx/pull/15222) lc823450_rtc: use small lock in arch/arm/src/lc823450/lc823450_rtc.c
* [#15255](https://github.com/apache/nuttx/pull/15255) at32_serial: use small lock in arch/arm/src/at32/at32_serial.c
* [#15263](https://github.com/apache/nuttx/pull/15263) imx_gpio: use small lock in arch/arm/src/imx6/imx_gpio.c |
ARM64
* [#15748](https://github.com/apache/nuttx/pull/15748) arch/arm64 Fix the SP unalignment issues
* [#15758](https://github.com/apache/nuttx/pull/15758) arch/arm64: generate error if context size is not aligned to 16bytes
* [#15646](https://github.com/apache/nuttx/pull/15646) arch/arm64/src/imx9/imx9_lpuart.c: Call uart_xmitchars when txint is enabled
* [#15519](https://github.com/apache/nuttx/pull/15519) arch/arm64: fix typo spin_lock_irqsave -> spin_unlock_irqrestore
* [#15901](https://github.com/apache/nuttx/pull/15901) arch/arm64: fix boot stage prints with CONFIG_ARCH_EARLY_PRINT=y
* [#15083](https://github.com/apache/nuttx/pull/15083) arch/arm64/src/imx9/imx9_usdhc.c: Simplify eventwait logic and remove…
* [#15843](https://github.com/apache/nuttx/pull/15843) arch/arm/imx9: scmi: update to scmi 3.2 spec
* [#15290](https://github.com/apache/nuttx/pull/15290) imx9_flexcan: use small lock in arch/arm/src/imx9/imx9_flexcan.c
* [#15291](https://github.com/apache/nuttx/pull/15291) imx9_lpuart: use small lock in arch/arm(64)/src/imx9/imx9_lpuart.c
* [#15144](https://github.com/apache/nuttx/pull/15144) arch/arm64/imx9: Fix usdhc dma receive |
sim
* [#15209](https://github.com/apache/nuttx/pull/15209) sim: Fix build errors on macOS
* [#15341](https://github.com/apache/nuttx/pull/15341) sim_alsa: set paused to false when executing close
* [#15661](https://github.com/apache/nuttx/pull/15661) sim/posix/uart: add host_printf() to debug some critical issue
* [#15706](https://github.com/apache/nuttx/pull/15706) sim: Align LLVM target info across CMake and Makefile
* [#15645](https://github.com/apache/nuttx/pull/15645) sim/rpmsg_uart: add sim rpmsg uart support
* [#15639](https://github.com/apache/nuttx/pull/15639) sim/virtio: fix typo sim_rpmsg_vritio.c -> sim_rpmsg_virtio.c
* [#15633](https://github.com/apache/nuttx/pull/15633) sim/nsh: enable debug assertion by default
* [#15586](https://github.com/apache/nuttx/pull/15586) sim: fix regression from https://github.com/apache/nuttx/pull/14623
* [#15552](https://github.com/apache/nuttx/pull/15552) sim_hostfs:add host_errno_convert API for convert result
* [#15500](https://github.com/apache/nuttx/pull/15500) sim: Fixes the linker 'noexecstack' warning
* [#15463](https://github.com/apache/nuttx/pull/15463) sim:citest: Bump the nsh line length
* [#15453](https://github.com/apache/nuttx/pull/15453) sim: Disable chained fixups for sim_macho_init.c
* [#15418](https://github.com/apache/nuttx/pull/15418) sim/oneshot: Remove redundant variables.
* [#15226](https://github.com/apache/nuttx/pull/15226) arch/sim/src/nuttx-names.in: Add pipe2 |
X86_64
* [#15409](https://github.com/apache/nuttx/pull/15409) arch/intel64: allow to attach handlers to ISR
* [#15325](https://github.com/apache/nuttx/pull/15325) arch/x86_64:g_current_regs is only used to determine if we are in irq,
* [#15392](https://github.com/apache/nuttx/pull/15392) arch/x86_64: The interrupt context flag is stored in the CPU private …
* [#15398](https://github.com/apache/nuttx/pull/15398) arch/x86_64: this_task is stored in the CPU private data
* [#15408](https://github.com/apache/nuttx/pull/15408) arch/x86_64/include/intel64/irq.h: align definitions
* [#15508](https://github.com/apache/nuttx/pull/15508) arch/x86_64:Resolve the issue of abnormal interrupt numbers triggered when KASAN is enabled |
Xtensa
* [#15741](https://github.com/apache/nuttx/pull/15741) arch/xtensa: Add --print-memory-usage to LDFLAGS in Toolchain.defs
* [#15404](https://github.com/apache/nuttx/pull/15404) arch/xtensa: enable SPIRAM test during boot of ESP32|S3
* [#15080](https://github.com/apache/nuttx/pull/15080) xtensa/esp32: encrypted MTD for partition offset
* [#15082](https://github.com/apache/nuttx/pull/15082) xtensa/esp32s3: add lock for async operation work
* [#15232](https://github.com/apache/nuttx/pull/15232) esp32_rtc: use small lock in arch/xtensa/src/esp32s2/esp32s2_rtc.c
* [#15221](https://github.com/apache/nuttx/pull/15221) esp32s3_rtc: use small lock in arch/xtensa/src/esp32s3/esp32s3_rtc.c
* [#15470](https://github.com/apache/nuttx/pull/15470) arch/esp32s3_partition: Read data from SPI Flash with decryption
* [#15269](https://github.com/apache/nuttx/pull/15269) arch/xtensa: Support `__thread` and `thread_local` keywords |
Risc-v
* [#15895](https://github.com/apache/nuttx/pull/15895) riscv/esp32c6: Fix issue related esp32c6 usbserial driver.
* [#15763](https://github.com/apache/nuttx/pull/15763) arch/risc-v/Kconfig: Select ARCH_RV_CPUID_MAP for all mpfs targets
* [#15642](https://github.com/apache/nuttx/pull/15642) arch/risc-v/src/mpfs: Disable external interrupts on all SMP harts
* [#15713](https://github.com/apache/nuttx/pull/15713) arch/risc-v/src/mpfs/mpfs_cache.c: Move l2zerodevice to use cache ways starting from 0
* [#15725](https://github.com/apache/nuttx/pull/15725) arch/risc-v/src/common/riscv_backtrace.c: Fix "error: pointer of type 'void *' used in arithmetic"
* [#15819](https://github.com/apache/nuttx/pull/15819) mpfs_i2c: Tweaks and fixes for the i2c driver
* [#15469](https://github.com/apache/nuttx/pull/15469) arch/risc-v: Improve LLVM CPU type detection with findstring
* [#15475](https://github.com/apache/nuttx/pull/15475) arch/risc-v: Refactor LLVM CPU type handling in Toolchain.cmake
* [#15537](https://github.com/apache/nuttx/pull/15537) arch/risc-v: Decouple ARCH_RV_CPUID_MAP and up_cpu_index()
* [#15540](https://github.com/apache/nuttx/pull/15540) arch/risc-v: Remove riscv_mhartid
* [#15381](https://github.com/apache/nuttx/pull/15381) arch/risc-v: inline up_cpu_index if RISCV_PERCPU_SCRATCH is not enabled
* [#15396](https://github.com/apache/nuttx/pull/15396) arch/risc-v: Make CPU index handling based on ARCH_RV_CPUID_MAP
* [#15294](https://github.com/apache/nuttx/pull/15294) arch/risc-v/espressif: add missing spinlock to wlan_recvframe
* [#15084](https://github.com/apache/nuttx/pull/15084) risc-v/mpfs: make cache clearing optional
* [#15835](https://github.com/apache/nuttx/pull/15835) arch/risc-v: move stack boundary check into backtrace
* [#15878](https://github.com/apache/nuttx/pull/15878) arch/risc-v/src/mpfs: Move PLIC interrupt enable/disable to mpfs_plic and handle pending interrupts
* [#15886](https://github.com/apache/nuttx/pull/15886) arch/risc-v/src/mpfs: Implement wrcomplete support for coremmc driver
* [#15910](https://github.com/apache/nuttx/pull/15910) arch/risc-v: Add ARCH_HAVE_RAMFUNCS to ESP32-C6 and ESP32-H2
* [#15097](https://github.com/apache/nuttx/pull/15097) litex_serial: use small lock in arch/risc-v/src/litex/litex_serial.c
* [#15225](https://github.com/apache/nuttx/pull/15225) esp32c3_rtc: use small lock in arch/risc-v/src/esp32c3-legacy/esp32c3_rtc.c
* [#15267](https://github.com/apache/nuttx/pull/15267) esp_rtc: use small lock in arch/risc-v/src/common/espressif/esp_rtc.c |
Driver Support
New Driver Support
* [#15295](https://github.com/apache/nuttx/pull/15295) nuttx/audio: add fake audio driver.
* [#15307](https://github.com/apache/nuttx/pull/15307) drivers/sensors: Add support to Renesas FS3000 Air Velocity Flow
* [#15332](https://github.com/apache/nuttx/pull/15332) risc-v/bl808: Add I2C driver
* [#15496](https://github.com/apache/nuttx/pull/15496) drivers/sensors/bmi088: add driver for Bosch BMI088 IMU
* [#15525](https://github.com/apache/nuttx/pull/15525) drivers/sensors: Wrote a driver for the MCP9600 thermocouple amplifier.
* [#15795](https://github.com/apache/nuttx/pull/15795) drivers/wireless/lpwan/sx126x: Initial standalone sx126x driver |
Drivers With Significant Improvements
* [#15293](https://github.com/apache/nuttx/pull/15293) drivers/sensors: Add Velocity sensor type to UORB
* [#15339](https://github.com/apache/nuttx/pull/15339) Drivers/thermal: Fix hysteresis takes no effect error
* [#15340](https://github.com/apache/nuttx/pull/15340) drivers/e1000: malloc size error
* [#15342](https://github.com/apache/nuttx/pull/15342) drivers/sensors/gnss: Fix deactivate failure when using both topic and device
* [#15387](https://github.com/apache/nuttx/pull/15387) drivers/timers/watchdog: add watchdog timer notifier chain
* [#15406](https://github.com/apache/nuttx/pull/15406) drivers/serial: simplify 16550_PCI_UARTx_CLOCK config
* [#15410](https://github.com/apache/nuttx/pull/15410) virtio-rng: Register /dev/urandom driver if CONFIG_DEV_URANDOM=y
* [#15440](https://github.com/apache/nuttx/pull/15440) drivers/video: add BRGA8888 support for goldfish gpu fb
* [#15448](https://github.com/apache/nuttx/pull/15448) drivers/sensors/gnss: Fix integer overflow error
* [#15468](https://github.com/apache/nuttx/pull/15468) drivers/sensors/gnss: Macro `UINT8_MAX` for maximum value of `uint8_t crefs
* [#15485](https://github.com/apache/nuttx/pull/15485) drivers/usbdev/cdcacm.c: Fix a crash in cdcacm if usbdev gets unregistered while client calls close for the tty
* [#15498](https://github.com/apache/nuttx/pull/15498) drivers/vhost: fix compile error while get vhost status.
* [#15520](https://github.com/apache/nuttx/pull/15520) drivers/note: fix typo falgs and align local name to irq_mask
* [#15564](https://github.com/apache/nuttx/pull/15564) drivers/can: ctucanfd the first round of fixes - mainly for char dev
* [#15610](https://github.com/apache/nuttx/pull/15610) drivers/sensor: add new sensot type to align android sensor type
* [#15612](https://github.com/apache/nuttx/pull/15612) drivers: mcp23x08 add missing header and fix some defines
* [#15629](https://github.com/apache/nuttx/pull/15629) drivers/iovec: revert vector io implement from loop/null/zero driver
* [#15641](https://github.com/apache/nuttx/pull/15641) drivers/rpmsg: fix compiler warning
* [#15654](https://github.com/apache/nuttx/pull/15654) drivers/rpmsg: update format string
* [#15663](https://github.com/apache/nuttx/pull/15663) drivers/rpmsg_port_uart: remove debug message of datalen
* [#15703](https://github.com/apache/nuttx/pull/15703) LIS2MDL UORB driver
* [#15789](https://github.com/apache/nuttx/pull/15789) drivers/sensors: Added uORB driver for LSM6DSO32 IMU.
* [#15799](https://github.com/apache/nuttx/pull/15799) drivers/devicetree: merge ioresource MEM64 to prefetchable memory
* [#15811](https://github.com/apache/nuttx/pull/15811) drivers/thermal: Add support for passive trip point
* [#15860](https://github.com/apache/nuttx/pull/15860) drivers/sensors/lsm6dso32: fixed byte read command to include start condition
* [#15871](https://github.com/apache/nuttx/pull/15871) drivers/rpmsg/Kconfig: Add SPI dependency for RPMSG_PORT_SPI
* [#15875](https://github.com/apache/nuttx/pull/15875) drivers/sensors/ms56xx: Use nxsig_usleep for long delays.
* [#15882](https://github.com/apache/nuttx/pull/15882) drivers/net: change format specifiers macros on lan9250 driver
* [#15891](https://github.com/apache/nuttx/pull/15891) drivers/thermal/core: Fix work not queued after getting temperature fails
* [#15914](https://github.com/apache/nuttx/pull/15914) drivers/audio/es8311: set proper format specifier for logging
* [#15918](https://github.com/apache/nuttx/pull/15918) drivers/audio/es8388: set proper format specifier macro for logging
* [#14898](https://github.com/apache/nuttx/pull/14898) drivers/serial/serial.c: adapt to the iovec-based api
* [#15142](https://github.com/apache/nuttx/pull/15142) drivers/timers/watchdog: support the configurations of Auto-monitor r…
* [#15145](https://github.com/apache/nuttx/pull/15145) drivers/bch: Drivers may not support command `BIOC_FLUSH`
* [#15824](https://github.com/apache/nuttx/pull/15824) sensors/lsm6dso32: Fixed typo in device address registration.
* [#15573](https://github.com/apache/nuttx/pull/15573) sensors/sht4x: Converted SHT4X driver to UORB framework. |
Board Support
New Board Support
* [#15785](https://github.com/apache/nuttx/pull/15785) esp32[s3]: Add ES8311 support for esp32s3-lcd-ev board
* [#15798](https://github.com/apache/nuttx/pull/15798) boards/arm Add support to Seeed Xiao nRF52840 Board
* [#15867](https://github.com/apache/nuttx/pull/15867) boards/Add ARCH_CHIP_ESP32S3WROOM1N16R8 configuration for ESP32-S3 DevKit |
Boards With Significant Improvements
* [#15539](https://github.com/apache/nuttx/pull/15539) boards: Refresh configurations with refresh.sh
* [#15541](https://github.com/apache/nuttx/pull/15541) boards: Replace `CONFIG_NSH_LINELEN` with `CONFIG_LINE_MAX`
* [#15187](https://github.com/apache/nuttx/pull/15187) boards: add nimble defconfig to esp32c3-generic
* [#15224](https://github.com/apache/nuttx/pull/15224) boards/sim/sim/sim/scripts/Make.defs: simplify a bit
* [#15390](https://github.com/apache/nuttx/pull/15390) boards/risc-v, xtensa: Remove CONFIG_DEV_ZERO
* [#15427](https://github.com/apache/nuttx/pull/15427) board/qemu-armv7a: add board_power_off
* [#15438](https://github.com/apache/nuttx/pull/15438) boards/xtensa: unify linker script for MCUBoot and Simple Boot
* [#15524](https://github.com/apache/nuttx/pull/15524) boards/xtensa: disable DEV_CONSOLE on usbnsh defconfig
* [#15620](https://github.com/apache/nuttx/pull/15620) boards/qemu-armv7r: fix typo
* [#15626](https://github.com/apache/nuttx/pull/15626) boards/qemu-armv7a: revises knsh config
* [#15659](https://github.com/apache/nuttx/pull/15659) nuttx/boards:fix kconfig under apps/testing folder that change config-testing-mm to config-testing-heap
* [#15682](https://github.com/apache/nuttx/pull/15682) boards/linum-stm32h753bi: Fix wrong usbnsh example name
* [#15698](https://github.com/apache/nuttx/pull/15698) boards: Rename CONFIG_TESTING_SENSORTEST to CONFIG_SYSTEM_SENSORTEST
* [#15704](https://github.com/apache/nuttx/pull/15704) boards/qemu-armv7a: revise nsh config
* [#15710](https://github.com/apache/nuttx/pull/15710) boards/linum-stm32h753bi: Fix lvgl example
* [#15724](https://github.com/apache/nuttx/pull/15724) boards/rv-virt: use modlib gnu-elf.ld
* [#15727](https://github.com/apache/nuttx/pull/15727) boards/stm32/nucleo-f429zi: update netnsh defconfig
* [#15750](https://github.com/apache/nuttx/pull/15750) feat: add arch depends for aurix tc397 board
* [#15796](https://github.com/apache/nuttx/pull/15796) boards/linum-stm32h753bi: optimize display timings and memory config
* [#15817](https://github.com/apache/nuttx/pull/15817) boards/stm32l4: Fix all boards to support proper stm32_bringup.c
* [#15832](https://github.com/apache/nuttx/pull/15832) boards/b-g431b-esc1: configure CAN_TERM pin
* [#15833](https://github.com/apache/nuttx/pull/15833) boards/stm32: fix CAN bit timings for boards
* [#15834](https://github.com/apache/nuttx/pull/15834) boards/stm32: enable SocketCAN utils for cansock configs
* [#15836](https://github.com/apache/nuttx/pull/15836) boards/esp32s3-devkit: Initializing configuration for Fastboot
* [#15863](https://github.com/apache/nuttx/pull/15863) board/arm/rp2040: support config st7789 reset gpio pin
* [#15894](https://github.com/apache/nuttx/pull/15894) boards/arm/rp2040/common: Add weak_function to SPI common logic |
File System
Bug Fixes
* [#13519](https://github.com/apache/nuttx/pull/13519) fs/reference_count: set default reference count option depends on DISABLE_PTHREAD
* [#14444](https://github.com/apache/nuttx/pull/14444) fs/inode: refresh tcb after each file sync() is completed
* [#15077](https://github.com/apache/nuttx/pull/15077) fs/tmpfs: Skip any slash at the beginning of relpath
* [#15202](https://github.com/apache/nuttx/pull/15202) fs: fix comment in https://github.com/apache/nuttx/pull/15163
* [#15159](https://github.com/apache/nuttx/pull/15159) fs/shm/shmfs_alloc.c: Allocate zero-initialized memory in flat build
* [#15167](https://github.com/apache/nuttx/pull/15167) fs/fat/fs_fat32util.c: fix potential exception due to dividing zero during mounting when fat is corrupted
* [#15203](https://github.com/apache/nuttx/pull/15203) fs: move fl_lock to a more appropriate location
* [#15204](https://github.com/apache/nuttx/pull/15204) fs/littlefs/Make.defs: fix a littlefs unpack regression
* [#15603](https://github.com/apache/nuttx/pull/15603) fs/vfs: initialize uio only if lower implement readv/writev
* [#15814](https://github.com/apache/nuttx/pull/15814) littlefs/cmake: fix compilation flag issue* [#15334](https://github.com/apache/nuttx/pull/15334) littlefs: fix EINVAL on path operations with littlefs 2.10.0
* [#15335](https://github.com/apache/nuttx/pull/15335) bump littlefs to 2.10.1 where 2.10.0 was used |
Networking
Improvements
Bug Fixes
Security Issues Fixed In This Release
Compatibility Concerns
Changes to Build System
Renamed or Modified Kconfig Options
Known Problems In This Release
More Information
How to Download
Release artifacts for all current and past NuttX releases can be downloaded at:
How to Clone the Git Repository
The Apache NuttX project uses Git SCM as its version control system.
There are two primary repositories:
- nuttx - The real time operating system itself.
- apps - Optional applications and example programs for the operating system. You can use this repository or make your own custom one.
The main "Single Source of Truth" repositories are hosted by the ASF:
These are synchronized with repositories hosted at GitHub:
How to Contact the Community
The main forum for project communication, to ask a question, get involved, or contribute to NuttX, is our mailing list, dev@nuttx.apache.org. The list is publicly archived and searchable at https://lists.apache.org/list.html?dev@nuttx.apache.org. For more information, see NuttX Community.
Enthusiastic Contributors Welcome!
NuttX is a free open-source project. If you'd like to participate, whether it's to enhance documentation (even these release notes) or dive into the nitty gritty of some low-level drivers, please join us! You can join the conversation at our dev mailing list by emailing dev-subscribe@nuttx.apache.org. The mailing list is open to the public and archived. You can browse older messages at https://lists.apache.org/list.html?dev@nuttx.apache.org.