What's New In This Release

Major Changes to Core OS

Sched

  • #16148 Sched small sem cleanups
  • #16394 sched: Add max delay tick limitation for wdog/wqueue.
  • #16389 sched: Remove checking of WDOG_ISACTIVE when cancelling wdog
  • #15998 sched: simplify call of get current tcb
  • #16262 sched/affinity: Fix CPU_LOCKED functionality for some SMP calls
  • #16134 sched/gettid: Move thread ID to TLS
  • #15951 sched/init: Fix build error with CONFIG_BOARD_CRASHDUMP_CUSTOM
  • #16113 sched/mutex: add ticked lock version for mutex/rmutex
  • #16329 sched/queue: fix typo in dq_insert_mid macro
  • #15982 sched/sem_waitirq: Move kmm_map() call to sem_wait()
  • #16334 sched/signal: Fix signal delivered to a wrong thread
  • #16333 sched/signal: signal dispatch cleanups
  • #16301 sched/signal/sig_dispatch: Fix a race condition between nxsig_tcbdispatch and nxsig_deliver
  • #16383 sched/timedwait: Ensure critical section for nxsig_timeout
  • #15937 sched/wdog: Support for periodic wdog.
  • #16343 sched/wdog: watchdog timer improvements.
  • #16342 sched/wqueue: Fix wd_cancel_sync and improve work_queue performance.
  • #16231 sched/wqueue: Refactor delayed and periodic workqueue.

libs

  • #16130 libc/arm: optimize crc32/crc32c for arm
  • #16311 libc/backtrace: Fix compilation error when set LIBC_BACKTRACE_BUFFSIZE
  • #16374 libc/fdcheck: fix issue about  a double close check
  • #16149 libc/semaphore: Read semaphore value by using NXSEM_COUNT macro
  • #15944 libc/strings: fix compile warning if enable -Wshadow
  • #16142 libs/libc/crc16: add some comments for crc16ccitt
  • #16143 libs/libc/crc16: add support of CRC-16/ANSI(aka CRC-16/IBM)
  • #16360 libs/libc/semaphore: Enable semaphore fast wait/post paths for counting semaphores
  • #16147 libs/libc/crc16: Separate implementation of crc16xmodem from crc16

tools

  • #16241 tools: Update Unix.mk for CONFIG_ARCH_BOARD_COMMON
  • #16000 tools/bdf-converter: Fix loop termination condition.
  • #16015 tools/checkpatch: Use gmake on BSD, make otherwise.
  • #16402 tools/CMakeLists.txt: Improvements to CMakeLists.txt file
  • #16413 tools/Config.mk: add -DHAVE_STRNDUP=1
  • #16452 tools/doreleasenotes.py: remove deprecater API
  • #15854 tools/espressif: Improve version checking by subprocess
  • #16169 tools/host_info_dump.py: fix UnboundLocalError: local variable 'vendor_specific_module_path' referenced before assignment
  • #15953 tools/mksyscall: fix 106: Unexpected end of line: "FAR char * co"
  • #16396 tools/nxstyle.c: fix error Relative file path on Windows Native
  • #16426 tools/nxstyle.c: fix defined but not used warning
  • #16313 tools/process_config: remove unused unnecessary printing

Architectural Support

New Architecture Support

  • #16138 arch/arm: add stm32c0 support
  • #16296 arch/arm/stm32f0l0g0: Add support for STM32G0B1xx
  • #15996 arch/arm64/a527: Add support for Allwinner A527 SoC
  • #15921 arch/risc-v/eic7700x: Add support for ESWIN EIC7700X SoC

Improvements

