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

Compare with Current View Page History

« Previous Version 9 Next »

Work In Progress

Work In Progress

NuttX 12.1.0 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

New Features

Bug Fixes

Changes to the Build System

Improvements

  • #8177 build: Add STACK_USAGE(-fstack-usage) to assist the stack analysis
  • #8449 build/Kconfig: add BINDIR/APPSBINDIR to support out of tree build
  • #8357 tools: add separate flags parameter for COMPILE/COMPILEXX
  • #8391 tools: ARCHIVE uses the full path
  • #8732 tools: arm: Add missing -mcpu param for zig
  • #8403 tools: checkpatch.sh: Check the source code doesn't set executable bit
  • #8379 tools: checkpatch: Added encoding check with cvt2utf
  • #8379 tools: checkpatch: Added encoding check with cvt2utf
  • #8347 tools: compile with full file path
  • #8347 tools: compile with full file path
  • #8443 tools: config: silent print of archive objects
  • #8442 tools: config: stack usage(.su) file should be removed on clean phase
  • #8674 tools: cxd56: Fix typo in mkspk tool
  • #8663 tools: Don't download tarball if a local git repo found
  • #7971 tools: Ensure removing Python related commands for macOS
  • #7993 tools: Ensure removing Python3.11 related commands for macOS
  • #8515 tools: Extract a valid trace line and resolve the address to a function name
  • #8310 tools: Extend mkdep buffer
  • #8916 tools: export: LLVM style arch info for non-c language
  • #8870 tools: export: Add LDELFFLAGS to mkexport.sh.
  • #8425 tools: Fix Config.mk
  • #8494 tools: kconfig: add kconfiglib support
  • #8384 tools: Makefile: fix redundant delimiters when using make V=1
  • #8378 tools: makefile: silent all compile output
  • #8381 tools: Make zig available for arm/riscv/sim
  • #8601 tools: make the symbol table generated by mkallsyms.py two-byte aligned 
  • #8305 tools: minidumpserver: add arm-a support
  • #8142 tools: minidumpserver: replace stackdump to stack_dump
  • #7938 tools: minidumpserver: sync the stackdump search string after #7875
  • #8723 tools: nxstyle: add 'IRQn_Type' to whitelists
  • #8657 tools: nxstyle: add "NimMain" to whitelists.
  • #8559 tools: nxstyle: add "CMUnitTest" to nxstyle white list
  • #8307 tools: parsememdump.py: support show total pid memory
  • #8652 tools: parsememdump.py: Restore the execution permission bit
  • #8808 tools: parsetrace: fix context swtich parsing error
  • #8928 tools: riscv: Map extensions to certain cpu model for LLVM based toolc…
  • #8030 tools: script: support IPv6 in simhostroute.sh
  • #8001 tools: script: enable forward in simhostroute.sh
  • #8007 tools: syscall: export UP_WRAPSYM/UP_REALSYM macro
  • #8419 tools: use relative paths when reverting to compile
  • #8586 tools: unix: use anonymous pipes to avoid menuconfig break
  • #8675 tools: Unix.mk: Add VERSION_ARG to argument of version.sh
  • #8308 tools: unix.mk: Pass APPDIR to arch's Makefile
  • #8582 tools: Updated python scripts interpreter invocation in tools/.
  • #8306 tools: version: generate dummy version without breakout
  • #8759 treewide: add DOWNLOAD variable as unification of curl call

Architectural Support

New Architecture Support

Driver Support

Bug Fixes

New Driver Support

Drivers With Significant Improvements

Board Support

Significant Improvements

New Board Support

Boards With Significant Improvements

File System

New FS

