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

* [#11944](https://github.com/apache/nuttx/pull/11944) sched: Fix user task exception handling
* [#11498](https://github.com/apache/nuttx/pull/11498) sched: move etc romfs mount from nsh to sched/init
* [#11846](https://github.com/apache/nuttx/pull/11846) sched: remove unused group link node
* [#11950](https://github.com/apache/nuttx/pull/11950) sched: replace some global variables to macro
* [#11769](https://github.com/apache/nuttx/pull/11769) sched: rw_sem: replace mutex with spinlock
* [#11818](https://github.com/apache/nuttx/pull/11818) sched.h: fix CPU_EQUAL(s1, s2) write error
* [#11949](https://github.com/apache/nuttx/pull/11949) sched/cpu: replace up_cpu_index() to this_cpu()
* [#11816](https://github.com/apache/nuttx/pull/11816) sched/cpuload: remove ciritical_section() to fix recursive
* [#11839](https://github.com/apache/nuttx/pull/11839) sched/environ: check envcp validity before hold sched_lock()
* [#11848](https://github.com/apache/nuttx/pull/11848) sched/group: change type of task group member to single queue
* [#11832](https://github.com/apache/nuttx/pull/11832) sched/group: move task group into task_tcb_s to improve performance
* [#11838](https://github.com/apache/nuttx/pull/11838) sched/group: replace group_findbypid to task_getgroup
* [#11885](https://github.com/apache/nuttx/pull/11885) sched/group: set clear flag if the group is not really needed
* [#11971](https://github.com/apache/nuttx/pull/11971) sched/init: move task list table from data to bss
* [#11542](https://github.com/apache/nuttx/pull/11542) sched/logging: add task activation/exit logs
* [#11854](https://github.com/apache/nuttx/pull/11854) sched/pthread: fix memory leak of pthread_tcb_s
* [#11898](https://github.com/apache/nuttx/pull/11898) sched/pthread/join: refactor pthread join to support join task
* [#11890](https://github.com/apache/nuttx/pull/11890) sched/pthread/join: remove unused joininfo
* [#11891](https://github.com/apache/nuttx/pull/11891) sched/pthread: replace pthread_sem_give() to nxsem_post() to unify the post method
* [#11972](https://github.com/apache/nuttx/pull/11972) sched/signal: merge allocate of signal pool
* [#11916](https://github.com/apache/nuttx/pull/11916) sched/signal: move unblock signal info to stack
* [#11925](https://github.com/apache/nuttx/pull/11925) sched/stdio/file: unify group file list to common single queue
* [#11840](https://github.com/apache/nuttx/pull/11840) sched/task: save argument counter to avoid limit check
* [#11948](https://github.com/apache/nuttx/pull/11948) sched/tasklist: replace task status list with macro definition
* [#11774](https://github.com/apache/nuttx/pull/11774) sched/tcb: add preserved tcb flag to support static tcb
* [#11777](https://github.com/apache/nuttx/pull/11777) sched/tls: inline group info in flat mode to improve performance
* [#11953](https://github.com/apache/nuttx/pull/11953) sched/wqueue: replace some global variables to macro

mm

* [#11921](https://github.com/apache/nuttx/pull/11921) mm: Using Macros Instead of Memory to Fill Labels
* [#11884](https://github.com/apache/nuttx/pull/11884) mm/kconfig: fix typo in MM_DEFAULT_ALIGNMENT

libs

* [#11526](https://github.com/apache/nuttx/pull/11526) libc.csv: Fix qsort signature with unexpected quotation mark
* [#11977](https://github.com/apache/nuttx/pull/11977) libc/uname: Add option to disable uname timestamp
* [#11772](https://github.com/apache/nuttx/pull/11772) libm/newlib: fix support for x86_64
* [#11889](https://github.com/apache/nuttx/pull/11889) libs/libc/string: fix memmem() boundary case when needle is at end of haystack
* [#11474](https://github.com/apache/nuttx/pull/11474) libcxx.defs: appease "expr: syntax error" messages with clang
* [#11556](https://github.com/apache/nuttx/pull/11556) libcxx: Fix CMake compile with correct CMAKE_CXX_STANDARD
* [#11918](https://github.com/apache/nuttx/pull/11918) libxx: ibcxxabi: Path <cxxabi.h> not found

misc


* [#11486](https://github.com/apache/nuttx/pull/11486) assert: fix flags type, should be irqstate_t
* [#11796](https://github.com/apache/nuttx/pull/11796) assert/panic: disable panic message to save the code size
* [#11989](https://github.com/apache/nuttx/pull/11989) audio: libsrc
* [#11464](https://github.com/apache/nuttx/pull/11464) binfmt/libelf: adjust log levels of a few binfmt logs
* [#11904](https://github.com/apache/nuttx/pull/11904) binfmt/loadmodule: replace kmm_free() to lib_free()
* [#11862](https://github.com/apache/nuttx/pull/11862) binfmt/task/member: remove invaild membership reverse
* [#11733](https://github.com/apache/nuttx/pull/11733) include/rpmsg/rpmsg.h: remove temporary define
* [#11640](https://github.com/apache/nuttx/pull/11640) include/threads.h: Fix typo in mtx_timedlock
* [#11466](https://github.com/apache/nuttx/pull/11466) include/types.h: make 64-bit time_t back to unsigned
* [#11805](https://github.com/apache/nuttx/pull/11805) list: rename container_of to list_container_of from public header
* [#11903](https://github.com/apache/nuttx/pull/11903) Revert "assert/panic: disable panic message to save the code size"
* [#11858](https://github.com/apache/nuttx/pull/11858) Replace PRIxPTR with %p and remove the cast of (uintptr_t)
* [#11686](https://github.com/apache/nuttx/pull/11686) openamp: Fix void pointer arithmetic in openamp to remove compilation…
* [#11786](https://github.com/apache/nuttx/pull/11786) tls: report warning if pthread enabled only

Changes to the Build System

Bug Fixes

* [#11914](https://github.com/apache/nuttx/pull/11914) cmake: add initial KERNEL mode support
* [#11579](https://github.com/apache/nuttx/pull/11579) cmake: add support for Ubuntu stock toolchain for risc-v
* [#11736](https://github.com/apache/nuttx/pull/11736) cmake: add target that define in external moduleCMakeLists.txt
* [#11545](https://github.com/apache/nuttx/pull/11545) cmake: arm/armv8-r: init armv8-r cmake build
* [#11788](https://github.com/apache/nuttx/pull/11788) cmake: fix empty BASE_DEFCONFIG
* [#11749](https://github.com/apache/nuttx/pull/11749) cmake: fix external library mode
* [#11893](https://github.com/apache/nuttx/pull/11893) cmake: fix libxx header file search path issue and enable libxx for CMake build
* [#11745](https://github.com/apache/nuttx/pull/11745) cmake: fix the problems of using cmake to compile custom board
* [#11667](https://github.com/apache/nuttx/pull/11667) cmake: Fixed nucleo-u5a5zj-q
* [#11457](https://github.com/apache/nuttx/pull/11457) cmake: init arch arm64 CMake and qemu-armv8a build
* [#11415](https://github.com/apache/nuttx/pull/11415) cmake: set NUTTX variable
* [#11488](https://github.com/apache/nuttx/pull/11488) cmake: some fixes for sim/macOS + cmake + libcxx
* [#11475](https://github.com/apache/nuttx/pull/11475) cmake: some fixes for cmake build of libcxx
* [#11735](https://github.com/apache/nuttx/pull/11735) cmake/toolchain: fix compiler warning on ARM32
* [#11624](https://github.com/apache/nuttx/pull/11624) compiler/tasking: fix unreachable code on tasking toolchain
* [#11202](https://github.com/apache/nuttx/pull/11202) tools: Allow apps to customize NuttX build time variables
* [#11808](https://github.com/apache/nuttx/pull/11808) tools: Fix broken exported CMake toolchain file link dependencies
* [#11900](https://github.com/apache/nuttx/pull/11900) tools: Fix cmake-format wrong execution order
* [#11942](https://github.com/apache/nuttx/pull/11942) tools: Fix Export.mk
* [#11908](https://github.com/apache/nuttx/pull/11908) tools: Improve export by adding NuttX current target (arch, chip, board)
* [#11548](https://github.com/apache/nuttx/pull/11548) tools/export: add Zig support for kernel build on linux host
* [#11920](https://github.com/apache/nuttx/pull/11920) tools/gdb: memdump: Enhance memdump
* [#11506](https://github.com/apache/nuttx/pull/11506) tools/link.sh: fix an incorrect variable
* [#11888](https://github.com/apache/nuttx/pull/11888) tools/minidumpserver.py: support quit with gdb
* [#11448](https://github.com/apache/nuttx/pull/11448) tools/mkallsyms: support sorting symbol tables by name
* [#11606](https://github.com/apache/nuttx/pull/11606) tools/nxstyle: can use ',' in the string when declaring it
* [#11710](https://github.com/apache/nuttx/pull/11710) toolchain/lto: enable lto flags only on GNU toolchain
* [#11711](https://github.com/apache/nuttx/pull/11711) toolchain/tasking: add dependencies rules for tasking compiler

Architectural Support

New Architecture Support



Driver Support

Bug Fixes

New Driver Support

Drivers With Significant Improvements

Board Support

Significant Improvements

New Board Support

Boards With Significant Improvements

File System

Bug Fixes

Significant Improvements

Networking

Applications

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:

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.