ARM

  • #16018 arch/arm: add missing include for itm_syslog
  • #16019 arch/arm: Fix crash when using memcpy/memset as RAMFUNCS
  • #16344 arch/arm: fix arm-7a mmu using l1entry swap, we should use per-process mmu table, can speed up for above 10 times.
  • #15897 arch/arm: guard .thumb_func use
  • #16227 arch/arm/armv6-m/CMakeLists.txt: fix undefined reference to up_show_cpuinfo
  • #16120 arch/arm/armv8-r: Enable fpu before arm_el_init
  • #16112 arch/arm/imx6: fix missed comma
  • #16446 arch/arm/imxrt: rt10xx: MPU fixes and allow to put ramvectors inside ITCM.
  • #16460 arch/arm/imxrt: rt117x fix TCM/OCRAM ECC backdoor access
  • #15988 arch/arm/nucleo-f429zi: Add board flash size config for STM32F429ZI
  • #16308 arch/arm/nrf53: fix broken RPMSG HCI server
  • #16281 arch/arm/rp2040: Allow simultaneous selection of multiple interrupt modes
  • #16037 arch/arm/rp2040|rp23xx: remove ADC option from Kconfig
  • #16348 arch/arm/rp2040/gpio: Fix debug assertion for interrupts.
  • #16244 arch/arm/rp23xx: Address the spinlock errata RP2350-E2
  • #16306 arch/arm/rp23xx: add dsp/fpu extensions support
  • #16330 arch/arm/rp23xx: add missing fpu init for smp cores
  • #16363 arch/arm/rp23xx: allow to use armv8m systick lowerhalf
  • #16214 arch/arm/rp23xx: Fix IRQ prioritize
  • #16247 arch/arm/rp23xx: fix irq priority levels
  • #16253 arch/arm/rp23xx: fix linker scripts 100% RAM usage bug
  • #16304 arch/arm/rp23xx: fix not restart after TX error
  • #16210 arch/arm/rp23xx: Fix PWM registers access
  • #16299 arch/arm/rp23xx: fix watchdog, enable TICK blocks
  • #16331 arch/arm/rp23xx: update serial code to recent smp fixes from cxd56 serial code
  • #16300 arch/arm/rp23xx: update USB PLL/VCO/FBDIV
  • #16349 arch/arm/rp23xx: remove spinlock from up_txint
  • #16395 arch/arm/rp23xx: resets: do not reset USBCTL, SYSCFG
  • #16372 arch/arm/rp23xx: wdog: Ensure setup before register phase
  • #16398 arch/arm/rp23xx: xosc: Update startup delay calculation
  • #16303 arch/arm/sama5: Add support for reset reason logging
  • #16078 arch/arm/sama5/spi: fix ifdelay setup in spi_setdelay call
  • #16079 arch/arm/samv7: enable GPIO clock even if interrupt not enabled
  • #16434 arch/arm/samv7/sam_us.c: disable interrupts for flash access
  • #15900 arch/arm/samv7/spi: fix ifdelay setup in spi_setdelay call
  • #15991 arch/arm/stm32: fix stm32f1xx alarm support
  • #16102 arch/arm/stm32l4: Add CMakeLists for the STM32L4
  • #16206 arch/arm/stm32h5: Add USART6 serial driver config.
  • #16178 arch/arm/stm32h5: implement flash driver for progmem
  • #16204 arch/arm/stm32h5: copy bss and initialized data before configuring hardware
  • #16180 arch/arm/stm32h5: DTS Hardware Files
  • #16207 arch/arm/stm32h5: Fix ADC internal channel configuration.
  • #16422 arch/arm/stm32h5: Fix FLASH bank logic during erase operations.
  • #16205 arch/arm/stm32h5: Fix i2c compiler warnings.
  • #16218 arch/arm/stm32h5: GPDMA Hardware files
  • #15718 arch/arm/STM32H5: Initial ICACHE Support
  • #16220 arch/arm/stm32h5: organize peripheral Kconfig selection
  • #16224 arch/arm/stm32h7: unassigned ret variable in SIOCSCANBITRATE.
  • #16338 arch/arm/stm32f0l0g0: Add STM32G0 Flash driver.
  • #16150 arch/arm/stm32f0l0g0: add watchdog support
  • #15949 arch/arm/stm32f0l0g0: Fix SPI reads when nbits is 8
  • #16137 arch/arm/stm32f0l0g0/stm32_adc.c: fix ADC calibration

ARM64

  • #15939 arch/arm64: Add up_perf_init for qemu.
  • #15938 arch/arm64: Improvements on ARM generic timer drivers.
  • #16387 arch/arm64/imx9: Extend ELE API with RNG support
  • #16458 arch/arm64/imx9: Guard EL3-only features when booting at EL1
  • #16332 arch/arm64/imx9: Support for AHAB authentication + ROMAPI
  • #15970 arch/arm64/imx9: Support for imx9 edgelock enclave
  • #16453 arch/arm64/toolchain: Add -fstack-usage for stack analysis

