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

Compare with Current View Page History

« Previous Version 7 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

Improvements to Core OS

sched

  • #10919 sched: assert: move the backtrace dump after the stack dump
  • #11195 sched: assert: restore assertion registers to array of last registers
  • #10858 sched: assert.c: Print process name in assert dump
  • #11131 sched: Check for zero sleep time and yield CPU
  • #11226 sched: delete check when pick nexttcb in readytorun list
  • #11038 sched: env_dup: fix issue about USE_AFTER_FREE
  • #11102 sched: explicitly select the cpuload clock source configuration
  • #10816 sched: Fix dependencies of CONFIG_SCHED_CPULOAD_ settings
  • #11036 sched: Follow o_cloexe semantics when calling the exec function
  • #10867 sched: format: modify spin_lock_irqsave format
  • #11018 sched: group/killchildren: replace syscall(2) to kernel api
  • #10605 sched: Implement ticket spinlock
  • #10827 sched: Improve adjtime() functionality
  • #11231 sched: lock refine: remove sched_[un]lock in xxx_waitsample
  • #11302 sched: misc/rwlock:Implementing read/write locks.
  • #11347 sched: Print more information in assert
  • #11017 sched: pthread/barrierwait: replace syscall(2) to kernel api
  • #10929 sched: Remove the unused tcb argument from group_setupidlefiles
  • #10776 sched: rw spinlock
  • #11124 sched: rw spinlocks: cosmetic changes
  • #11191 sched: sem_holder.c: When accessing SEM_WAITLIST, use holder's addrenv
  • #11257 sched: semaphore: Move POSIX regulated parts of semaphores into libc
  • #11252 sched: sigaction: Expand si_user for non-kernel signals
  • #10970 sched: smp call exit immediately when cpuset change to 0.
  • #10861 sched: spinlock: Add spin_lock_init and spin_is_locked macro
  • #11348 sched: Stack recored:Add maximum stack statistics when the task is running
  • #9163 sched: Stop the sched timer when possible to save the power in tickless mode
  • #10934 sched: support smp function call
  • #11032 sched: task: [posix]spawn: Simplify how spawn attributes are handled
  • #11241 sched: task: pthread_cancelpt: Fix nxtask_delete from another task group
  • #11165 sched: task: pthread_cancelpt: Move cancel point handling to libc, data to TLS
  • #11097 sched: task: Remove spawn_proxyattrs as obsolete implementation
  • #11177 sched: taskfiles: skip unnecessary file open/close operations to improve performance
  • #11250 sched: taskspawn: fix spawn fail if enable FDCHECK
  • #10834 sched: timer: handle perf count overflow

mm

  • #11068 mm: both use spin_lock_irqxx() when operated delaylist
  • #11183 mm: free delay list when exceeding specified count
  • #11258 mm: kmap: Finalize kmap implementation for RISC-V
  • #10837 mm: kmap: Fix bug in kmm_unmap
  • #10876 mm: kmap: Fix several issues with the kmm_map interface
  • #11114 mm: kmap: Fix bad dependency to ARCH_VMA_MAPPING
  • #11092 mm: improve SMP performance
  • #11152 mm: record the maximum system memory usage
  • #11168 mm: Remove mm_spinlock
  • #10984 mm: Replace enter_critical_section with spin_irqsave

