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

* [#17287](https://github.com/apache/nuttx/pull/17287) sched/clock: Fix missing clock_inittime() call
* [#17423](https://github.com/apache/nuttx/pull/17423) docs/sched/sched: Add documentation for different sleep interfaces
* [#17482](https://github.com/apache/nuttx/pull/17482) sched/clock: Remove unnecessary preprocessor definition
* [#17485](https://github.com/apache/nuttx/pull/17485) sched/misc: correct coredump log format
* [#17517](https://github.com/apache/nuttx/pull/17517) sched/sched: Part 1: add high resolution timer (hrtimer) only (without os tick support with hrtimer) for NuttX
* [#17535](https://github.com/apache/nuttx/pull/17535) sched/signal: assert if call timedwait from interrupt
* [#17545](https://github.com/apache/nuttx/pull/17545) sched: merge task_tcb_s and pthread_tcb_s into tcb to simplify the code.
* [#17546](https://github.com/apache/nuttx/pull/17546) sched/env_putenv:putenv is kernel function need use kmm_free
* [#17564](https://github.com/apache/nuttx/pull/17564) Revert "sched/group: move task group into task_tcb_s to improve perfo…
* [#17584](https://github.com/apache/nuttx/pull/17584) sched: Improvements on sched_timerexpiration.
* [#17640](https://github.com/apache/nuttx/pull/17640) sched/wdog: Fix-up for SMP and Improvements.
* [#17642](https://github.com/apache/nuttx/pull/17642) sched/hrtimer: hrtimer state machine improvement for SMP cases
* [#17644](https://github.com/apache/nuttx/pull/17644) sched/signals: add support to partially or fully disable signals 
* [#17680](https://github.com/apache/nuttx/pull/17680) sched: Remove `CONFIG_SCHED_TICKLESS_TICK_ARGUMENT`.
* [#17681](https://github.com/apache/nuttx/pull/17681) sched/wdog: fix race condition in wd_gettime()
* [#17739](https://github.com/apache/nuttx/pull/17739) sched/task: fix Redundant memory allocation.
* [#17781](https://github.com/apache/nuttx/pull/17781) sched/hrtimer: isolate SMP logic in hrtimer
* [#17784](https://github.com/apache/nuttx/pull/17784) sched/hrtimer: Fix some functional correctness issues.
* [#17796](https://github.com/apache/nuttx/pull/17796) sched/wdog: Simplify the wdog expiration handling.
* [#17822](https://github.com/apache/nuttx/pull/17822) sched: binfmt remove csection
* [#17823](https://github.com/apache/nuttx/pull/17823) sched: merge nxsched_timer_expiration() into nxsched_process_timer() to simplify tick process
* [#17848](https://github.com/apache/nuttx/pull/17848) sched/hrtimer: Some improvements.
* [#17912](https://github.com/apache/nuttx/pull/17912) sched/sched: Improve sched make and cmake scripts
* [#17921](https://github.com/apache/nuttx/pull/17921) sched/hrtimer: fix Kconfig typo
* [#17941](https://github.com/apache/nuttx/pull/17941) sched/tls: fix uninitialized argv pointer in task info
* [#17953](https://github.com/apache/nuttx/pull/17953) sched/task: fix task_exit regression with critical section state
* [#17955](https://github.com/apache/nuttx/pull/17955) sched/addrenv: replace critical section with spinlock for refs protec…
* [#17957](https://github.com/apache/nuttx/pull/17957) sched/environ: rm cestion_in evn
* [#17958](https://github.com/apache/nuttx/pull/17958) sched/irq: handle NULL ISR handler in irq_default_handler
* [#17959](https://github.com/apache/nuttx/pull/17959) sched/signal: use spinlock to protect signal queues
* [#17969](https://github.com/apache/nuttx/pull/17969) sched/sched_roundrobin.c: fix round-robin scheduling in SMP mode
* [#17971](https://github.com/apache/nuttx/pull/17971) sched/list: some improvements.
* [#17981](https://github.com/apache/nuttx/pull/17981) sched: stack debugging improvements
* [#17985](https://github.com/apache/nuttx/pull/17985) sched/task: fix null pointer dereference in fork address environment …
* [#17991](https://github.com/apache/nuttx/pull/17991) sched/signals: improvements for when all signals are disabled
* [#17993](https://github.com/apache/nuttx/pull/17993) sched/wdog: Simplify tickless timer expiration.
* [#18002](https://github.com/apache/nuttx/pull/18002) sched/sched: add sched_timer.c to improve tick processing and enable hrtimer support for scheduler
* [#18007](https://github.com/apache/nuttx/pull/18007) sched/group: add spinlock in group_childstatus.c
* [#18012](https://github.com/apache/nuttx/pull/18012) sched: add spinlock to sched_note_preemption and nxsched_critmon_pree…
* [#18016](https://github.com/apache/nuttx/pull/18016) sched/task: MISRA/Coverity cleanups in scheduler, init, libc spawn, and ARMv8-R IRQ helpers
* [#18026](https://github.com/apache/nuttx/pull/18026) sched/hrtimer: add option for list-based hrtimer management
* [#18034](https://github.com/apache/nuttx/pull/18034) sched/environ: add interrupt context check to getenv
* [#18037](https://github.com/apache/nuttx/pull/18037) sched/tls: fix thread ID initialization in tls_dup_info
* [#18038](https://github.com/apache/nuttx/pull/18038) sched/pthread: use spin_lock_irqsave_nopreempt for mutex head lock
* [#18040](https://github.com/apache/nuttx/pull/18040) sched: move process ID from kernel to TLS for faster access
* [#18041](https://github.com/apache/nuttx/pull/18041) sched/pthread: remove duplicate robust mutex checking logic
* [#18047](https://github.com/apache/nuttx/pull/18047) [BUG-FIX] Fix some bug of sched
* [#18066](https://github.com/apache/nuttx/pull/18066) sched/irq: Avoid same static function name in different files
* [#18070](https://github.com/apache/nuttx/pull/18070) sched/signal: fix the occasional issue where SIGCONT was not executed
* [#18072](https://github.com/apache/nuttx/pull/18072) sched/wqueue: add configuring the stack of an hpwork/lpwork as static
* [#18078](https://github.com/apache/nuttx/pull/18078) sched: add configuration to record the busy waiting time
* [#18080](https://github.com/apache/nuttx/pull/18080) sched/sched: Modify the critical section interface name
* [#18083](https://github.com/apache/nuttx/pull/18083) !sched: Fix MISRA-C violations
* [#18084](https://github.com/apache/nuttx/pull/18084) sched/irq: declare the object in scope
* [#18086](https://github.com/apache/nuttx/pull/18086) sched/irq: avoid casting from signed int to unsigned int
* [#18090](https://github.com/apache/nuttx/pull/18090) sched/irq: Every function must have exactly one exit point
* [#18093](https://github.com/apache/nuttx/pull/18093) sched/irq: fix MISRA C problems for irq_chain.c
* [#18098](https://github.com/apache/nuttx/pull/18098) sched/pthread: move pthread mutex from syscall to user-space
* [#18105](https://github.com/apache/nuttx/pull/18105) sched/irq: Change the function parameter "regs" to "context"
* [#18111](https://github.com/apache/nuttx/pull/18111) sched/irq: Avoid directly converting variables of type uintptr_t to void
* [#18114](https://github.com/apache/nuttx/pull/18114) sched: add trace points during system startup and board initialization
* [#18118](https://github.com/apache/nuttx/pull/18118) sched: fix regression and improve NULL pointer safety in task information functions
* [#18122](https://github.com/apache/nuttx/pull/18122) sched/irq: Fix potential deadlock in irqchain_detach
* [#18131](https://github.com/apache/nuttx/pull/18131) sched/hrtimer: Fix functional correctness issues.
* [#18141](https://github.com/apache/nuttx/pull/18141) sched/hrtimer: refresh code comments to match implementation
* [#18160](https://github.com/apache/nuttx/pull/18160) sched/irq: Add architecture-specific IRQ-to-index mapping interface
* [#18174](https://github.com/apache/nuttx/pull/18174) sched/hrtimer: fix hrtimer regression introduced by recent update and add support for tickless with hrtimer
* [#18175](https://github.com/apache/nuttx/pull/18175) sched/irq: functions should have exactly one exit point
* [#18183](https://github.com/apache/nuttx/pull/18183) sched: Remove FS_PROCFS dependency for SCHED_CRITMONITOR
* [#18184](https://github.com/apache/nuttx/pull/18184) sched: Remove legacy sched_resumescheduler.c
* [#18187](https://github.com/apache/nuttx/pull/18187) sched: call spinlock nopreempt when need disable context swi…
* [#18189](https://github.com/apache/nuttx/pull/18189) sched: replace critical section with spinlock
* [#18190](https://github.com/apache/nuttx/pull/18190) sched/irq: Avoid negative array index in irqchain_dispatch
* [#18191](https://github.com/apache/nuttx/pull/18191) sched/irq: Fix type mismatch in irq_dispatch (MISRA C-2012 Rule 10.3)
* [#18192](https://github.com/apache/nuttx/pull/18192) sched/signal: Optimize code logic
* [#18193](https://github.com/apache/nuttx/pull/18193) sched/semaphore: Fix HIS_CALLS metric violation for MISRA compliance
* [#18196](https://github.com/apache/nuttx/pull/18196) sched: Add bounds checking to prevent OVERRUN defect
* [#18197](https://github.com/apache/nuttx/pull/18197) sched: Fix null pointer dereference (FORWARD_NULL defect)
* [#18198](https://github.com/apache/nuttx/pull/18198) sched: Reduce return points in sched_rrgetinterval() for MISRA compliance
* [#18201](https://github.com/apache/nuttx/pull/18201) sched/semaphore: Code quality improvements and MISRA compliance fixes
* [#18202](https://github.com/apache/nuttx/pull/18202) sched: Reduce return statements in sched_get_stackinfo() for MISRA compliance
* [#18203](https://github.com/apache/nuttx/pull/18203) sched/irq: Consolidate IRQ bounds checking into IRQ_TO_NDX macro
* [#18204](https://github.com/apache/nuttx/pull/18204) sched/irq: Avoid out-of-bounds array access
* [#18205](https://github.com/apache/nuttx/pull/18205) sched_setpriority: Consolidate return statements for MISRA HIS compliance
* [#18208](https://github.com/apache/nuttx/pull/18208) sched_setparam: Refactor nxsched_set_param() with helper functions for MISRA HIS compliance
* [#18210](https://github.com/apache/nuttx/pull/18210) sched: Optimize reader-writer semaphore and achieve MISRA HIS goto compliance
* [#18212](https://github.com/apache/nuttx/pull/18212) sched_getfiles: Consolidate return statements in nxsched_get_fdlist_from_tcb() for MISRA HIS compliance
* [#18215](https://github.com/apache/nuttx/pull/18215) sched_profil: Move static variable to block scope for MISRA C 2012 compliance
* [#18216](https://github.com/apache/nuttx/pull/18216) sched: Consolidate return statements for MISRA HIS compliance
* [#18217](https://github.com/apache/nuttx/pull/18217) sched_profil: Consolidate return statements for MISRA HIS compliance
* [#18220](https://github.com/apache/nuttx/pull/18220) sched_sysinfo: Consolidate return statements for MISRA HIS compliance
* [#18221](https://github.com/apache/nuttx/pull/18221) sched_get_stateinfo: Move static array to block scope for MISRA C 2012 Rule 8.9
* [#18223](https://github.com/apache/nuttx/pull/18223) sched_setscheduler: Eliminate goto statements and consolidate returns for MISRA HIS compliance
* [#18224](https://github.com/apache/nuttx/pull/18224) sched/hrtimer: Fix functional correctness issues and improve the performance.
* [#18237](https://github.com/apache/nuttx/pull/18237) sched: Consolidate return statements in sched_critmonitor() for MISRA HIS compliance
* [#18227](https://github.com/apache/nuttx/pull/18227) sched_getscheduler: Consolidate return statements for MISRA HIS compliance
* [#18235](https://github.com/apache/nuttx/pull/18235) sched_waitid: Code quality improvements for HIS compliance and complexity reduction
* [#18239](https://github.com/apache/nuttx/pull/18239) sched_cpuload: Move static wdog to block scope for MISRA C 2012 Rule 8.9
* [#18240](https://github.com/apache/nuttx/pull/18240) sched_sysinfo.c: misra_c_2012_rule_9_1_violation: uninit_use
* [#18241](https://github.com/apache/nuttx/pull/18241) Fix critical SMP scheduler issues with CPU selection and ready-to-run list management
* [#18255](https://github.com/apache/nuttx/pull/18255) sched/semaphore: optimize the source code
* [#18270](https://github.com/apache/nuttx/pull/18270) sched/spinlock: Replace critical_section with spinlock.
* [#18278](https://github.com/apache/nuttx/pull/18278) sched/sched: fix casting issue found by coverity
* [#18284](https://github.com/apache/nuttx/pull/18284) sched/clock: replace atomic operations with sequence lock for tick counter
* [#18306](https://github.com/apache/nuttx/pull/18306) sched: Fix CANCEL_FLAG_* macro definitions MISRA C:2012 Rule 10.4 violations
* [#18307](https://github.com/apache/nuttx/pull/18307) sched/spawn: Fix MISRA C Rule 10.4 violations
* [#18336](https://github.com/apache/nuttx/pull/18336) sched/waitpid: reduce cyclomatic complexity for HIS/MISRA compliance
* [#18338](https://github.com/apache/nuttx/pull/18338) sched/semaphore: Add debug assert to detect mutex recursion.
* [#18376](https://github.com/apache/nuttx/pull/18376) sched/mqueue: Enable receiving messages on an interrupt handler
* [#18437](https://github.com/apache/nuttx/pull/18437) sched/clock: fix CLOCK_BOOTTIME and CLOCK_MONOTONIC handling
* [#18438](https://github.com/apache/nuttx/pull/18438) sched/sched: fix typos and remove unused declarations in sched.h
* [#18444](https://github.com/apache/nuttx/pull/18444) sched/sched: Add nxsched_abstick_sleep() and make nxsched_ticksleep() a wrapper around it
* [#18448](https://github.com/apache/nuttx/pull/18448) sched/misc: fix incorrect mutex holder retrieval in assert backtrace
* [#18450](https://github.com/apache/nuttx/pull/18450) sched/misc: fix potential out-of-bounds access in coredump stack emission
* [#18451](https://github.com/apache/nuttx/pull/18451) sched/misc: fix incomplete data emission in coredump elf_emit function

MM



libc



tools

various

Major Changes to the Build System

New Features

Bug Fixes

Architectural Support

New Architecture Support

Driver Support

New Driver Support

Drivers With Significant Improvements

Board Support

New Board 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:

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.