Improvements

  • #4320 fs: Add model field to geometry and mtd_geometry_s 
  • #8194 fs: Avoid accessing filep fields if it is NULL & add DEBUGASSERTs 
  • #8163 fs: Define DT_xxx to number directly 
  • #8430 fs: Implement link as a normal function instead macro 
  • #8498 fs: Make more fs API available when CONFIG_DISABLE_MOUNTPOINT isn't enabled 
  • #8195 fs: Map madvice to posix_madvice 
  • #8581 fs: Map FD_SETSIZE to OPEN_MAX instead hardcoding 256 
  • #8092 fs: Map syncfs to fsync 
  • #8021 fs: Move mmap callback before truncate in [file|mountpt]_operations 
  • #8113 fs: Support O_NOFOLLOW flag 
  • #8440 fs: support openat/fchmodat/mkfifoat/fstatat/...at api 
  • #8324 fs: unlock tmpfs before free the file object 
  • #8656 fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 
  • #8871 fs: fs_epoll: add oneshot list to handle the EPOLLONESHOT correctly 
  • #7871 fs: fs_epoll: fix some potential issue for list operation 
  • #8153 fs: fs_fsync:Fix the expected error of socket,fifo and pipe returning error in fsync case 
  • #8896 fs: fs_initialize.c:Sync fs in system restart callback 
  • #8496 fs: littlefs: add full support for LittleFS block device cfg in Kconfig 
  • #8026 fs: mmap: Add mm map 
  • #8138 fs: mmap: fix mmap returned address 
  • #8075 fs: mmap: Minor improvement 
  • #8784 fs: mmap: try rammap when filesystem mmap don't support 
  • #8162 fs: mmap: fix compile warning if set the optimize level to O3 
  • #8383 fs: mqueue: Fix file_mq_open() for SMP 
  • #8269 fs: partiton: add sanity check 
  • #8079 fs: poll: add missing FAR qualifier to poll() 
  • #8072 fs: poll: Fix poll_notify for CONFIG_BUILD_KERNEL 
  • #8337 fs: procfs: sort level0 process id 
  • #8270 fs: procfs: fix the issue of /proc/cpuload in SMP 
  • #8545 fs: procfs: group/tg_info/argv: Make utility function to read argv as string
  • #7922 fs: procfs: procmeminfo: support memdump can show specific task
  • #8626 fs: procfs/meminfo: skip invalid character before memdump 
  • #8637 fs: rpmsgfs: return ENOTTY to vfs to do cmd operate 
  • #7947 fs: streams: Flush streams in userspace when the process exits 
  • #7991 fs: signalfd: using file descriptor to accept signal 
  • #5999 fs: sync: add sync api 
  • #8053 fs: timerfd: Reverse truncate and mmap field 
  • #7990 fs: timerfd/eventfd: using anonymous inodes and using isr to notify poll waiter. 
  • #8373 fs: vfs: Suppoprt F_DUPFD_CLOEXEC 
  • #8032 fs: vfs: add missed truncate callback at timerfd file_operation 
  • #8729 fs: vfs/poll: Remove the unused ptr field from pollfd 
  • #8089 fs: vfs/poll: Remove POLLFILE and POLLSOCK NuttX specific extension 
  • #8154 fs: vfs/fs_truncate.c:Add socket judgment to return correct errno. 


Networking

Applications