AVR

  • #16365 arch/avr: AVR fixes and support for AVR DA/DB family
  • #16451 arch/avr: fix up_saveusercontext and other smaller changes
  • #16268 arch/avr: Fixes before adding support to AVRDB
  • #16457 arch/avr/atmega: Resolve memory corruption preventing boot

RISC-V

  • #16223 arch/espressif: Add dedicated GPIO support for esp32[-s2|-s3|-c3|-c6|-h2]
  • #16350 arch/espressif: Add SDM support for esp32[-|-s2|-s3|-c3|-c6|-h2]
  • #16320 arch/espressif: Add variable to override MCUboot version and URL
  • #16391 arch/espressif: Fixes for Quadrature Encoder mode of PCNT peripheral
  • #16315 arch/risc-v: Add RS485 support for esp32[-c3|-c6|h2]
  • #16173 arch/risc-v: PANIC() on system call crash
  • #16014 arch/risc-v: Fix wrong source name in make script
  • #16266 arch/risc-v: save/restore fpu registers always when CONFIG_ARCH_LAZYFPU is off
  • #15929 arch/risc-v: tick timer improvements
  • #15941 arch/risc-v/common: Fix unaligned stack access on 64-bit risc-v
  • #16252 arch/risc-v/esp32{c6,c3,h2}: Fix bootloader flash compiler error
  • #16284 arch/risc-v/esp32{c6,c3,h2}: Fix bootloader crash when flash QIO is enabled
  • #15992 arch/risc-v/esp32[c3|c6|h2]: Fix efuse issue on MCUBoot
  • #16108 arch/risc-v/esp32h2: Set the default SPI flash frequency to 64MHz
  • #16219 arch/risc-v/espressif: Bump common source version
  • #16175 arch/risc-v/espressif: Fix bug with usbconsole and DEBUG_FEATURES
  • #15920 arch/risc-v/espressif: Remove usb serial workaround for esp32 modules
  • #16392 arch/risc-v/espressif/esp_pcnt.c: counter accumulation fix
  • #16292 arch/risc-v/k230: update documents
  • #15979 arch/risc-v/mpfs ethernet improvements
  • #16031 arch/risc-v/mpfs: Remove big kernel lock from several drivers
  • #16026 arch/risc-v/mpfs/mpfs_rcc: Add stub driver for FPGA clock and reset controller
  • #16126 arch/risc-v/mpfs/mpfs_entrypoints.c: Change atomic_load > atomic_read
  • #16177 arch/risc-v/mpfs/usb: Align usb_ctrlreq_s properly to 32-bit boundary

SIM

  • #16285 arch/sim: add CAN interface support
  • #16162 arch/sim: Add i2c setup and shutdown interface
  • #16381 arch/sim/Kconfig: simulated CAN depends on LINUX host
  • #16433 arch/sim/sim_canchar.c: fix compilation when CAN FD is disabled
  • #16371 arch/sim/sim_canchar.c: notify upper-half driver that tx done
  • #16358 arch/sim/sim_oneshot: Calculate next oneshot time in ticks instead of…

X86_64

  • #16287 arch/x86_64: add debug interface
  • #15935 arch/x86_64: Implement TSC frequency query via CPUID 0x40000010
  • #16288 arch/x86_64: support for stack canaries

XTENSA

  • #15866 arch/esp32_partition: add some partition operation interfaces for esp32
  • #16260 arch/esp32_partition.c:  fix the incorrect boot sequence when switching from Factory to OTA_1
  • #15885 arch/esp32_himemcdev: Replace file descriptor with node
  • #15904 arch/esp32_spi: Add check to see if the TX_FIFO is empty
  • #16092 arch/xtensa/common: Make esp32 wlan device configurable
  • #16157 arch/xtensa/espressif: Fix ESP32-S2 SPI flash frequency selection
  • #15993 arch/xtensa/espressif: Fix I2C Slave driver error
  • #15855 arch/xtensa: add CONFIG_SPIRAM_MEMTEST from ESP-IDF
  • #16155 arch/xtensa: Add common I2S support for esp32[- |-s2|-s3]
  • #16208 arch/xtensa: add crt0 to initialize environment
  • #15907 arch/xtensa: initial support for debugpoint api
  • #16022 arch/xtensa: fix definition for _int32_t and _uint32_t
  • #16127 arch/xtensa: move espnow from esp32 to common/espressif
  • #16016 arch/xtensa/esp32: Add support for hardware accelerated SHA
  • #15962 arch/xtensa/esp32: espnow improvements
  • #16012 arch/xtensa/esp32s3: Add esp32s3 lcd ev v1.5 support
  • #16152 arch/xtensa/esp32s3: Fix bug regarding SPI flash operation mode
  • #16261 arch/xtensa/esp32s3: fix tickless mode timer unexpect interrupt handle
  • #16085 arch/xtensa/esp32s3: The MISO and C/S pins are optional
  • #15954 arch/xtensa/esp32[s2|s3]: Add number of IRQ status lists for PHY initialization configuration