libs

  • #11408 libc: add fgetwc, getwc, ungetwc wchar api implementation
  • #10602 libc: add support for custom streams with fopencookie()
  • #11011 libc: add support for memory buffer stream with fmemopen()
  • #11274 libc: add support for open_memstream
  • #11288 libc: arm: add support of PACBTI
  • #10969 libc: Change errno to set_errno and get_errno
  • #11294 libc: Fix -nan issue with f32
  • #11198 libc: Fix improper handling of 64 bit types for libvsprintf
  • #11322 libc: Handle PCREL_HI20/LO12_I/S relocations correctly
  • #10994 libc: Improve stdio unlock version function
  • #11364 libc: lib_slcd: fix encode/decode of binary nibble to/from ascii hex
  • #11035 libc: localtime: fix the timezone error caused by minor error
  • #11281 libc: machine/arm: align related implementations of armv7 architecture
  • #10927 libc: machine: Remove FAR from sparc
  • #11133 libc: realpath: allocate link buffer of pseudofs to save stack
  • #10913 libc: Refine the implementation of fopen/fdopen
  • #10993 libc: Remove the unused lib_libdtoa.c
  • #11137 libc: Solve some problems encountered during cmake compilation
  • #10992 libc: stdio: Change FILE buffer field from "unsigned char *" to "char *"
  • #11063 libc: stdlib/lib_exit.c: fix multiple definition of __dso_handle and sethost.sh: add MSYS environmen for msys2
  • #11447 libc: stream: add stream interface
  • #11350 libc: Support gdbstub kernal debugging
  • #11346 libc: Supports storing coredump into block devices
  • #10862 libc: memfd: shm_unlink or unlink anonymous file
  • #10891 libc: memfd: turn a runtime error into a linker error
  • #10972 libds: add missing observer_b16.c to cmake build
  • #10915 libdsp: lib_observer.c: use float numbers for some calculations
  • #10979 libdsp: update LP_FILTER comment
  • #11256 libm: Fix an issue that public header files are not exported
  • #11162 libm: newlib: Change the download site to https
  • #11386 libs: log2ceil: Move implementation of log2ceil to a common place
  • #11043 libs: modlib: optimize code and add arch api for allocating data section
  • #11394 libxx: cmake: remove useless code
  • #11050 libxx: Silence warnings when building libcxx.
  • #11301 libxx: upgrade llvm version to 17.0.6
  • #10860 libxx: Use gnu++20 option only if using libcxx

misc

  • #11242 Revert "libc/lib_bzero:Add bzero prototype."
  • #10881 arm, arm64, xtensa, libxx: Change sed -r to sed -E to support macOS
  • #11027 assert: rename __ASSERT to ASSERT to avoid conflict
  • #11025 audio: add amr format support
  • #11055 binfmt/elf: Select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
  • #11238 clock.h: use CONFIG_DEBUG_SCHED to test init ticks
  • #10924 crypto/rsa_verify: export rsa verify via /dev/crypto
  • #10978 debug/assert: decouple configuration of show file name feature
  • #10809 dma: support source/destination address auto step
  • #10870 fixedmath: add abs and sign operations
  • #11111 ioctl: add definitions related to ethtool
  • #11121 ioctl: add SIOCGIWNAME support
  • #11026 kernel: replace all sem_* to nxsem_*: in kernel space
  • #10849 langinfo: The character U+ff0c "," could be confused with the ASCII character U…
  • #11243 list: search prev item in reverse order
  • #11221 poll: pollsetup should notify only one fd passed by caller
  • #10892 refine: move BIT Macro to nuttx/bits.h
  • #11218 spinlock: Move the inclusion of stdatomic.h to source file
  • #10869 sys/types: supporting 32-bit IDs for gid_t/uid_t
  • #11207 tcbinfo:remove total_num form tcbinfo.
  • #11298 video: Update v4l2m2m interface & create videoio.h
  • #11362 virtio.h: add virtio_has_feature api for virtio driver

Major Changes to the Build System

Improvements

  • #11007 Revert "make/archive: Use the full path name when matching or storing…
  • #11047 applications: Move the test tools in the system to the testing
  • #11395 cmake: build file support with libcxx 17.0.6
  • #10982 cmake: correct cmake rule file name
  • #11375 cmake: fix NUTTX_COMMON_DIR
  • #11031 cmake: init RISC-V cmake qemu-rv build
  • #10843 cmake: raise error if previous make build was not cleaned
  • #10879 fix: TreeNode has same attribute with NodeMixin
  • #10968 nuttx: generate nuttx.map file when enable debug link map.
  • #11303 sh: Enhanced compilation system
  • #11432 tools: config.mk: whether verbosity is enabled or not, should use bash
  • #11098 tools: configure.c and tools/sethost.sh Add CONFIG_EXPERIMENTAL for configure windows native

Architectural Support

New Architecture Support

Architecture Improvements

Driver Support

