Work In Progress

NuttX 12.1.0 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

Changes to Core OS

Sched

* [](https://github.com/apache/nuttx/pull/) Correct Real Time signal definitions. #8881 

* [#8286](https://github.com/apache/nuttx/pull/8286) sched: Add _NSIG, SIGFPE, SIGILL and SIGSEGV definition 
* [#8686](https://github.com/apache/nuttx/pull/8686) sched: add critical section in nxsched_get_stateinfo 
* [#8708](https://github.com/apache/nuttx/pull/8708) sched: build error fix in task_exithook 
* [#4819](https://github.com/apache/nuttx/pull/4819) sched: Disable stdio api by default when DEFAULT_SMALL equals y 
* [#8642](https://github.com/apache/nuttx/pull/8642) sched: fix kconfig warning 
* [#8151](https://github.com/apache/nuttx/pull/8151) sched: fix task_delete crash in SMP case 
* [#8311](https://github.com/apache/nuttx/pull/8311) sched: fix run ltp_interfaces_sched_setscheduler_17_1 fail 
* [#8210](https://github.com/apache/nuttx/pull/8210) sched: Map both NZERO and PTHREAD_DEFAULT_PRIORITY to SCHED_PRIORITY_DEFAULT 
* [#8330](https://github.com/apache/nuttx/pull/8330) sched: Map SCHED_OTHER to SCHED_FIFO or SCHED_RR 
* [#7882](https://github.com/apache/nuttx/pull/7882) sched: remove unnecessary type cast 
* [#8374](https://github.com/apache/nuttx/pull/8374) sched: Remove the unused TCB_FLAG_SCHED_OTHER 
* [#7956](https://github.com/apache/nuttx/pull/7956) sched: assert: modify assert message 
* [#7957](https://github.com/apache/nuttx/pull/7957) sched: assert: Do not call the user space "exit" function 
* [#7952](https://github.com/apache/nuttx/pull/7952) sched: assert: Fix printing argv when address environments are in use 
* [#8224](https://github.com/apache/nuttx/pull/8224) sched: assert: sched: Implement tkill/tgkill 
* [#8556](https://github.com/apache/nuttx/pull/8556) sched: assert: sync ps/assert output 
* [#8897](https://github.com/apache/nuttx/pull/8897) sched: clock_gettime: Remove output log 
* [#8653](https://github.com/apache/nuttx/pull/8653) sched: env: add tg_envc in task_group_s to avoid some loops in code 
* [#8394](https://github.com/apache/nuttx/pull/8394) sched: getpid: replace syscall getpid/tid/ppid() to kernel version 
* [#8066](https://github.com/apache/nuttx/pull/8066) sched: group: fix task info heap-use-after-free 
* [#7997](https://github.com/apache/nuttx/pull/7997) sched: group: Fix memory corruption in group_leave.c 
* [#8282](https://github.com/apache/nuttx/pull/8282) sched: group: Implement group_drop() 
* [#7995](https://github.com/apache/nuttx/pull/7995) sched: misc: add linux-like reboot notifier list 
* [#8035](https://github.com/apache/nuttx/pull/8035) sched: misc: assert: add a last type to call notifier 
* [#8158](https://github.com/apache/nuttx/pull/8158) sched: misc: assert: fix build break 
* [#8035](https://github.com/apache/nuttx/pull/8035) sched: misc: assert: add a last type to call notifier 
* [#8144](https://github.com/apache/nuttx/pull/8144) sched: misc: crash dump message added 
* [#7996](https://github.com/apache/nuttx/pull/7996) sched: misc: Rename panic.c to panic_notifier.c 
* [#7893](https://github.com/apache/nuttx/pull/7893) sched: note: Change sched_note_[begin|end] to macro 
* [#8521](https://github.com/apache/nuttx/pull/8521) sched: nxtask_sigchild: Set exit code when CONFIG_SCHED_CHILD_STATUS=y 
* [#8486](https://github.com/apache/nuttx/pull/8486) sched: nxtask_sigchild: Set process exit code to group exit code 
* [#8520](https://github.com/apache/nuttx/pull/8520) sched: pthread: change the wrong type cast 
* [#8505](https://github.com/apache/nuttx/pull/8505) sched: pthread: check pthread group after find joininfo 
* [#7923](https://github.com/apache/nuttx/pull/7923) sched: pthread: Delay pjoininfo allocation time 
* [#8150](https://github.com/apache/nuttx/pull/8150) sched: pthread: fix pthread exit error when set DETACHED 
* [#8170](https://github.com/apache/nuttx/pull/8170) sched: pthread: fixed pthread issue 
* [#8205](https://github.com/apache/nuttx/pull/8205) sched: pthread: Implement more pthread API 
* [#8209](https://github.com/apache/nuttx/pull/8209) sched: pthread: Implement pthread_gettid_np 
* [#8236](https://github.com/apache/nuttx/pull/8236) sched: pthread: restore C89 compliance in pthread_create 
* [#8336](https://github.com/apache/nuttx/pull/8336) sched: pthread: set default pthread name to parent's name 
* [#7909](https://github.com/apache/nuttx/pull/7909) sched: pthread: show thread main entry when display thread name 
* [#7877](https://github.com/apache/nuttx/pull/7877) sched: release_tcb: Do not release stack for user processes here 
* [#8182](https://github.com/apache/nuttx/pull/8182) sched: semaphore: Add the holder for mutex 
* [#7934](https://github.com/apache/nuttx/pull/7934) sched: semaphore: check sem flags before enable priority inheritance 
* [#8175](https://github.com/apache/nuttx/pull/8175) sched: semaphore: increase sem count when holder task exit 
* [#8074](https://github.com/apache/nuttx/pull/8074) sched: semaphore: Remove PRIOINHERIT_FLAGS_ENABLE and use SEM_PRIO_INHERIT instead 
* [#8057](https://github.com/apache/nuttx/pull/8057) sched: semaphore: sem_unlink: return ENOENT when the named semaphore does not exist. 
* [#8918](https://github.com/apache/nuttx/pull/8918) sched: semaphore: sem_waitirq: Fix semaphore wait interruption when MMU is in use 
* [#8452](https://github.com/apache/nuttx/pull/8452) sched: sched_note: add SCHED_NOTE_CUSTOM_BEGIN/END interface 
* [#8245](https://github.com/apache/nuttx/pull/8245) sched: sched_releasetcb: Revert 2 changes related to stack deallocation 
* [#8914](https://github.com/apache/nuttx/pull/8914) sched: signal: add SIGSYS 
* [#8312](https://github.com/apache/nuttx/pull/8312) sched: signal: Fix typo error in Kconfig(SIG_SEGA->SIG_SEGV) 
* [#8885](https://github.com/apache/nuttx/pull/8885) sched: signal: Increase the number of real time signals. Two is not enough. 
* [#8900](https://github.com/apache/nuttx/pull/8900) sched: signal: Remove configurable assignment of signal numbers 
* [#8884](https://github.com/apache/nuttx/pull/8884) sched: signal: remove unused SIGCONDTIMEDOUT 
* [#8740](https://github.com/apache/nuttx/pull/8740) sched: signal: sig_dispatch: Add signal action, if task is in system call 
* [#8605](https://github.com/apache/nuttx/pull/8605) sched: signal: sig_dispatch: Fix case where signal action is sent twice 
* [#8563](https://github.com/apache/nuttx/pull/8563) sched: signal: sig_dispatch: Signal action was not performed if TCB_FLAG_SYSC… 
* [#8763](https://github.com/apache/nuttx/pull/8763) sched: signal: sig_dispatch: Revert changes that cause a regression 
* [#7910](https://github.com/apache/nuttx/pull/7910) sched: task_setup: set sigprocmask directly to improve performance 
* [#8560](https://github.com/apache/nuttx/pull/8560) sched: task: task_cancelpt: Kill the child if it is not in a cancel point 
* [#8392](https://github.com/apache/nuttx/pull/8392) sched: waitpid: rename nx_waitpid() to nxsched_waitpid() 
* [#8832](https://github.com/apache/nuttx/pull/8832) sched: wqueue: Do as much work as possible in work_thread 
* [#8126](https://github.com/apache/nuttx/pull/8126) sched: wqueue: do work_cancel when worker is not null 
* [#8321](https://github.com/apache/nuttx/pull/8321) sched: wqueue: semaphore count should be consistent with the number of work entries. 

mm

* [#8085](https://github.com/apache/nuttx/pull/8085) mm: Add common virtual region allocator 
* [#8140](https://github.com/apache/nuttx/pull/8140) mm: Enable a dedicated kernel heap on BUILD_FLAT via MM_KERNEL_HEAP 
* [#7953](https://github.com/apache/nuttx/pull/7953) mm: fix typos 
* [#8094](https://github.com/apache/nuttx/pull/8094) mm: Integrate TLSF manager 
* [#8139](https://github.com/apache/nuttx/pull/8139) mm: backtrace: add backtrace for mempool and memdup for tlsf 
* [#8650](https://github.com/apache/nuttx/pull/8650) mm: circbuf: update buffer head according to real length of writing 
* [#8668](https://github.com/apache/nuttx/pull/8668) mm: circbuf: fix minor issue about update buffer head 
* [#8161](https://github.com/apache/nuttx/pull/8161) mm: heap: add heap args to mm_malloc_size 
* [#8054](https://github.com/apache/nuttx/pull/8054) mm: heap: Minor fix 
* [#8136](https://github.com/apache/nuttx/pull/8136) mm: heap: tlsf: add global multi-mempool for heap manager and tlsf 
* [#7920](https://github.com/apache/nuttx/pull/7920) mm: iob: revert "modify iob to support header padding and alignment features" 
* [#7914](https://github.com/apache/nuttx/pull/7914) mm: iob: add a helper function to get iob count in chain 
* [#7892](https://github.com/apache/nuttx/pull/7892) mm: iob: iob members are initialized after allocate 
* [#7870](https://github.com/apache/nuttx/pull/7870) mm: iob: add support of partial bytes clone 
* [#8296](https://github.com/apache/nuttx/pull/8296) mm: kasan: bypass link-time optimizer 
* [#8028](https://github.com/apache/nuttx/pull/8028) mm: map: Remove the unnessary map.h inclusion in various drivers 
* [#8512](https://github.com/apache/nuttx/pull/8512) mm: mempool: fix bug for realloc when shortage of memory 
* [#8511](https://github.com/apache/nuttx/pull/8511) mm: mempool: fix mempool bug,when use MM_BACKTRACE 
* [#8116](https://github.com/apache/nuttx/pull/8116) mm: mempool: fix crash by kasan report and enhance mempool 
* [#8167](https://github.com/apache/nuttx/pull/8167) mm: mempool: update about mempool. 
* [#8188](https://github.com/apache/nuttx/pull/8188) mm: mm_extend: Increase total heap size accordingly 
* [#8339](https://github.com/apache/nuttx/pull/8339) mm: mm_memalign: avoid two adjacent free nodes situation. 
* [#8295](https://github.com/apache/nuttx/pull/8295) mm: mm_heap: do this check in mm_size2ndx 
* [#8734](https://github.com/apache/nuttx/pull/8734) mm: mm_heap: double malloced memory default alignment (4 -> 8, 8 -> 16) 
* [#8353](https://github.com/apache/nuttx/pull/8353) mm: mm_heap: reduce the memory node overhead size 
* [#8721](https://github.com/apache/nuttx/pull/8721) mm: mm_heap: support custom the mm alignment and default to be 8 
* [#8131](https://github.com/apache/nuttx/pull/8131) mm: mm_heap: tlsf: support global mempool to optimize small block performance 
* [#8068](https://github.com/apache/nuttx/pull/8068) mm: shm: Clean up the System-V shm driver 
* [#8133](https://github.com/apache/nuttx/pull/8133) mm: tlsf: fix compile error/warning on tlsf 
* [#8736](https://github.com/apache/nuttx/pull/8736) mm: ubsan: Implement __ubsan_handle_invalid_builtin

libs

* [#8042](https://github.com/apache/nuttx/pull/8042) libc: Add more libc function for arm and riscv 
* [#8862](https://github.com/apache/nuttx/pull/8862) libc: add more syscall/libc symbols into csv file 
* [#8118](https://github.com/apache/nuttx/pull/8118) libc: Add sys/endian.h to improve the compatiblity with bionic libc 
* [#8294](https://github.com/apache/nuttx/pull/8294) libc: Add return check in posix_spawn_file_actions_adddup2 
* [#7850](https://github.com/apache/nuttx/pull/7850) libc: Add scalbn[f|l]function to libc math 
* [#8437](https://github.com/apache/nuttx/pull/8437) libc: Define _assert/__assert to avoid 3rd libary redefine them 
* [#8065](https://github.com/apache/nuttx/pull/8065) libc: don't redefined __ARM_ARCH_XXX when __ARM_ARCH defined 
* [#8624](https://github.com/apache/nuttx/pull/8624) libc: export exit() if configured in flat mode 
* [#8608](https://github.com/apache/nuttx/pull/8608) libc: fix a bug of strtof 
* [#8441](https://github.com/apache/nuttx/pull/8441) libc: fix a bug of strtold 
* [#8106](https://github.com/apache/nuttx/pull/8106) libc: fix the some else bug of strtold 
* [#8495](https://github.com/apache/nuttx/pull/8495) libc: fix some bug of strtold 
* [#8117](https://github.com/apache/nuttx/pull/8117) libc: Fixbug strtold 
* [#8206](https://github.com/apache/nuttx/pull/8206) libc: Implement quick_exit and at_quick_exit 
* [#8289](https://github.com/apache/nuttx/pull/8289) libc: invalid dns cache entry after ttl expires 
* [#8418](https://github.com/apache/nuttx/pull/8418) libc: Keep printf("%pS", p) behavior consistent 
* [#8112](https://github.com/apache/nuttx/pull/8112) libc: Let _SC_PAGESIZE return 4096 when CONFIG_MM_PGSIZE isn't defined 
* [#8112](https://github.com/apache/nuttx/pull/8112) libc: modify the strtof  
* [#8584](https://github.com/apache/nuttx/pull/8584) libc: Move math library from libs/libc/math to libs/libm/libm 
* [#8023](https://github.com/apache/nuttx/pull/8023) libc: Move tree.h from include/nuttx to include/sys 
* [#8517](https://github.com/apache/nuttx/pull/8517) libc: Move memfd related stuff to sys/mman.h 
* [#8585](https://github.com/apache/nuttx/pull/8585) libc: Remove dependence of LIBC_FLOATINGPOINT and LIBC_LONG_LONG from LIBC_NUMBERED_ARGS 
* [#8292](https://github.com/apache/nuttx/pull/8292) libc: asctime_r: add param check to asctime_r() 
* [#8546](https://github.com/apache/nuttx/pull/8546) libc: exit: Purge calls to userspace API exit() from kernel 
* [#8087](https://github.com/apache/nuttx/pull/8087) libc: getaddrinfo: add AI_NUMERICHOST flag handle 
* [#8606](https://github.com/apache/nuttx/pull/8606) libc: lib_abort.c: Change tall to user-space exit() into system call _exit() 
* [#8651](https://github.com/apache/nuttx/pull/8651) libc: lib_bzero: Add bzero prototype. 
* [#8522](https://github.com/apache/nuttx/pull/8522) libc: lib_memcpy.c:Add mempcpy method. 
* [#8639](https://github.com/apache/nuttx/pull/8639) libc: lib_rawmemchr.c: Add rawmemchr methon. 
* [#8756](https://github.com/apache/nuttx/pull/8756) libc: libvsprintf: use puts to replace the putc 
* [#8063](https://github.com/apache/nuttx/pull/8063) libc: math: add simple implementation for sincos API 
* [#8874](https://github.com/apache/nuttx/pull/8874) libc: math: rename libc/math.csv to libm/libm.csv 
* [#8416](https://github.com/apache/nuttx/pull/8416) libc: misc: mutex: fix assertion if nxmutex_reset() before nxmutex_unlock() 
* [#8291](https://github.com/apache/nuttx/pull/8291) libc: netdb: Add return check in rexec_af 
* [#7998](https://github.com/apache/nuttx/pull/7998) libc: passwd: add pw_gecos field(userinfo) 
* [#8861](https://github.com/apache/nuttx/pull/8861) libc: settimeofday: correct prototype of settimeofday() 
* [#8356](https://github.com/apache/nuttx/pull/8356) libc: stdio: fix rounding errors for fractional values less than 1 
* [#8696](https://github.com/apache/nuttx/pull/8696) libc: stdio: Implement lib_get_stream 
* [#8641](https://github.com/apache/nuttx/pull/8641) libc: stdio: Implement simple buffered out stream for vdprintf 
* [#8638](https://github.com/apache/nuttx/pull/8638) libc: stdio: Make gets/gets_s work without CONFIG_FILE_STREAM 
* [#8628](https://github.com/apache/nuttx/pull/8628) libc: stdio: Remove CONFIG_EOL_IS_XXX 
* [#5996](https://github.com/apache/nuttx/pull/5996) libc: stdlib: generate uniformly distributed pseudo-random numbers 
* [#8503](https://github.com/apache/nuttx/pull/8503) libc: stdlib: Guard fflush in exit with CONFIG_FILE_STREAM 
* [#8681](https://github.com/apache/nuttx/pull/8681) libc: stream: Exchange name of lib_rawsostream.c and lib_rawoutstream.c 
* [#8352](https://github.com/apache/nuttx/pull/8352) libc: stream: fix syslogstream_addstring length error 
* [#8685](https://github.com/apache/nuttx/pull/8685) libc: stream: Implement gets/puts for all streams 
* [#8704](https://github.com/apache/nuttx/pull/8704) libc: stream: unify stream return behavior 
* [#8809](https://github.com/apache/nuttx/pull/8809) libc: syslogstream: add length check 
* [#8555](https://github.com/apache/nuttx/pull/8555) libc: unistd: lib_getrlimit: return a value for RLIMIT_NOFILE request. 
* [#8115](https://github.com/apache/nuttx/pull/8115) libc: versionsort: support versionsort and strverscmp 
* [#8596](https://github.com/apache/nuttx/pull/8596) libcxx: Workaround -Wmaybe-uninitialized warning with "GCC 12.2" 
* [#8120](https://github.com/apache/nuttx/pull/8120) libxx: Add CXX_STANDARD to select -std=c++?? 
* [#8187](https://github.com/apache/nuttx/pull/8187) libxx: c++: Change the default value of CXX_STANDARD from c++17 to gnu++17 
* [#8600](https://github.com/apache/nuttx/pull/8600) libxx: check GCC version before set special flags 
* [#8611](https://github.com/apache/nuttx/pull/8611) libxx: Fix typo in shell expressions 
* [#8349](https://github.com/apache/nuttx/pull/8349) netdb: add sanity check to avoid null pointer reference 

Misc

Changes to the Build System

Improvements

* [#8177](https://github.com/apache/nuttx/pull/8177) build: Add STACK_USAGE(-fstack-usage) to assist the stack analysis 
* [#8449](https://github.com/apache/nuttx/pull/8449) build/Kconfig: add BINDIR/APPSBINDIR to support out of tree build 
* [#8357](https://github.com/apache/nuttx/pull/8357) tools: add separate flags parameter for COMPILE/COMPILEXX
* [#8391](https://github.com/apache/nuttx/pull/8391) tools: ARCHIVE uses the full path
* [#8732](https://github.com/apache/nuttx/pull/8732) tools: arm: Add missing -mcpu param for zig
* [#8403](https://github.com/apache/nuttx/pull/8403) tools: checkpatch.sh: Check the source code doesn't set executable bit
* [#8379](https://github.com/apache/nuttx/pull/8379) tools: checkpatch: Added encoding check with cvt2utf 
* [#8379](https://github.com/apache/nuttx/pull/8379) tools: checkpatch: Added encoding check with cvt2utf 
* [#8347](https://github.com/apache/nuttx/pull/8347) tools: compile with full file path
* [#8347](https://github.com/apache/nuttx/pull/8347) tools: compile with full file path
* [#8443](https://github.com/apache/nuttx/pull/8443) tools: config: silent print of archive objects
* [#8442](https://github.com/apache/nuttx/pull/8442) tools: config: stack usage(.su) file should be removed on clean phase
* [#8674](https://github.com/apache/nuttx/pull/8674) tools: cxd56: Fix typo in mkspk tool
* [#8663](https://github.com/apache/nuttx/pull/8663) tools: Don't download tarball if a local git repo found
* [#7971](https://github.com/apache/nuttx/pull/7971) tools: Ensure removing Python related commands for macOS
* [#7993](https://github.com/apache/nuttx/pull/7993) tools: Ensure removing Python3.11 related commands for macOS
* [#8515](https://github.com/apache/nuttx/pull/8515) tools: Extract a valid trace line and resolve the address to a function name
* [#8310](https://github.com/apache/nuttx/pull/8310) tools: Extend mkdep buffer 
* [#8916](https://github.com/apache/nuttx/pull/8916) tools: export: LLVM style arch info for non-c language
* [#8870](https://github.com/apache/nuttx/pull/8870) tools: export: Add LDELFFLAGS to mkexport.sh.
* [#8425](https://github.com/apache/nuttx/pull/8425) tools: Fix Config.mk
* [#8494](https://github.com/apache/nuttx/pull/8494) tools: kconfig: add kconfiglib support
* [#8384](https://github.com/apache/nuttx/pull/8384) tools: Makefile: fix redundant delimiters when using make V=1 
* [#8378](https://github.com/apache/nuttx/pull/8378) tools: makefile: silent all compile output
* [#8381](https://github.com/apache/nuttx/pull/8381) tools: Make zig available for arm/riscv/sim
* [#8601](https://github.com/apache/nuttx/pull/8601) tools: make the symbol table generated by mkallsyms.py two-byte aligned 
* [#8305](https://github.com/apache/nuttx/pull/8305) tools: minidumpserver: add arm-a support 
* [#8142](https://github.com/apache/nuttx/pull/8142) tools: minidumpserver: replace stackdump to stack_dump 
* [#7938](https://github.com/apache/nuttx/pull/7938) tools: minidumpserver: sync the stackdump search string after #7875 
* [#8723](https://github.com/apache/nuttx/pull/8723) tools: nxstyle: add 'IRQn_Type' to whitelists
* [#8657](https://github.com/apache/nuttx/pull/8657) tools: nxstyle: add "NimMain" to whitelists.
* [#8559](https://github.com/apache/nuttx/pull/8559) tools: nxstyle: add "CMUnitTest" to nxstyle white list
* [#8307](https://github.com/apache/nuttx/pull/8307) tools: parsememdump.py: support show total pid memory
* [#8652](https://github.com/apache/nuttx/pull/8652) tools: parsememdump.py: Restore the execution permission bit
* [#8808](https://github.com/apache/nuttx/pull/8808) tools: parsetrace: fix context swtich parsing error
* [#8928](https://github.com/apache/nuttx/pull/8928) tools: riscv: Map extensions to certain cpu model for LLVM based toolc…
* [#8030](https://github.com/apache/nuttx/pull/8030) tools: script: support IPv6 in simhostroute.sh 
* [#8001](https://github.com/apache/nuttx/pull/8001) tools: script: enable forward in simhostroute.sh 
* [#8007](https://github.com/apache/nuttx/pull/8007) tools: syscall: export UP_WRAPSYM/UP_REALSYM macro 
* [#8419](https://github.com/apache/nuttx/pull/8419) tools: use relative paths when reverting to compile
* [#8586](https://github.com/apache/nuttx/pull/8586) tools: unix: use anonymous pipes to avoid menuconfig break
* [#8675](https://github.com/apache/nuttx/pull/8675) tools: Unix.mk: Add VERSION_ARG to argument of version.sh
* [#8308](https://github.com/apache/nuttx/pull/8308) tools: unix.mk: Pass APPDIR to arch's Makefile
* [#8582](https://github.com/apache/nuttx/pull/8582) tools: Updated python scripts interpreter invocation in tools/.
* [#8306](https://github.com/apache/nuttx/pull/8306) tools: version: generate dummy version without breakout
* [#8759](https://github.com/apache/nuttx/pull/8759) treewide: add DOWNLOAD variable as unification of curl call

Architectural Support

New Architecture Support

Driver Support

New Drivers

* [#8794](https://github.com/apache/nuttx/pull/8794) wireless/bluetooth: add RPMSG HCI controller support 
* [#8738](https://github.com/apache/nuttx/pull/8738) drivers: lcd: Add support for LS027B7DH01A display and MEMLCD_EXTCOMIN_MODE_HW 
* [#8103](https://github.com/apache/nuttx/pull/8103) drivers: video: add mipidsi support 
* [#8088](https://github.com/apache/nuttx/pull/8088) drivers: power: Add ACT8945A power driver 
* [#7954](https://github.com/apache/nuttx/pull/7954) drivers: power: relay: add relay driver framework for NuttX 


Improvements

* [#8819](https://github.com/apache/nuttx/pull/8819) drivers: audio/es8388: Add input support 
* [#8792](https://github.com/apache/nuttx/pull/8792) drivers: bluetooth: bth4 depends on bluetooth definitions 
* [#8230](https://github.com/apache/nuttx/pull/8230) drivers: camera: Support the private data for imgsensor and imgdata 
* [#7935](https://github.com/apache/nuttx/pull/7935) drivers: fb: support linux info. 
* [#8204](https://github.com/apache/nuttx/pull/8204) drivers: foc: support for BEMF sensing 
* [#8203](https://github.com/apache/nuttx/pull/8203) drivers: foc: add interface that turn off all PWM switches 
* [#8101](https://github.com/apache/nuttx/pull/8101) drivers: input: Add driver for Goodix GT9XX Touch Panel 
* [#8456](https://github.com/apache/nuttx/pull/8456) drivers: ioexpander/gpio:Add gpio_pin_register_byname 
* [#8901](https://github.com/apache/nuttx/pull/8901) drivers: lcd: st7789: Support mirror X/Y 
* [#8865](https://github.com/apache/nuttx/pull/8865) drivers: mmcsd: sdio: fix potential race condition in sdio 
* [#8801](https://github.com/apache/nuttx/pull/8801) drivers: mmcsd: add nxsig_usleep delay after MMC_CMD1 command 
* [#8422](https://github.com/apache/nuttx/pull/8422) drivers: mmcsd: mmcsd_spi: remove redundant mmcsd_unlock() 
* [#8375](https://github.com/apache/nuttx/pull/8375) drivers: mmcsd: Fix kconfig error regarding MMCSD_IOCSUPPORT 
* [#8256](https://github.com/apache/nuttx/pull/8256) drivers: mmcsd: Add MMC_IOC_CMD ioctl 
* [#8544](https://github.com/apache/nuttx/pull/8544) drivers: mmcsd: fixes to ensure CPU is not busy waited 
* [#8453](https://github.com/apache/nuttx/pull/8453) drivers: mtd: add Kconfig options for RAMTRON emulated page & sector size 
* [#8341](https://github.com/apache/nuttx/pull/8341) drivers: mtd: Add smartfs loop driver registration 
* [#8573](https://github.com/apache/nuttx/pull/8573) drivers: mtd: Add mtd loop device 
* [#8683](https://github.com/apache/nuttx/pull/8683) drivers: mtd: Extend isbad and markbad func for mtd_dev_s 
* [#8561](https://github.com/apache/nuttx/pull/8561) drivers: mtd/ramtron: change nsectors size to uint32 
* [#8002](https://github.com/apache/nuttx/pull/8002) drivers: note: add note_syscall_enter parameter list 
* [#8635](https://github.com/apache/nuttx/pull/8635) drivers: note: correct systime with perf count 
* [#8593](https://github.com/apache/nuttx/pull/8593) drivers: note: fix build break by note rename change 
* [#8820](https://github.com/apache/nuttx/pull/8820) drivers: note: fix sched_note error 
* [#8015](https://github.com/apache/nuttx/pull/8015) drivers: note: Fix the mismatch of va_end call 
* [#8633](https://github.com/apache/nuttx/pull/8633) drivers: note: handle tcb is empty, so that it can also record before the driv… 
* [#8619](https://github.com/apache/nuttx/pull/8619) drivers: note: Implement the trace function and add tracepoints for the startup process 
* [#7897](https://github.com/apache/nuttx/pull/7897) drivers: note: merge sched_note_spinxxx 
* [#7900](https://github.com/apache/nuttx/pull/7900) drivers: note: move taskname related functions to note_taskname.c 
* [#7986](https://github.com/apache/nuttx/pull/7986) drivers: note: move sched_note_xxx related configuration 
* [#8697](https://github.com/apache/nuttx/pull/8697) drivers: note: optimize noteram_add, copy as much content as possible at a time 
* [#8525](https://github.com/apache/nuttx/pull/8525) drivers: note: record the latest scheduling information 
* [#7844](https://github.com/apache/nuttx/pull/7844) drivers: note: Refine the driver note structure 
* [#8531](https://github.com/apache/nuttx/pull/8531) drivers: note: Refine the Kconfig 
* [#7858](https://github.com/apache/nuttx/pull/7858) drivers: note: rename /dev/note to /dev/note/ram 
* [#7981](https://github.com/apache/nuttx/pull/7981) drivers: note: register notelog device 
* [#7984](https://github.com/apache/nuttx/pull/7984) drivers: note: register sysview to note drivers list 
* [#8020](https://github.com/apache/nuttx/pull/8020) drivers: note: Replace the scritical section with spin_xxx_wo_note 
* [#8043](https://github.com/apache/nuttx/pull/8043) drivers: note: remove choice in Kconfig 
* [#7841](https://github.com/apache/nuttx/pull/7841) drivers: note: sched_note support mulit-channel 
* [#8682](https://github.com/apache/nuttx/pull/8682) drivers: note: support note filtering at runtime 
* [#7994](https://github.com/apache/nuttx/pull/7994) drivers: note: unify the spinlock operation in noteram 
* [#8389](https://github.com/apache/nuttx/pull/8389) drivers: note_driver: fix build error 
* [#8263](https://github.com/apache/nuttx/pull/8263) drivers: nuttx: Add missing FAR and CODE 
* [#8052](https://github.com/apache/nuttx/pull/8052) drivers: pipes: add PIPEIOC_POLLTHRES to set POLLIN/POLLOUT threshold 
* [#8369](https://github.com/apache/nuttx/pull/8369) drivers: pipes: fix write busy loop because POLLOUT always ready. 
* [#8846](https://github.com/apache/nuttx/pull/8846) drivers: pty: Echo input by default 
* [#8667](https://github.com/apache/nuttx/pull/8667) drivers: pty: Map CR->LF from terminal input 
* [#8742](https://github.com/apache/nuttx/pull/8742) drivers: power: ACT8945A: Correct DEBUGASSERT code error, plus tidy ups 
* [#8257](https://github.com/apache/nuttx/pull/8257) drivers: power: charge: add support for voltage infomation 
* [#8145](https://github.com/apache/nuttx/pull/8145) drivers: power: power related update 
* [#8631](https://github.com/apache/nuttx/pull/8631) drivers: rptun: fix rptun_start() failed 
* [#8041](https://github.com/apache/nuttx/pull/8041) drivers: segger: sysview: add up_perf_freq result chaeck 
* [#8004](https://github.com/apache/nuttx/pull/8004) drivers: syslog: A trailing newline is added if none is present. 
* [#8432](https://github.com/apache/nuttx/pull/8432) drivers: syslog: correct Kconfig name 
* [#8008](https://github.com/apache/nuttx/pull/8008) drivers: syslog: fix extra line breaks in syslog when SYSLOG_COLOR_OUTPUT is e… 
* [#8012](https://github.com/apache/nuttx/pull/8012) drivers: syslog: optimize syslog speed 
* [#8077](https://github.com/apache/nuttx/pull/8077) drivers: sensors: bmi160: fix i2C read and write behavior 
* [#8259](https://github.com/apache/nuttx/pull/8259) drivers: sensors: bmi160.c: fix the problem Linux SPI doesn't working properly 
* [#8260](https://github.com/apache/nuttx/pull/8260) drivers: sensors: fakesensor: fix timestamp is woring when batch. 
* [#8261](https://github.com/apache/nuttx/pull/8261) drivers: sensors: Fix sensor bug in production environment 
* [#8278](https://github.com/apache/nuttx/pull/8278) drivers: sensors: Minor sensor improvement 
* [#8797](https://github.com/apache/nuttx/pull/8797) drivers: sensors: mpu60x0: Fix some error bit and width macro 
* [#8025](https://github.com/apache/nuttx/pull/8025) drivers: sensors: new member into ECG sensor type 
* [#8338](https://github.com/apache/nuttx/pull/8338) drivers: sensors/ioctl: add common cmd for accelerators 
* [#8843](https://github.com/apache/nuttx/pull/8843) drivers: serial: Always support c_oflag, c_iflag and c_lflag in termios 
* [#8454](https://github.com/apache/nuttx/pull/8454) drivers: serial: Convert CR to LF in driver 
* [#8718](https://github.com/apache/nuttx/pull/8718) drivers: serial: Echo CR when NL is detected and the serial device is a console 
* [#8691](https://github.com/apache/nuttx/pull/8691) drivers: serial: Echo input in driver layer 
* [#8705](https://github.com/apache/nuttx/pull/8705) drivers: serial: Echo only determined by ECHO flag with termios enabled 
* [#8444](https://github.com/apache/nuttx/pull/8444) drivers: serial: Fix docstrings on UART interrupt handlers 
* [#8800](https://github.com/apache/nuttx/pull/8800) drivers: serial: Fix wrong ECHO flag 
* [#8258](https://github.com/apache/nuttx/pull/8258) drivers: serial: h4:increase h4 uart tx/rx buffer default size 
* [#8692](https://github.com/apache/nuttx/pull/8692) drivers: serial: Include spawn.h required by CONFIG_TTY_LAUNCH 
* [#7484](https://github.com/apache/nuttx/pull/7484) drivers: serial: Launch the initial task through task_spawn instead of nxtask_create 
* [#8483](https://github.com/apache/nuttx/pull/8483) drivers: serial: libc/termios: Implement tcsendbreak 
* [#8764](https://github.com/apache/nuttx/pull/8764) drivers: serial: Only enable tx interrupt if tx buffer is not empty 
* [#8769](https://github.com/apache/nuttx/pull/8769) drivers: spi: Fix unwanted flush in the SPI slave driver 
* [#7972](https://github.com/apache/nuttx/pull/7972) drivers: usb: Fix the typo error in Kconfig 
* [#8482](https://github.com/apache/nuttx/pull/8482) drivers: usbmisc: FUSB302 
* [#8568](https://github.com/apache/nuttx/pull/8568) drivers: usbmisc: FUSB302 - correct ioctl inconsistencies 
* [#8524](https://github.com/apache/nuttx/pull/8524) drivers: usbdev: adb: add adb usbclass_unbind function 
* [#8661](https://github.com/apache/nuttx/pull/8661) drivers: usbdev: adb: fixed adb build issue 
* [#8883](https://github.com/apache/nuttx/pull/8883) drivers: usbdev: composite: composite should send only one request for USB_REQ_SETCONFIGURATION 
* [#8508](https://github.com/apache/nuttx/pull/8508) drivers: usbdev: composite: remove excess uninitialize code 
* [#8509](https://github.com/apache/nuttx/pull/8509) drivers: usbdev: fixed DUALSPEED issue for adb/cdcecm/rndis 
* [#8507](https://github.com/apache/nuttx/pull/8507) drivers: usbdev: rndis: add endpoint configure 
* [#8892](https://github.com/apache/nuttx/pull/8892) drivers: usbdev: rndis: do not configure endpoints from Kconfig when composite enabled 
* [#8594](https://github.com/apache/nuttx/pull/8594) drivers: usbdev: rndis: support iob offload 
* [#8893](https://github.com/apache/nuttx/pull/8893) drivers: usbdev: rndis: various fixes for composite 
* [#8506](https://github.com/apache/nuttx/pull/8506) drivers: usbhost: fixed cdcacm issue 
* [#8921](https://github.com/apache/nuttx/pull/8921) drivers: usbhost_hidkbd: Add the option to use interrupt transfers. 
* [#8889](https://github.com/apache/nuttx/pull/8889) drivers: usbmsc: do not sent deferred response if USBMSC_COMPOSITE=y 
* [#8022](https://github.com/apache/nuttx/pull/8022) drivers: usrsock: switch usrsock server's defconfig to upgraded version 
* [#8910](https://github.com/apache/nuttx/pull/8910) drivers: usrsock_server: Do not poll SOCK_CTRL 
* [#8741](https://github.com/apache/nuttx/pull/8741) drivers: timers: pwm: add config option to support dead time delay + add dead time support to SAMv7 MCU 
* [#8574](https://github.com/apache/nuttx/pull/8574) drivers: timers: pwm: add PWM overwrite under CONFIG_PWM_OVERWRITE option 
* [#8393](https://github.com/apache/nuttx/pull/8393) drivers: timers: watchdog: fix Kconfig typo 
* [#8034](https://github.com/apache/nuttx/pull/8034) drivers: timers: watchdog: add a callback when painc stop the watchdog 
* [#8033](https://github.com/apache/nuttx/pull/8033) drivers: timers: watchdog: use 'V' to stop watchdog 
* [#8447](https://github.com/apache/nuttx/pull/8447) drivers: video: Add v4l2_buffer timestamp and sequence 
* [#7787](https://github.com/apache/nuttx/pull/7787) drivers: video: Minor fix for video driver(2) 
* [#7776](https://github.com/apache/nuttx/pull/7776) drivers: video: Minor change for video framebuff 
* [#8516](https://github.com/apache/nuttx/pull/8516) drivers: video: NONBLOCK and POLLIN support for video device 
* [#8644](https://github.com/apache/nuttx/pull/8644) drivers: video/fb: fix poll event lost 
* [#7924](https://github.com/apache/nuttx/pull/7924) drivers: video/fb: initializes the info structure 
* [#8056](https://github.com/apache/nuttx/pull/8056) drivers: virtio/net: Try fix virtnet logic
* [#8045](https://github.com/apache/nuttx/pull/8045) drivers: wireless: bluetooth: add interrupt_context hander for netsnoop 
* [#8318](https://github.com/apache/nuttx/pull/8318) drivers: wireless: Remove the duplicated bc_bifup check from bcmf_wl_auth_event_handler 
* [#8323](https://github.com/apache/nuttx/pull/8323) drivers: wireless: wireless/ieee80211: update ieee80211 header 
* [#8345](https://github.com/apache/nuttx/pull/8345) drivers: watchdog: Fix the wrong value of WATCHDOG_AUTOMONITOR_PING_INTERVAL 
* [#8575](https://github.com/apache/nuttx/pull/8575) Revert "drivrs/mtd/filemtd.c: add block device MTD interface. Block … 


Board Support

Significant Improvements

New Board Support

Boards With Significant Improvements

File System

New FS

* [#8109](https://github.com/apache/nuttx/pull/8109) fs: Add shmfs 

Improvements 

* [#4320](https://github.com/apache/nuttx/pull/4320) fs: Add model field to geometry and mtd_geometry_s 
* [#8194](https://github.com/apache/nuttx/pull/8194) fs: Avoid accessing filep fields if it is NULL & add DEBUGASSERTs 
* [#8163](https://github.com/apache/nuttx/pull/8163) fs: Define DT_xxx to number directly 
* [#8430](https://github.com/apache/nuttx/pull/8430) fs: Implement link as a normal function instead macro 
* [#8498](https://github.com/apache/nuttx/pull/8498) fs: Make more fs API available when CONFIG_DISABLE_MOUNTPOINT isn't enabled 
* [#8195](https://github.com/apache/nuttx/pull/8195) fs: Map madvice to posix_madvice 
* [#8581](https://github.com/apache/nuttx/pull/8581) fs: Map FD_SETSIZE to OPEN_MAX instead hardcoding 256 
* [#8092](https://github.com/apache/nuttx/pull/8092) fs: Map syncfs to fsync 
* [#8021](https://github.com/apache/nuttx/pull/8021) fs: Move mmap callback before truncate in [file|mountpt]_operations 
* [#8113](https://github.com/apache/nuttx/pull/8113) fs: Support O_NOFOLLOW flag 
* [#8440](https://github.com/apache/nuttx/pull/8440) fs: support openat/fchmodat/mkfifoat/fstatat/...at api 
* [#8324](https://github.com/apache/nuttx/pull/8324) fs: unlock tmpfs before free the file object 
* [#8656](https://github.com/apache/nuttx/pull/8656) fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 
* [#8871](https://github.com/apache/nuttx/pull/8871) fs: fs_epoll: add oneshot list to handle the EPOLLONESHOT correctly 
* [#7871](https://github.com/apache/nuttx/pull/7871) fs: fs_epoll: fix some potential issue for list operation 
* [#8153](https://github.com/apache/nuttx/pull/8153) fs: fs_fsync:Fix the expected error of socket,fifo and pipe returning error in fsync case 
* [#8896](https://github.com/apache/nuttx/pull/8896) fs: fs_initialize.c:Sync fs in system restart callback 
* [#8496](https://github.com/apache/nuttx/pull/8496) fs: littlefs: add full support for LittleFS block device cfg in Kconfig 
* [#8026](https://github.com/apache/nuttx/pull/8026) fs: mmap: Add mm map 
* [#8138](https://github.com/apache/nuttx/pull/8138) fs: mmap: fix mmap returned address 
* [#8075](https://github.com/apache/nuttx/pull/8075) fs: mmap: Minor improvement 
* [#8784](https://github.com/apache/nuttx/pull/8784) fs: mmap: try rammap when filesystem mmap don't support 
* [#8162](https://github.com/apache/nuttx/pull/8162) fs: mmap: fix compile warning if set the optimize level to O3 
* [#8383](https://github.com/apache/nuttx/pull/8383) fs: mqueue: Fix file_mq_open() for SMP 
* [#8269](https://github.com/apache/nuttx/pull/8269) fs: partiton: add sanity check 
* [#8079](https://github.com/apache/nuttx/pull/8079) fs: poll: add missing FAR qualifier to poll() 
* [#8072](https://github.com/apache/nuttx/pull/8072) fs: poll: Fix poll_notify for CONFIG_BUILD_KERNEL 
* [#8337](https://github.com/apache/nuttx/pull/8337) fs: procfs: sort level0 process id 
* [#8270](https://github.com/apache/nuttx/pull/8270) fs: procfs: fix the issue of /proc/cpuload in SMP 
* [#8545](https://github.com/apache/nuttx/pull/8545) fs: procfs: group/tg_info/argv: Make utility function to read argv as string 
* [#7922](https://github.com/apache/nuttx/pull/7922) fs: procfs: procmeminfo: support memdump can show specific task 
* [#8626](https://github.com/apache/nuttx/pull/8626) fs: procfs/meminfo: skip invalid character before memdump 
* [#8637](https://github.com/apache/nuttx/pull/8637) fs: rpmsgfs: return ENOTTY to vfs to do cmd operate 
* [#7947](https://github.com/apache/nuttx/pull/7947) fs: streams: Flush streams in userspace when the process exits 
* [#7991](https://github.com/apache/nuttx/pull/7991) fs: signalfd: using file descriptor to accept signal 
* [#5999](https://github.com/apache/nuttx/pull/5999) fs: sync: add sync api 
* [#8053](https://github.com/apache/nuttx/pull/8053) fs: timerfd: Reverse truncate and mmap field 
* [#7990](https://github.com/apache/nuttx/pull/7990) fs: timerfd/eventfd: using anonymous inodes and using isr to notify poll waiter. 
* [#8373](https://github.com/apache/nuttx/pull/8373) fs: vfs: Suppoprt F_DUPFD_CLOEXEC 
* [#8032](https://github.com/apache/nuttx/pull/8032) fs: vfs: add missed truncate callback at timerfd file_operation 
* [#8729](https://github.com/apache/nuttx/pull/8729) fs: vfs/poll: Remove the unused ptr field from pollfd 
* [#8089](https://github.com/apache/nuttx/pull/8089) fs: vfs/poll: Remove POLLFILE and POLLSOCK NuttX specific extension 
* [#8154](https://github.com/apache/nuttx/pull/8154) fs: vfs/fs_truncate.c:Add socket judgment to return correct errno. 


Networking

Improvements

* [#8735](https://github.com/apache/nuttx/pull/8735) net: Remove the dummy implementation from sock_intf_s 
* [#7980](https://github.com/apache/nuttx/pull/7980) net: Add netfilter compatible headers 
* [#8059](https://github.com/apache/nuttx/pull/8059) net: Support fragmentation and reassembly 
* [#7985](https://github.com/apache/nuttx/pull/7985) net: Separate IP_PKTINFO from NET_IGMP 
* [#7989](https://github.com/apache/nuttx/pull/7989) net: Add set/getsockopt options compatible with iptables. 
* [#8822](https://github.com/apache/nuttx/pull/8822) net: use NXRMUTEX_INITIALIZER for rmutex init 
* [#8811](https://github.com/apache/nuttx/pull/8811) tun: fix the access address is incorrect 
* [#7937](https://github.com/apache/nuttx/pull/7937 ) tun: add ioctl cmd TUNGETIFF implement 
* [#8751](https://github.com/apache/nuttx/pull/8751) net: Finish FIONBIO default action if si_ioctl return OK 
* [#8669](https://github.com/apache/nuttx/pull/8669) net: Performance optimizations in connection allocations. 
* [#8111](https://github.com/apache/nuttx/pull/8111) net: consistent the net sem wait naming conversion 
* [#8029](https://github.com/apache/nuttx/pull/8029) net: add some network-related definitions #8049 
* [#8351](https://github.com/apache/nuttx/pull/8351) net: Implement socket shutdown() interface 
* [#8448](https://github.com/apache/nuttx/pull/8448) net: remove protocol argument from si_setup callback 
* [#8487](https://github.com/apache/nuttx/pull/8487) net: modify find device logic 
* [#8300](https://github.com/apache/nuttx/pull/8300) net: Fix ICMPv6 RA parsing procedure 
* [#8091](https://github.com/apache/nuttx/pull/8091) net: Move accept to libc after https://github.com/apache/nuttx/pull/8083 
* [#8739](https://github.com/apache/nuttx/pull/8739) net: arp: Only parse ioctl request for valid cmd. 
* [#7889](https://github.com/apache/nuttx/pull/7889) net: arp: Remove nuttx/net/arp.h 
* [#7862](https://github.com/apache/nuttx/pull/7862) net: arp: rules bind to nics 
* [#8293](https://github.com/apache/nuttx/pull/8293) net: can: Bugfixed the SocketCAN send via setting the dev->d_len to dev->d_sndl… 
* [#8160](https://github.com/apache/nuttx/pull/8160) net: devif: bypass send length check if ip fragment enabled 
* [#8361](https://github.com/apache/nuttx/pull/8361) net: devif: check the net device before use 
* [#8380](https://github.com/apache/nuttx/pull/8380) net: devif: correct the judgment condition in devif_send() 
* [#8011](https://github.com/apache/nuttx/pull/8011) net: devif: fix devif_poll loop logic 
* [#8592](https://github.com/apache/nuttx/pull/8592) net: devif: fix null pointer reference found out by coverity 
* [#7969](https://github.com/apache/nuttx/pull/7969) net: devif_loopback: Add robustness to avoid infinite loop 
* [#8082](https://github.com/apache/nuttx/pull/8082) net: devif_poll: optimize device buffer alloc in txpoll 
* [#8837](https://github.com/apache/nuttx/pull/8837) net: icmpv6: add RDNSS field support for route advertise message 
* [#8785](https://github.com/apache/nuttx/pull/8785) net: icmpv6: align structs to 2 bytes. 
* [#8451](https://github.com/apache/nuttx/pull/8451) net: ip: fix compile break if disable NET_TCP 
* [#8302](https://github.com/apache/nuttx/pull/8302) net: local_connect: Align the returned error code with Linux 
* [#8010](https://github.com/apache/nuttx/pull/8010) net: local: fix error when work with epoll 
* [#8027](https://github.com/apache/nuttx/pull/8027) net: local: rename NET_LOCAL_VFS_PATH to follow linux 
* [#8749](https://github.com/apache/nuttx/pull/8749) net: local: Return the unblock handle correctly in local_accept 
* [#8067](https://github.com/apache/nuttx/pull/8067) net: local: set POLLIN/POLLOUT threshold for local fifo 
* [#7912](https://github.com/apache/nuttx/pull/7912) net: local: Support the abstract path 
* [#8084](https://github.com/apache/nuttx/pull/8084) net: mld: fix build break of mld router 
* [#8093](https://github.com/apache/nuttx/pull/8093) net: mld: update help manual for mld router 
* [#7964](https://github.com/apache/nuttx/pull/7964) net: nat: Fix misused d_draddr in select_port 
* [#8915](https://github.com/apache/nuttx/pull/8915) net/tcp: Reply RST when we cannot receive data 
* [#7968](https://github.com/apache/nuttx/pull/7968) net: nat: Support isolation between multiple WAN devices by saving external ip 
* [#7951](https://github.com/apache/nuttx/pull/7951) net: nat: Use hashtable to optimize performance 
* [#8083](https://github.com/apache/nuttx/pull/8083) net: net_socket: Add an implementation of the accept4 method 
* [#8080](https://github.com/apache/nuttx/pull/8080) net: netdev: Avoid hardcoded guardsize when using d_iob 
* [#8513](https://github.com/apache/nuttx/pull/8513) net: netinet: in.h: add support for Nimlang compatibility. 
* [#8753](https://github.com/apache/nuttx/pull/8753) net: pkt: Add readahead queue for pkt, call input for tx on sim 
* [#8273](https://github.com/apache/nuttx/pull/8273) net: route.h: add RTF_XX flags and rt_dev member 
* [#8518](https://github.com/apache/nuttx/pull/8518) net: sendfile: adapt sendfile() to support new driver model 
* [#8344](https://github.com/apache/nuttx/pull/8344) net: slip: Change SLIP to use IOB 
* [#8632](https://github.com/apache/nuttx/pull/8632) net: socket: divide errno & s_error 
* [#8272](https://github.com/apache/nuttx/pull/8272) net: support ipv4 ToS and ipv6 TrafficClass 
* [#8301](https://github.com/apache/nuttx/pull/8301) net: tcp: tcp_netpoll: add assert into tcp_pollsetup when pollinfo invalid 
* [#8297](https://github.com/apache/nuttx/pull/8297) net: tcp: udp_connect: If the remote addr is ANY, change it to LOOPBACK 
* [#7913](https://github.com/apache/nuttx/pull/7913) net: tcp: contig received data to reducing iob consumption 
* [#8102](https://github.com/apache/nuttx/pull/8102) net: tcp: debug feature to drop the tx/rx packet 
* [#8024](https://github.com/apache/nuttx/pull/8024) net: tcp: Do not trigger retransmission if the new data has not been consumed. 
* [#8333](https://github.com/apache/nuttx/pull/8333) net: tcp: reuse common api to replace some ip select code 
* [#7916](https://github.com/apache/nuttx/pull/7916) net: tcp: rename NET_TCP_RECV_CONTIG to NET_TCP_RECV_PACK 
* [#8062](https://github.com/apache/nuttx/pull/8062) net: tcp: add Selective-ACK support (RFC2018) 
* [#8044](https://github.com/apache/nuttx/pull/8044) net: tcp: reprepare response buffer from unthrottle pool 
* [#8130](https://github.com/apache/nuttx/pull/8130) net: tcp: fix potential busy loop in tcp_send_buffered.c 
* [#8129](https://github.com/apache/nuttx/pull/8129) net: tcp: correct behavior of SO_LINGER 
* [#7525](https://github.com/apache/nuttx/pull/7525) net: tcp: Improvements in TCP connections allocation. 
* [#8334](https://github.com/apache/nuttx/pull/8334) net: tcp: free TCP rx buffer immediately in tcp_close 
* [#8165](https://github.com/apache/nuttx/pull/8165) net: tcp: move drop send source code to correct place 
* [#8409](https://github.com/apache/nuttx/pull/8409) net: tcp: remove conn check since which can not be NULL 
* [#8421](https://github.com/apache/nuttx/pull/8421) net: tcp: Regard snd_wnd update as ACKDATA 
* [#8315](https://github.com/apache/nuttx/pull/8315) net: tcp: fix trans data error when fast retrans 
* [#8314](https://github.com/apache/nuttx/pull/8314) net: tcp: add TCP_ACKDATA flag to close event callback 
* [#8298](https://github.com/apache/nuttx/pull/8298) net: tcp: modify errno when connect raddr is ANY for ltp 
* [#8343](https://github.com/apache/nuttx/pull/8343) net: tun: Change TUN/TAP to use IOB 
* [#8647](https://github.com/apache/nuttx/pull/8647) net: udp: Add drop count when limited by recv bufsize 
* [#7891](https://github.com/apache/nuttx/pull/7891) net: udp: correct udp send timeout 
* [#8299](https://github.com/apache/nuttx/pull/8299) net: udp: Ipv4/6 can be bound to the same port 
* [#8313](https://github.com/apache/nuttx/pull/8313) net: udp: remove DEBUGASSERT for ip6_is_ipv4addr 
* [#8493](https://github.com/apache/nuttx/pull/8493) net: udp: Support binding to same addr/port if SO_REUSEADDR is specified. 
* [#8609](https://github.com/apache/nuttx/pull/8609) net: usrsock: Do not return error when conn not found for an event 
* [#8317](https://github.com/apache/nuttx/pull/8317) net: usrsock: net_lock: fix deadlock issue when running iperf tx test on usrsock 
* [#8262](https://github.com/apache/nuttx/pull/8262) net: usrsock: only TCP data should be aggregrated for rpmsg case 
* [#8429](https://github.com/apache/nuttx/pull/8429) net: usrsock: optimize usersock send/recv path 
* [#8630](https://github.com/apache/nuttx/pull/8630) net: local: local_socket: remove the wrong assertion in local_listen() 
* [#8148](https://github.com/apache/nuttx/pull/8148) net: rpmsg: socket related update 

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:

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.orgFor 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.