Board Support

New Board Support

  • #16168 boards/arm: add nucleo-c092rc support
  • #16293 boards/arm/stm32f0l0g0: Add Nucleo G0B1RE support.
  • #16039 boards/arm/ra4: Add support for Seeed Xiao RA4M1 Board
  • #15968 boards/arm/rp23xx/xiao-rp2350 Add support to XIAO RP2350 Board
  • #16001 boards/arm64/a527/avaota-a1: Add support for PINE64 Yuzuki Avaota-A1 SBC (Allwinner A527 SoC)
  • #16443 boards/avr/atmega: Added Elegoo Mega2560r3 board support
  • #16274 boards/risc-v/esp32c3 Add initial support to Seeed Studio XIAO ESP32C3
  • #16346 boards/risc-v/esp32c6 Add initial support to Seeed Studio XIAO ESP32c6
  • #15943 boards/risc-v/eic7700x/starpro64: Add support for PINE64 StarPro64 SBC (ESWIN EIC7700X SoC)
  • #16027 boards/xtensa: Add support for szpi-esp32s3
  • #16161 boards/xtensa/esp32s3: Add initial support for Seeed Studio XIAO ESP32S3

Improvements

  • #16181 boards/Kconfig &&  drivers/serial/Kconfig Add depends on
  • #16234 boards/[xtensa|risc-v]/esp32[|s2|s3|c3|c6|h2]: Update flash mappings for MCUboot
  • #16251 boards/[risc-v|xtensa]/esp32[|c3|c6|h2|s3]: set coexiram sections
  • #15999 boards/arm/imx6: Add support for mounting tmpfs file system
  • #16298 boards/arm/imx93-evk: kernel build for AHAB boot
  • #16034 boards/arm/nucleo-f302r8: add ADC support
  • #16035 boards/arm/nucleo-f302r8: add rs485 support
  • #16382 boards/arm/nucleo-f429zi: Add example trace
  • #15995 boards/arm/nucleo-f746zg: Add example with apps note and trace
  • #15974 boards/arm/nrf52/nrf52840-dk: add GPIO driver based on leds and buttons
  • #15956 boards/arm/nrf5340dk: add dev gpio support for nrf5340dk
  • #16354 boards/arm/rp23xx/raspberrypi-pico-2: add smp config
  • #16146 boards/arm/stm32f401rc-rs485: Add support to BMP180 Sensor
  • #16163 boards/arm/stm32f0l0g0: unify liker scripts
  • #15861 boards/arm/stm32f401rc-rs485: Add support to GPIO Subsystem
  • #16270 boards/arm/stm32f401rc-rs485: Add support to ST7735 LCD
  • #16307 boards/arm/stm32f7/nucleo-f767zi: enhance button support
  • #16327 boards/arm/stm32h5/nucleo-h563zi: Add USART2 board defines.
  • #16279 boards/arm/stm32h7: Fix too small usbhost stack size
  • #16111 boards/arm/stm32h750b-dk: adapt to stm32h750b-dk development board
  • #16195 boards/arm/tiva/tm4c123g-launchpad: add CMakeLists.txt
  • #16091 boards/esp32: add heap test to psram defconfig
  • #16277 boards/esp32c3: modify nimble defconfig to use UART0 as serial console
  • #16291 boards/esp32s2: add -fno-omit-frame-pointer to saola board
  • #16316 boards/esp32s3: fix rtc segment on linker script
  • #15874 boards/esp32s3: move QEMU toywasm to different defconfig
  • #16294 boards/risc-v: add MPU60x0 bringup support to ESP32C6
  • #16408 boards/sama5d3-xplained: Add knsh configuration
  • #16403 boards/sama5d3-xplained: Fix mmc card detection.
  • #16414 boards/sama5d3-xplained: Use common usb host waiter.
  • #15928 boards/sim/adb: default enable shell service
  • #16094 boards/szpi-esp32s3: Add support for LCD
  • #16076 boards/szpi-esp32s3: Enable LCD backlight (LEDC/PWM)
  • #16100 boards/szpi-esp32s3: Enable LVGL
  • #16096 boards/szpi-esp32s3: Enable PSRAM
  • #16140 boards/szpi-esp32s3: Set LCD default backlight brightness
  • #16399 boards/thingy53: add RPMSG HCI example with nimble
  • #16441 boards/xtensa/esp32: add GC9A01 LCD driver support for esp32 based boards
  • #16229 boards/xtensa/esp32: Fix the SPI Flash MTD block device number
  • #16255 boards/xtensa/esp32[|s2|s3]: Fix unknown disassembling instructions
  • #16025 boards/xtensa/esp32s3: Merge common configurations
  • #16008 boards/xtensa/esp32s3: modify ARCH_CHIP for psram_usrheap
  • #16136 boards/xtensa/esp32s3: Move some .bss sections to the external RAM
  • #15898 boards/xtensa/esp32s3-devkit/fastboot: Enable fastboot oem shell

