You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Work In Progress

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

  • #13395 Critmon optimize, make possible open cpuload based on critmon and disable critical section & sched_lock to save cost.
  • #12691 sched.h: add SCHED_BATCH and SCHED_IDLE definition
  • #12584 sched.h: CPU_XXX macros can also be used without CONFIG_SMP
  • #12703 sched.h: Update doc link for tcbinfo_s
  • #13274 sched: add DEBUGASSERT to assure that affinity not zero
  • #13341 sched: adjust the scheduling strategy
  • #13105 sched: change pthread_mutex implementation from sem to mutex
  • #12742 sched: Improve Kconfig help of INIT_ENTRYPOINT
  • #13525 sched: move DUMP_ON_EXIT to sched
  • #13211 sched: replace up_cpu_index with this_cpu
  • #13271 sched: use this_task replace nxsched_self
  • #13263 sched/event: clear pending events before enable the scheduler
  • #13329 sched/group/setuptask_file: duplicate idle task fd for kernel thread
  • #13083 sched/irq: correct critical section to spin lock
  • #12802 sched/nxevent: add support of kernel event group
  • #13264 sched/policy: move g_policy from data to rodata
  • #13017 sched/sched: simplify the implementation of the function nxsched_readytorun_setpriority
  • #13134 sched/signal: fix pthread_kill use after free
  • #13530 sched/signal: Simplified Implementation for SIGEV_THREAD_TID
  • #12283 sched/signal: There is no need to use sched_[un]lock
  • #12553 sched/tcb: amend pull/12320  

MM

  • #12550 mm: add mm_initialize_pool, make pool more flexible
  • #12556 mm: mm_threshold perfer from init
  • #12501 mm/iob: Simplify IOB alloc/free logic
  • #12923 mm/map/vm_region.c: Fix usage of void* arithmetics
  • #12946 mm/mempool: rename the mempool_alloc and mempool_free function
  • #12659 mm_ubsan: add dummy to bypass runtime actions
  • #12646 mm_ubsan: add implement for dynamic_type_cache_miss

libc

tools

various

Major Changes to the Build System

New Features

  • #12904 [Cross-Platform] Remove Unix-specific code in savedefconfig and replace it with cmake script
  • #12910 [cmake] add_application supports only registration but not compilation
  • #12964 [cmake] split the archive process to avoid parameter too long problems
  • #13019 [cmake] add nuttx_post and app_context inter targets for timing control
  • #12908 [Win32 sim] enable win32 native platfrom sim compilation by CMake fix compilation error
  • #12900 arch/sim/src/cmake/Toolchain.cmake: macOS fix unknown options: --gc-sections
  • #12856 build: Fix libc/pwd CMakeLists.txt
  • #13347 build: fix memory manager compile options for CMake
  • #12859 build: Fix Toolchain.cmake for CONFIG_SIM_ASAN enabled
  • #12880 build: set CMake policy to allow FetchContent_Populate
  • #12784 build/cmake: add user_ldscript preprocessing
  • #12866 build/cmake: fix system include dir for PROTECTED mode
  • #13143 board/maix-bit: initial cmake support
  • #13090 board/qemu-armv7a: add CMake support
  • #12868 boards/rv-virt: cmake for pnsh and nsbi
  • #13175 Cmake: [arch arm] added initial support for MSYS2
  • #13389 cmake: add support for PCI
  • #12516 cmake: reuse OpenAMP own CMake script for CMake build
  • #12592 cmake: refine sim cmake redefine symbols
  • #13449 cmake: Refactor extra_lib tagert,build include_arch path,refine sim link script target
  • #12667 cmake: strip file full path to save the code size
  • #13451 cmake: support openlibm,dhara,libmcs,lic regex CMake build scripts
  • #12608 cmake/add_library: enable library install by default
  • #12714 cmake/boards: fix build break on custom board
  • #13085 CMakeLists.txt: warning D9002 on Windows + msvc
  • #13253 cmake/nuttx_kconfig.cmake: fixed the correct .config path in the buid folder
  • #13276 cmake/tricore: filter out nostdlib in linker phase to avoid build break
  • #13499 libc: add missing preadv/pwritev in CMakeLists.txt
  • #12700 riscv/cmake: fix Toolchain.cmake
  • #12694 riscv/k230: fix apps ROMFS cmake
  • #12996 riscv/qemu-rv: add RPTUN cmake
  • #12634 sim/cmake: enable garbage collection of unused input sections
  • #12721 tools/testbuild.sh: add option -N use CMake with Ninja
  • #12805 tools/testbuild.sh: added store compilation artifacts for cmake
  • #12724 tricore/cmake: add support of cmake build for tricore