New Driver Support

  • #10770 drivers: add regmap subsystems support.
  • #10902 motor: Add stepper interface
  • #11253 mtd: Adds support to W25Q20CL memory.
  • #11149 mtd: mx25rxx: add support for MX25L25673G chip
  • #11422 net: ksz9477: Add simple port-based static VLAN configuration
  • #11339 net: lan9250: Add LAN9250 driver(SPI and QSPI mode)
  • #11280 sensors: Add support for MS5607
  • #10864 sensors: max31865:RTD-to-Digital Converter
  • #10914 stepper: add DRV8825
  • #11228 tee: add optee client driver module

Drivers With Significant Improvements

  • #11071 Kconfigs: rename {Rpmsg|rpmsg} to RPMGS
  • #11061 can: Add new ioctls
  • #10845 foc: foc_dummy.c: update dummy device state only if dev opened
  • #11176 foc: return scaling factor for phase currents and BEMF via ioctl
  • #10808 ioexpander: Minor fix for ioexpander driver
  • #11147 lcd: add stride support for LCD driver
  • #11185 lcd: change lcd stride from pixel to bytes
  • #10926 math: mpi: add mpi driver in math
  • #11240 misc: Rpmsgblk function optimization
  • #11220 mmcsd: mmcsd_sdinitialize should save csd register into priv->csd
  • #10909 mtd: filemtd:Fix teardown return error number EINVAL
  • #11041 mtd: get mtd_geometry_s.model for mtd partition and optimize code
  • #11187 mtd: s25fl1: fix compile warnings caused by incorrect variable print format
  • #11370 mtd: w25q: add nxsig_usleep to busy waiting in w25qxxxjv_erase_sector()
  • #11391 net: qemu/wifi: Add the virtual wifi function on the emulator.
  • #11216 net: skeleton.c doesn't compile without this patch if ioctls are enabled
  • #10907 note: Change 0/1 to false/true
  • #11153 note: delete sched_note_flatten
  • #10840 note: optimize note performance
  • #10920 note: remove remaining event code
  • #11074 power: pm: use pm_staytimeout() in greedy_governor_activity()
  • #11132 rptun: check the status before stop remote proc
  • #11222 rtc: RTC driver improvement
  • #10831 rtt: make RTT console optional
  • #11296 segger: rtt: correct macro name to avoid unable to change default mode
  • #11419 sensors: mx56xx: Add support for second order compensation
  • #11426 sensors: mx56xx: Fix threshold and calculation
  • #11178 serial: uart_tcsendbreak: Remove cancel point, as tcsendbreak is not one
  • #11402 syslog: ramlog: improve ramlog performance
  • #11392 syslog: ramlog: multi readers
  • #10890 syslog: ramlog: remove sched_[un]lock and rl_nwaiters
  • #11186 timers: Rewrite adjtime() implementation to work for RTC and tickless kernel
  • #11356 usbdev: Add callback for CONFIG_USBDEV_SOFINTERRUPT
  • #11042 usbdev: config USBDEV_TRACE_INITIALIDSET when disbale USBDEV_TRACE
  • #11161 usbdev: Solve some problems of USB hotplug
  • #10985 usrsock: Make the field of usrsock_request native alignment
  • #11103 usrsock: rpmsg_server: Keep msg order in recursive call
  • #11107 usrsock: socket fallback with ENETDOWN
  • #10874 video: fb: Add fb_register_device
  • #10812 video: goldfish: Remove the vsync residual code
  • #11380 video: goldfish: optimize goldfish fb register
  • #11249 video: video.c: modify set_buf call seqence in start_capture function.
  • #11224 video: wait when the vsync queue is full in FBIO_WAITFORVSYNC
  • #11382 virtio: Support for setting MAC addresses of the virtio-net interfaces
  • #11385 virtio: virtio-gpu: convert virito-gpu fb_register to virtio_gpu_fb_register
  • #11201 virtio: Virtio Qemu 8.1.2 issues fix
  • #11013 wireless: bluetooth: Add option to set the HCI TX thread affinity while running with SMP enabled
  • #11072 wireless: bluetooth: rpmsg depends on RPTUN

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:

  • 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