Documentation

  • #16406 DOCS: Application documentation
  • #16439 DOCS: AVR README.txt migration
  • #16321 DOCS: Chip tagging
  • #15946 Documentation: Add photo of PINE64 StarPro64 SBC
  • #16273 Documentation: Add Seeed Studio XIAO ESP32C3 Board
  • #16347 Documentation: Add Seeed Studio XIAO ESP32C6 Board
  • #16160 Documentation: Add Seeed Studio XIAO ESP32S3 Board
  • #16040 Documentation: Add XIAO RA4M1 Board
  • #16239 Documentation: Fix bad practice instructions
  • #15947 Documentation: lpc31xx: typo fix in board olimex-lpc-h3131 document
  • #16449 Documentation: Migrate arm64 READMEs
  • #16339 DOCUMENTATION: Migrate READMEs
  • #16328 DOCUMENTATION: Migrate README.txt to RST format
  • #16033 Documentation: move debug pages to a separate top level page
  • #16002 documentation: update documentation on Espressif devices 
  • #16250 Documentation: update rp2350 peripheral status
  • #16351 Documentation: update rp23xx page for recent changes
  • #15977 Documentation/uorb: fix typo in uorb chapter
  • #16006 Documentation/games: Add snake game documentation
  • #15930 Documentation/applications/benchmarks/cyclictest: -q
  • #16236 Documentation/applications/examples/elf/index.rst: Update for PR #3062 in nuttx-apps
  • #15981 documentation/boot/nxboot: update nxboot documentation
  • #16418 Documentation/beaglebone-black: Remove readme txt file.
  • #16032 Documentation/benchmarks/mtd: Add MTD transfer rate test app docs.
  • #16461 Documentation/drivers/analog/adc/ads1115: Add missing documentation for ioctl
  • #16419 Documentation/sama5d3-xplained: Remove duplicate link.
  • #16405 docs/contributing: Add board documentation template
  • #16362 docs/rp2040: Remove documentation duplication of RP2040 boards.
  • #16275 docs/tags: Introduce tagging feature to the documentation.
  • #15969 Seeed xiao rp2350 documentation
  • #16282 style: fix typos in documentation
  • #16407 WIP: Documentation: replace first person perspectives

Audio

Improvements

  • #15958 audio/composite: merge composite instance allocate to one times
  • #15957 audio/pcm_decode: fix typo in assert condition

Driver Support

New Driver Support

  • #16011 drivers/analog/ads1115: Add support for TI ADS1115
  • #16276 drivers/analog/mcp47x6: Add support for MCP47X6 DAC series
  • #16309 drivers/misc/optee.c: Add an SMC driver for arm
  • #16397 drivers/sensors: Add BME688 gas sensor
  • #16041 drivers/sensors: Add CXD5602PWBIMU driver for IMU Add-on board
  • #15990 drivers/sensors/fakesensor: Add baro sensor type to fakesensor
  • #16087 drivers/sensors/nau7802: Add support for the NAU7802
  • #15828 drivers/wireless: Add support for the RN903 and RN2483 LoRa modules