Improvements

  • #8735 net: Remove the dummy implementation from sock_intf_s
  • #7980 net: Add netfilter compatible headers
  • #8059 net: Support fragmentation and reassembly
  • #7985 net: Separate IP_PKTINFO from NET_IGMP
  • #7989 net: Add set/getsockopt options compatible with iptables.
  • #8822 net: use NXRMUTEX_INITIALIZER for rmutex init
  • #8811 tun: fix the access address is incorrect
  • #7937 tun: add ioctl cmd TUNGETIFF implement
  • #8751 net: Finish FIONBIO default action if si_ioctl return OK
  • #8669 net: Performance optimizations in connection allocations.
  • #8111 net: consistent the net sem wait naming conversion
  • #8029 net: add some network-related definitions #8049
  • #8351 net: Implement socket shutdown() interface
  • #8448 net: remove protocol argument from si_setup callback
  • #8487 net: modify find device logic
  • #8300 net: Fix ICMPv6 RA parsing procedure
  • #8091 net: Move accept to libc after https://github.com/apache/nuttx/pull/8083
  • #8739 net: arp: Only parse ioctl request for valid cmd.
  • #7889 net: arp: Remove nuttx/net/arp.h
  • #7862 net: arp: rules bind to nics
  • #8293 net: can: Bugfixed the SocketCAN send via setting the dev->d_len to dev->d_sndl…
  • #8160 net: devif: bypass send length check if ip fragment enabled
  • #8361 net: devif: check the net device before use
  • #8380 net: devif: correct the judgment condition in devif_send()
  • #8011 net: devif: fix devif_poll loop logic
  • #8592 net: devif: fix null pointer reference found out by coverity
  • #7969 net: devif_loopback: Add robustness to avoid infinite loop
  • #8082 net: devif_poll: optimize device buffer alloc in txpoll
  • #8837 net: icmpv6: add RDNSS field support for route advertise message
  • #8785 net: icmpv6: align structs to 2 bytes.
  • #8451 net: ip: fix compile break if disable NET_TCP
  • #8302 net: local_connect: Align the returned error code with Linux
  • #8010 net: local: fix error when work with epoll
  • #8027 net: local: rename NET_LOCAL_VFS_PATH to follow linux
  • #8749 net: local: Return the unblock handle correctly in local_accept
  • #8067 net: local: set POLLIN/POLLOUT threshold for local fifo
  • #7912 net: local: Support the abstract path
  • #8084 net: mld: fix build break of mld router
  • #8093 net: mld: update help manual for mld router
  • #7964 net: nat: Fix misused d_draddr in select_port
  • #8915 net/tcp: Reply RST when we cannot receive data
  • #7968 net: nat: Support isolation between multiple WAN devices by saving external ip
  • #7951 net: nat: Use hashtable to optimize performance
  • #8083 net: net_socket: Add an implementation of the accept4 method
  • #8080 net: netdev: Avoid hardcoded guardsize when using d_iob
  • #8513 net: netinet: in.h: add support for Nimlang compatibility.
  • #8753 net: pkt: Add readahead queue for pkt, call input for tx on sim
  • #8273 net: route.h: add RTF_XX flags and rt_dev member
  • #8518 net: sendfile: adapt sendfile() to support new driver model
  • #8344 net: slip: Change SLIP to use IOB
  • #8632 net: socket: divide errno & s_error
  • #8272 net: support ipv4 ToS and ipv6 TrafficClass
  • #8301 net: tcp: tcp_netpoll: add assert into tcp_pollsetup when pollinfo invalid
  • #8297 net: tcp: udp_connect: If the remote addr is ANY, change it to LOOPBACK
  • #7913 net: tcp: contig received data to reducing iob consumption
  • #8102 net: tcp: debug feature to drop the tx/rx packet
  • #8024 net: tcp: Do not trigger retransmission if the new data has not been consumed.
  • #8333 net: tcp: reuse common api to replace some ip select code
  • #7916 net: tcp: rename NET_TCP_RECV_CONTIG to NET_TCP_RECV_PACK
  • #8062 net: tcp: add Selective-ACK support (RFC2018)
  • #8044 net: tcp: reprepare response buffer from unthrottle pool
  • #8130 net: tcp: fix potential busy loop in tcp_send_buffered.c
  • #8129 net: tcp: correct behavior of SO_LINGER
  • #7525 net: tcp: Improvements in TCP connections allocation.
  • #8334 net: tcp: free TCP rx buffer immediately in tcp_close
  • #8165 net: tcp: move drop send source code to correct place
  • #8409 net: tcp: remove conn check since which can not be NULL
  • #8421 net: tcp: Regard snd_wnd update as ACKDATA
  • #8315 net: tcp: fix trans data error when fast retrans
  • #8314 net: tcp: add TCP_ACKDATA flag to close event callback
  • #8298 net: tcp: modify errno when connect raddr is ANY for ltp
  • #8343 net: tun: Change TUN/TAP to use IOB
  • #8647 net: udp: Add drop count when limited by recv bufsize
  • #7891 net: udp: correct udp send timeout
  • #8299 net: udp: Ipv4/6 can be bound to the same port
  • #8313 net: udp: remove DEBUGASSERT for ip6_is_ipv4addr
  • #8493 net: udp: Support binding to same addr/port if SO_REUSEADDR is specified.
  • #8609 net: usrsock: Do not return error when conn not found for an event
  • #8317 net: usrsock: net_lock: fix deadlock issue when running iperf tx test on usrsock
  • #8262 net: usrsock: only TCP data should be aggregrated for rpmsg case
  • #8429 net: usrsock: optimize usersock send/recv path
  • #8630 net: local: local_socket: remove the wrong assertion in local_listen()
  • #8148 net: rpmsg: socket related update

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