Bug Fixes

  • #12558 [bugfix] cmake:fix a few issues during CMake build
  • #12915 [bugfix] fix CMake build block when enable LTO
  • #12582 Fix cmake for cxd56xx
  • #12581 cmake: Fix build failure when -DNUTTX_APPS_DIR is specified
  • #13171 CMake: fix CMake compile errors during the protected build mode
  • #13081 cmake: fix invalid syntax when generating version.h from tags

Architectural Support

New Architectures

Architecture Improvements


  • #12460 arch/risc-v/common: provide architecture specific perfmon bindings.
  • #12546 arch/riscv: fix NuttSBI PMP config


Driver Support

New Driver Support

  • #11605 Coresight: add init coresight driver framework


Drivers With Significant Improvements



Board Support

New Board Support


  • #11709 at32uc3a0: Initial work for SimpleMachines' Mizar32-A


Boards With Significant Improvements


  • #12544 riscv/nuttsbi: add MTVAL argument


File System

New FS

Significant Improvements

  • #13514 add sched note for littlefs/romfs/rpmsgfs
  • #12863 Fix the location of tmpfs pwrite write and Fixed some code check warnings
  • #13500 fs.h: fix a comment in file_operations
  • #12532 fs: add backtrace to where file opens
  • #13150 fs: add fs_heap, support shm/tmpfs/pseudofile with indepent heap
  • #12587 Fs: backtrace tweak
  • #13512 fs: Dump the list of files when the file description runs out
  • #13194 fs: nfs: Fix nfsmount error
  • #12978 fs: Rename node with inode.
  • #12969 Fslock optimize
  • #12937 fs/mnemofs: Fix journal log rw issue, rw size issue
  • #12945 fs/hostfs: Replace strcpy with memcpy
  • #13443 fs_inode:Change the type of i_crefs to atomic_int
  • #13458 fs_dup2 bug fix, memleak
  • #13573 fs/chmod/fchmod/lchmod: only set permissions by mode_t and ignore othjer bits
  • #12931 fs/epoll: Optimize implementation details
  • #12615 fs/fat: Fix Fseek Bug When File Size Is Multiple of Cluster Size
  • #12548 fs/fat/fs_fat32.c Return EOF when reading past the end of the file.
  • #13521 fs/dump: correct SCHED_DUMP_ON_EXIT to DUMP_ON_EXIT
  • #12990 fs/mmap: Fix build warning with [-Wmaybe-uninitialized].
  • #13132 fs/procfs: Supports any number of thread displays
  • #13123 fs/shmfs:Avoid an integer overflow
  • #12790 fs/spiffs: Return OK on spiffs_fstat success
  • #13407 fs/mmap: Add MADV_HUGEPAGE definitions
  • #13406 fs/mmap: Ensure anonymous pages are initialized to zero
  • #12661 fs/mnemofs: Adds Block Allocator
  • #12668 fs/mnemofs: Add parent iterator and path methods.
  • #12680 fs/mnemofs: Add LRU and CTZ methods
  • #12683 fs/mnemofs: Add journal methods.
  • #12702 fs/mnemofs: Add master node and r/w methods
  • #12943 fs/mnemofs: Autoformat
  • #12808 fs/mnemofs: Refactoring path logic, direntry size bug fix, open free bug fix
  • #12658 fs/mnemofs: Setup and VFS methods
  • #13475 fs/mount: add ftl proxy to mount block filesystem on mtd device
  • #13258 fs/mq_open: revise comments
  • #13326 fs/files_extend: Bug Fix
  • #13331 fs/inode: using inode reference to indicate unlink and simply code
  • #13077 Fsnotify
  • #12942 Hostfs support get filepath by ioctl
  • #12817 procfs/meminfo: free delaylist before reporting
  • #13058 procfs/mempool: fix did not remove when pool not enabled
  • #13092 rpmsgfs: fix out of bounds access caused by data transmission farmat
  • #13063 rpmsgfs: set fs type to rpmsgfs when mount through rpmsgfs
  • #13348 smartfs procfs: fix double declare g_smartfs_operations
  • #12939 rpmsgfs_client:Fix error return exception
  • #12941 rpmsgfs: support filelock
  • #13098 tmpfs: old data was loaded when SEEK_SET beyond end of the file
  • #13490 vfs:fix a type mismatch issue and a typo


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


  • No labels