Improvements

  • #16121 drivers/bch: Add CONFIG_BCH_FORCE_INDIRECT
  • #16379 drivers/can: move CAN utils to CAN common files
  • #16380 drivers/ctucanfd_pci.c: fix pointer unaligned GCC error
  • #16393 drivers/ctucan: fix IRQ ctrl
  • #16421 drivers/ctucanfd_pci.c: fix frame reception
  • #16254 drivers/ioexpander/icjx: add option to set filters during initialization
  • #16267 drivers/lcd/ili9341: Add custom width/height display options
  • #15923 drivers/lcd/st7789: add option for SPI delay control
  • #16104 drivers/lcd/st7789: Send RAMCTRL if little endian
  • #16109 drivers/lcd/st7789: Support mirror V
  • #13164 drivers/mmcsd/mmcsd_sdio.c: use dma to receive setup if dma is enabled
  • #15987 drivers/mtd: ramtron multi-device spi bus support
  • #16075 drivers/mtd/at45db.c: write to page without built-in erase
  • #16021 drivers/mtd/gd55: fix uninitialised variables
  • #16081 drivers/mtd/mtd_cfi: Add MTDIOC_ERASESTATE
  • #15915 drivers/net: update format specifier on lan9250 driver
  • #16166 drivers/rpmsg: correct crc16 catalogue to CRC-16/IBM
  • #16438 drivers/sensors: add missing SENSORS prefix after d68476796a
  • #16425 drivers/sensors: fix various coding style issues
  • #16243 drivers/sensors/lis2mdl: Fix SYSLOG call.
  • #16086 drivers/serial: Check again the RX buffer, then check file flags
  • #16077 drivers/serial: gdbstub need enable irq
  • #16080 drivers/serial/cdcacm: config to enable or disable reduce one copy
  • #16029 drivers/serial/cdcacm: Get the status of rx or tx buf by ioctl
  • #16110 drivers/serial/uart_rpmsg: simplify initialization process of uart_rpmsg
  • #15925 drivers/syslog: add cdcacm channel
  • #15926 drivers/syslog: add ramlog write multiple bytes for interrupt handlers
  • #15994 drivers/thermal: Update state when temp is stable
  • #16376 drivers/usbhost: add xHCI PCI support
  • #15927 drivers/usbhost: recognize sim usb cdcacm composite device
  • #16359 drivers/usbdev/Kconfig: fix COMPOSITE_VENDORSTR description
  • #16435 drivers/usbdev/cdcncm.c: Fix issue with USB unplug/replug not restarted link
  • #16257 drivers/video/fb.c: Add startup splashscreen option
  • #16222 drivers/video/vnc: Replace direct semcount access with nxsem_get_value
  • #15967 drivers/wireless/lpwan/rn2xx3: Fix UART dependency

File System

Improvements

  • #16375 fs/close: move inode to last to void race condition
  • #15842 fs/drivers: Avoid causing a busy loop due to context switching induced by sem_post.
  • #16437 fs/inode: Fix inoderemove when removing an inode without parent
  • #15945 fs/littlefs: Add read-only parameter
  • #16164 fs/procfs: fix potential null pointer access in procfs_opendir
  • #16295 fs/procfs: Improve subdirectory recognition
  • #15971 fs/vfs/fs_poll: Add noinstrument_function to poll_notify function
  • #16388 fs/vfs/fs_dup.c: before file_allocate should restore minfd if define …
  • #15963 fs/virtio-9p:When virtio-9p is not supported, return -ENODEV
  • #16171 littlefs_open: sync the file only when O_TRUNC is specified

Networking

Improvements

  • #15980 net: sixlowpan icmpv6 return from udp_input
  • #16225 net: use bps units for bitrate in SocketCAN interfaces.
  • #15952 net/can: fix timestamp
  • #15965 net/can: Fix NULL dereference for I/O Block
  • #16199 net/netdev: Change SIOCSCANBITRATE to require interface down.
  • #15899 net/socket/getsockopt: move the options check to the upper layer
  • #16456 net/tcp: Fix keep-alive implementation
  • #16240 net/tcp/tcp_conn.c: optimize the port conflict detection rules for tcp_listener()
  • #15978 net/udp: correct icmp(v6) response from udp_input
  • #16024 nuttx/wireless/ioctl: Common IOCTL API for RF Modulation Technologies
  • #16179 wireless/bluetooth: bt_hcicore and bt_uart related fixes.
  • #16232 wireless/ieee802154: Replace direct access to semaphore value with nx…
  • #16242 wireless/lpwan/rn2xx3: Fix invalid sync word bug.

