
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
* [#12404](https://github.com/apache/nuttx/pull/12404) nuttx/arch.h: Update parameter type to match definition.
* [#12464](https://github.com/apache/nuttx/pull/12464) Revert "sched: replace some global variables to macro"
* [#12175](https://github.com/apache/nuttx/pull/12175) sched: Move dump.c to sched_dumponexit.c
* [#12376](https://github.com/apache/nuttx/pull/12376) sched: remove g_cpu_schedlock g_cpu_irqsetlock g_cpu_locksetlock
* [#12377](https://github.com/apache/nuttx/pull/12377) sched: remove redundant variables "switched"
* [#12031](https://github.com/apache/nuttx/pull/12031) sched: SMP: Fix issues of return values of nxsched_add_readytorun()
* [#12140](https://github.com/apache/nuttx/pull/12140) sched_lock: we can remove these sched_lock,
* [#12009](https://github.com/apache/nuttx/pull/12009) sched/environ: Improve performance of set/unset environment
* [#12114](https://github.com/apache/nuttx/pull/12114) sched/irq: irq_cpu_locked can be remove
* [#12115](https://github.com/apache/nuttx/pull/12115) sched/irq: remove scheduling check in csection
* [#11973](https://github.com/apache/nuttx/pull/11973) sched/irq: spinlock should not depends on SMP
* [#12427](https://github.com/apache/nuttx/pull/12427) sched/kconfig: add PID_INITIAL_LENGTH
* [#12179](https://github.com/apache/nuttx/pull/12179) sched/Kconfig: make disable idle loop configurable
* [#12434](https://github.com/apache/nuttx/pull/12434) sched/Kconfig: waitpid() depends on SCHED_HAVE_PARENT if BUILD_KERNEL
* [#12316](https://github.com/apache/nuttx/pull/12316) sched/misc: dump stack as platform bit width
* [#12319](https://github.com/apache/nuttx/pull/12319) sched/mqueue: add support of tick based send() and receive()
* [#12126](https://github.com/apache/nuttx/pull/12126) sched/mqueue: correct list parameter
* [#12001](https://github.com/apache/nuttx/pull/12001) sched/mqueue: merge System-V message queue initialize into posix
* [#12402](https://github.com/apache/nuttx/pull/12402) sched/mqueue: reclaim unsent message
* [#12315](https://github.com/apache/nuttx/pull/12315) sched/posixspawn: disable tedious logging
* [#12106](https://github.com/apache/nuttx/pull/12106) sched/pthread: detached thread should destroy the join info
* [#12314](https://github.com/apache/nuttx/pull/12314) sched/pthread: pthread_join null pointer
* [#12388](https://github.com/apache/nuttx/pull/12388) sched/pthread: rename pthread_initialize.c
* [#12462](https://github.com/apache/nuttx/pull/12462) sched/pthread: simplify pthread_create() branch logic
* [#12282](https://github.com/apache/nuttx/pull/12282) sched/sched: CONFIG_SCHED_RESUMESCHEDULER macro define error
* [#12284](https://github.com/apache/nuttx/pull/12284) sched/sched: Simplify the scheduling logic in nxsched_add_readytorun() for SMP
* [#12141](https://github.com/apache/nuttx/pull/12141) sched/sched: There is no need to use sched_[un]lock
* [#11997](https://github.com/apache/nuttx/pull/11997) sched/signal: add sanity check for siginfo
* [#12380](https://github.com/apache/nuttx/pull/12380) sched/signal: fix deadlock when sigdeliver call enter_critical_section
* [#12432](https://github.com/apache/nuttx/pull/12432) sched/signal: move signal structures pool to bss
* [#12406](https://github.com/apache/nuttx/pull/12406) sched/signal: reclaim sigaction
* [#12302](https://github.com/apache/nuttx/pull/12302) sched/task: minor revision on task_init.c
* [#12320](https://github.com/apache/nuttx/pull/12320) sched/tcb: use shared group for kthreads
* [#12285](https://github.com/apache/nuttx/pull/12285) sched/tee: In tee, we need to disable the IRQ interrupt to make the A core policy consistent with the M core.
* [#12412](https://github.com/apache/nuttx/pull/12412) sched/tls: fix build error under CONFIG_PTHREAD_ATFORK enabled
* [#12113](https://github.com/apache/nuttx/pull/12113) sched/timer: use spin_lock_irqsave protect g_alloctimers
* [#12142](https://github.com/apache/nuttx/pull/12142) sched/wqueue: There is no need to use sched_[un]lock
* [#12079](https://github.com/apache/nuttx/pull/12079) stack: update up_get_intstackbase API to support cpu id |
mm
* [#12449](https://github.com/apache/nuttx/pull/12449) mm: check double free before adding to delaylist
* [#12467](https://github.com/apache/nuttx/pull/12467) mm: fix mm_curused calculate err
* [#12541](https://github.com/apache/nuttx/pull/12541) mm: seperate mm_pool and mm_pool init
* [#12041](https://github.com/apache/nuttx/pull/12041) mm/arch: user-space device mapping support
* [#12445](https://github.com/apache/nuttx/pull/12445) mm/gran: Fix GRAN_ALIGNED() macro
* [#12095](https://github.com/apache/nuttx/pull/12095) mm/gran: remove size limitation
* [#12224](https://github.com/apache/nuttx/pull/12224) mm/iob: Support alloc IOB via malloc
* [#12124](https://github.com/apache/nuttx/pull/12124) mm/map: minor reformating vm_region.c
* [#12040](https://github.com/apache/nuttx/pull/12040) mm/map.h: polish field defs/comments |
libc
* [#12230](https://github.com/apache/nuttx/pull/12230) Basic locale support for C++ (libstdc++)
* [#12422](https://github.com/apache/nuttx/pull/12422) Fixes for symbol definition in libc.csv and syscall.csv
* [#12158](https://github.com/apache/nuttx/pull/12158) libc: add support for reallocarray
* [#12168](https://github.com/apache/nuttx/pull/12168) libc.csv: Fix macro guard for TLS related symbols
* [#12297](https://github.com/apache/nuttx/pull/12297) libc/lib_bzero:Add bzero prototype.
* [#12112](https://github.com/apache/nuttx/pull/12112) libs/libc/fdcheck: update fdcheck impl
* [#12263](https://github.com/apache/nuttx/pull/12263) libc/string: replace __builtin_ffsl with inline function
* [#12451](https://github.com/apache/nuttx/pull/12451) libc/sem_open: return error code, sem returned by parameter
* [#12426](https://github.com/apache/nuttx/pull/12426) libs/libc/gdbstub:fix get thread rsp command crash
* [#12211](https://github.com/apache/nuttx/pull/12211) libs/libc/inttypes: add support for imaxdiv |
tools
* [#12087](https://github.com/apache/nuttx/pull/12087) Adjust the apps/benchmarks directory and add some new Profile tools
* [#12231](https://github.com/apache/nuttx/pull/12231) tools: Extend default appdir list.
* [#12137](https://github.com/apache/nuttx/pull/12137) tools/configure.sh: list confs by board
* [#12195](https://github.com/apache/nuttx/pull/12195) tools/configure.sh: revise help message
* [#12363](https://github.com/apache/nuttx/pull/12363) tools/minidump: 64-bit dump support
* [#12010](https://github.com/apache/nuttx/pull/12010) tools/minidump: support multiple ELF files
* [#12469](https://github.com/apache/nuttx/pull/12469) tools/minidumpserver: fix 32bit crash log parsing
* [#12153](https://github.com/apache/nuttx/pull/12153) tools/uncrustify: disable leading space removal for block comment |
various
* [#12439](https://github.com/apache/nuttx/pull/12439) Kconfig: move LTO options to Build Setup menu
* [#12045](https://github.com/apache/nuttx/pull/12045) all: Fix accessing uninitialized local variables
* [#12492](https://github.com/apache/nuttx/pull/12492) compiler: fix build break on niche platform
* [#12354](https://github.com/apache/nuttx/pull/12354) include: Add missing c symbols to std namespace
* [#12303](https://github.com/apache/nuttx/pull/12303) include: When defining NDEBUG, assert will implement alignment standards
* [#12075](https://github.com/apache/nuttx/pull/12075) include/nuttx/timers/pwm.h: add dcpol attribute to pwm_chan_s
* [#12343](https://github.com/apache/nuttx/pull/12343) include/sys/socket.h: add the definition of SCM_TIMESTAMP
* [#12529](https://github.com/apache/nuttx/pull/12529) include/unistd.h: Adds some posix supported definitions |
Changes to the Build System
* [#12171](https://github.com/apache/nuttx/pull/12171) boards/stm32: Add ds1307 to CMake build
* [#12270](https://github.com/apache/nuttx/pull/12270) cmake: bugfix __KERNEL__ should not be defined with FLAT mode in libc, mm etc.
* [#12423](https://github.com/apache/nuttx/pull/12423) cmake:bugfix CMake compilation options settings should not use strings
* [#12237](https://github.com/apache/nuttx/pull/12237) cmake: bugfix generate config.h contain ; characters will be handled incorrectly
* [#12173](https://github.com/apache/nuttx/pull/12173) cmake: fix a few bugs during use CMake build
* [#12035](https://github.com/apache/nuttx/pull/12035) cmake: implement ALLSYMS feat of CMake version
* [#12011](https://github.com/apache/nuttx/pull/12011) cmake: init protected-mode for CMake build
* [#12201](https://github.com/apache/nuttx/pull/12201) cmake/export: fix kernel mode app building
* [#12312](https://github.com/apache/nuttx/pull/12312) cmake/romfs: separate c flags to avoid compile fail
* [#12016](https://github.com/apache/nuttx/pull/12016) openamp/cmake: sync with libmetal.defs
* [#12017](https://github.com/apache/nuttx/pull/12017) risc-v/cmake: revision for kernel mode
* [#12023](https://github.com/apache/nuttx/pull/12023) virtio/cmake: sync with makefile system |
Architectural Support
New Architecture Support
Architecture improvements
Driver Support
New Driver Support
* [#12191](https://github.com/apache/nuttx/pull/12191) drivers/sensors: add support for bmm150 magnetometer
* [#12193](https://github.com/apache/nuttx/pull/12193) drivers/sensors: add support for adxl362 accelerometer
* [#12329](https://github.com/apache/nuttx/pull/12329) drivers/video/V4l2m2m |
Drivers With Improvements
* [#12531](https://github.com/apache/nuttx/pull/12531) drivers: add note when driver registers
* [#12139](https://github.com/apache/nuttx/pull/12139) drivers: There is no need to use sched_[un]lock
* [#12473](https://github.com/apache/nuttx/pull/12473) drivers/1wire: update pm callback use container_of
* [#12411](https://github.com/apache/nuttx/pull/12411) drivers/analog: add configuration option to set DAC FIFO size
* [#12143](https://github.com/apache/nuttx/pull/12143) drivers/analog: enable support for multible devices of mcp48xx
* [#11940](https://github.com/apache/nuttx/pull/11940) drivers/devicetree: Add a set of commonly used FDT utilities.
* [#12405](https://github.com/apache/nuttx/pull/12405) drivers/devicetree/fdt: add additional fdt parsing utilities
* [#12519](https://github.com/apache/nuttx/pull/12519) drivers/can/sja1000: fix cmd register write
* [#12507](https://github.com/apache/nuttx/pull/12507) drivers/can/sja1000: fix Rx buffer pointer issue
* [#12084](https://github.com/apache/nuttx/pull/12084) drivers/filemtd supports Nand-like file systems
* [#12058](https://github.com/apache/nuttx/pull/12058) drivers/ioexpander/icjx: add support for change of input interrupts on NINT
* [#12311](https://github.com/apache/nuttx/pull/12311) drivers/ioexpander/icjx: use iC-JX interrupt config instead of the general one
* [#12367](https://github.com/apache/nuttx/pull/12367) drivers/misc/fix: call rwb->rhreload() when nblocks > 0
* [#12188](https://github.com/apache/nuttx/pull/12188) drivers/misc/fix: the bug about rwbuffer causing mem overflow
* [#12202](https://github.com/apache/nuttx/pull/12202) drivers/misc/rwbuffer: fix rwbuffer overflow issue
* [#12317](https://github.com/apache/nuttx/pull/12317) drivers/mmcsd/mmcsd_sdio.c: Fix SD card 4-bit support
* [#12042](https://github.com/apache/nuttx/pull/12042) drivers/net/lan9250: Fix crash issue of sending packets by lan9250 driver under SMP and multi-thread
* [#12120](https://github.com/apache/nuttx/pull/12120) drivers/power/pm: Fix warning of type cast
* [#12233](https://github.com/apache/nuttx/pull/12233) drivers/serial: mps3-an547:support nuttx run qemu(cortex-m55)
* [#12177](https://github.com/apache/nuttx/pull/12177) drivers/serial/16550: remove unused function
* [#12443](https://github.com/apache/nuttx/pull/12443) drivers/serial/pl011: add the interface about clock and reset control.
* [#12262](https://github.com/apache/nuttx/pull/12262) drivers/serial/pl011: configurable clock frequency
* [#12369](https://github.com/apache/nuttx/pull/12369) drivers/sensors: improvements for bmm150 and bh1749nuc
* [#12240](https://github.com/apache/nuttx/pull/12240) drivers/sensors: various fixes for sensors
* [#12258](https://github.com/apache/nuttx/pull/12258) drivers/sensors/Kconfig: Added if SENSORS_BME680 for common dependency
* [#12192](https://github.com/apache/nuttx/pull/12192) drivers/sensors/adxl372: add support for the new sensor framework
* [#12190](https://github.com/apache/nuttx/pull/12190) drivers/sensors/bh1749nuc: add support for the new sensor framework
* [#12189](https://github.com/apache/nuttx/pull/12189) drivers/sensors/bmi270: add support for the new sensor framework
* [#12513](https://github.com/apache/nuttx/pull/12513) drivers/sensors/bmi270: fix bmi270_uorb build
* [#12244](https://github.com/apache/nuttx/pull/12244) drivers/sensors/bmi270_uorb.c: move init sequence to register function
* [#12012](https://github.com/apache/nuttx/pull/12012) drivers/spi: Add support for FPGA iCE40 bitstream loading.
* [#12341](https://github.com/apache/nuttx/pull/12341) drivers/tun: add tx packets dump
* [#12413](https://github.com/apache/nuttx/pull/12413) drivers/timers/mcp794xx: store datetime in UTC and add trimming support
* [#12474](https://github.com/apache/nuttx/pull/12474) drivers/timers/watchdog: fix idle callback maybe not upperhalf
* [#12198](https://github.com/apache/nuttx/pull/12198) drivers/usbdev: fix complile break about mtp class
* [#12199](https://github.com/apache/nuttx/pull/12199) drivers/usbdev/cdcacm: simply cdcacm uninitialize flow and fix double issue
* [#12197](https://github.com/apache/nuttx/pull/12197) drivers/usbdev/fs: fix issue between adb/fastboot/mtp and usbdev fs
* [#12539](https://github.com/apache/nuttx/pull/12539) drivers/video: fix code scan
* [#11995](https://github.com/apache/nuttx/pull/11995) drivers/video: Make the I2C access more efficient
* [#11994](https://github.com/apache/nuttx/pull/11994) drivers/video/isx019: Fix default_value of 3A status
* [#11999](https://github.com/apache/nuttx/pull/11999) drivers/video/isx019: Fix the default_value of some parameters
* [#12024](https://github.com/apache/nuttx/pull/12024) drivers/virtio/gpu: minor revision on virtio_gpu_send_cmd()
* [#12330](https://github.com/apache/nuttx/pull/12330) drivers/vnc:fix vnc kbd assert cause by wrong data conversion |
Board Support
New Board Support
* [#12186](https://github.com/apache/nuttx/pull/12186) Support for W5500-EVB-Pico board
* [#12324](https://github.com/apache/nuttx/pull/12324) boards/stm32h7: Add initial support to WeAct STM32H743
* [#12528](https://github.com/apache/nuttx/pull/12528) risc-v/k230: initial rv64ilp32 support |
Boards With Significant Improvements
File System
Bug Fixes
Significant Improvements
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.