Work In Progress
Work In Progress
What's New In This Release
Major Changes to Core OS
sched
mm
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
New Features
Bug Fixes
Architectural Support
New Architecture Support
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:
- https://gitbox.apache.org/repos/asf?p=incubator-nuttx.git
- https://gitbox.apache.org/repos/asf?p=incubator-nuttx-apps.git
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.org. For 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.