Unsorted

  • #15818 qemu-armv7a Ivshmem config and document update
  • #15857 [Bug]arm64: Initialize sctrl_el1 when running fork
  • #15864 Pico restouch lcd 2.8
  • #15911 nuttxgdb/dmesg.py:add use gdb dump rpmsg_syslog
  • #15924 ptmx: When alloc minor, skip the start addr if it has been used
  • #15931 cdcacm: Reduce one copy of data between serial and cdcacm framework
  • #15936 Fix x86/64 early-print
  • #15955 esp32s3/python: add support for running Python on ESP32-S3
  • #15964 coredump: adjust BOARD_COREDUMP_COMPRESSION
  • #15975 CMakeLists.txt: fix warnings when using upstream boards in out-of-tree configs
  • #16028 include/nuttx/math.h: add missing HUGE_VALF and HUGE_VALL
  • #16030 Optimize mutex atomic fast path
  • #16042 Add support for PCA9557
  • #16073 Correct the pthread mutex priority inheritance default setting
  • #16090 syslog: add an option to completely disable syslog logic
  • #16103 nuttx/clock: make NSEC_PER_USEC and others long
  • #16105 feat(nuttx): implement stm32h7 ltdc double buffer on layer 1
  • #16106 fix(bug): fix ft5x06_sample error
  • #16123 add a comment on littlefs_attr_s to explain what it is
  • #16132 Add FT5X06 support for szpi-esp32s3
  • #16098 espressif: Enable SPI Flash's MTD block driver for all supported SoCs
  • #15896 xtensa/esp32: write encrypt func implementation
  • #16131 espressif: Simplify the selection of the SPI flash frequency
  • #16154 Delete the start hook implementation and use crt0 instead. The module will initialize itself in crt0.
  • #16156 xtensa/esp32s2: enable sysclk and deassert reset signal for uart1
  • #16167 nuttx/compiler: add support of deprecated attribute
  • #16194 Enable mutex functionality in nxsem
  • #16209 stm32h7: enable Ethernet for STM32H7X7XX
  • #16215 Support ethernet without MDIO & MDC lines
  • #16228 Add ADC support on ESP32|S2|S3|C3|C6|H2
  • #16233 include/nuttx/atomic.h: For each ATOMIC func, cast the parameter to (FAR intXX_t *) of correct size
  • #16238 Cmake: Implement CMake build of Tiva arch
  • #16263 fix kernel-smp cannot run in qemu-virt arm-v7a, mmu should be enabled again.
  • #16323 Patches to support AVRDA/DB created by KR
  • #16230 esp32-devkitc/wamr_wasi_debug: bump wamr version
  • #16286 serial/uart_pci_16550.c: fix multiport ax99100
  • #16289 Corrected configure.sh call in customboards.rst
  • #16297 Fixed empty line handling process_config.sh
  • #16310 Fix problematic spelling issues
  • #16314 CMake: added tm4c129e-launchpad, launchxl-cc1312r1, lm4f120-launchpad, lm3s8962-ek and ekk-lm3s9b96 boards
  • #16319 fix misspelled names in locally scoped code
  • #16356 Fix OP-TEE driver compatibility issues
  • #16364 Bluetooth SMP: added support for Legacy pairing (MITM) with passkey
  • #16370 include/nuttx/can.h: remove dependency on CONFIG_NET_CAN
  • #16423 Semaphore corrections
  • #16428 bcm2711/spi: Create interrupt-based SPI driver
  • #16431 Resolving the issue of fdcheck reporting errors when an epoll file descriptor (fd) is closed
  • #16436 refactor: fix spelling in private field names
  • #16454 Fix private types banners according to coding standard
  • #16459 analog/ads1115: Speed up channel measurement delays
  • #16448 Revert "Reduce the size of tcb by four bytes."
  • #15986 arch/mcx-nxxx: Add register definitions for SYSCON_CLOCKCTRL and LPTMR

Compatibility Concerns

  • #16198 [BREAKING] boards/defconfig: remove unused config about dd
  • #16355 [BREAKING] drivers/sensor: Add timestamp for GNSS data
  • #15765 [BREAKING] libc/elf: rename modlib to libelf
  • #16280 [BREAKING] setlogmask: fix setlogmask behavior according to POSIX standard

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