2026.09.24, Version 1.53.0 (Stable)

Changes since version 1.52.1:

* unix: fix pedantic compiler warnings (Ben Noordhuis)

* win: fix const correctness compiler error (apocelipes)

* doc: clarify handle close behavior of uv_spawn (Ben Noordhuis)

* doc: name function crosslinks consistently (Ben Noordhuis)

* win: fix const correctness warning (Ben Noordhuis)

* win: fix off-by-one in utf-16 to wtf-8 conversion (locus-x64)

* udp: validate nbufs in send functions (Oren)

* unix: improve handling of uv_async_send mistakes (Jameson Nash)

* unix,stream: verify uv_try_write2 handle (cui)

* test,win: fix race in test runner (Jameson Nash)

* unix,tty: don't drain when setting the TTY mode (Gabriel Baraldi)

* inet: prefer sizeof with parenthesis (Juan José Arboleda)

* test: remove unused headers and use newer ASSERT macros (Juan José Arboleda)

* doc: Add textual images into libuv man page (Stacey Marshall)

* darwin: replace EV_OOBAND handling with EVFILT_EXCEPT + NOTE_OOB (Juan José
  Arboleda)

* docs: add copybutton sphinx extension (HArsil)

* doc: fix threading bugs in progress example (PRANAV KUMAR)

* unix: support long path names in pipe.c (Edigleysson Silva (Edy))

* win: fix some compiler warnings (Benjamin Gilbert)

* docs: fix broken and redirected links (Jameson Nash)

* doc: remove random reference to libev (Ben Noordhuis)

* process: better validation for process->pid usage (Jameson Nash)

* unix: check return value of fcntl call (Ben Noordhuis)

* test: fix -Wunused-function warning (Ben Noordhuis)

* linux: close streams without an extra read (Jameson Nash)

* unix: enforce recvmmsg buffer size requirements (Ben Noordhuis)

* android: fix termux build (BarryLhm)

* io: make libuv 64-bit safe (Jameson Nash)

* win,pipe: skip IOCP for pipe handles (Jameson Nash)

* win: use WSA_FLAG_NO_HANDLE_INHERIT in all WSASocketW (Jameson Nash)

* unix: use posix_spawn instead of fork (Jameson Nash)

* test: use correct type for uv_fileno arguments (Saúl Ibarra Corretgé)

* misc: revise security vulnerability reporting instructions (Jameson Nash)

* win: fix watch loop logic (Stefan Stojanovic)

* win: properly initialize OSVERSIONINFOW (Santiago Gimeno)

* misc: fix error code returned from uv_wtf8_length_as_utf16 (Ryan Liptak)

* stream: fix server stop accepting after uv_accept() error (ivinx)

* unix,ibmi: abort on process_title_mutex init failure (Juan José Arboleda)

* unix,stream: fix getsockopt error handling in connect (Juan José Arboleda)

* unix: treat futimens() as best-effort in copyfile (skooch)

* unix: free statxbuf on iouring statx fallback (Santiago Gimeno)

* aix,ibmi: fix undeclared identifiers (SRAVANI GUNDEPALLI)

* unix: fix uv__udp_recvmsg crash (theanarkh)

* win: use PROC_THREAD_ATTRIBUTE_HANDLE_LIST in uv_spawn (Jameson Nash)

* unix: avoid duplicate recvmmsg terminal callback (Isaac Elbaz)

* win: fix spawn process with no argument (sturcotte06)

* unix: handle cloexec failure in kqueue init (Juan José Arboleda)

* unix: remove UV_HANDLE_READING flag (Edigleysson Silva (Edy))

* src: use INET6_ADDRSTRLEN for IPv6 address buffer (orbisai0security)

* test: include pty.h for GNU Hurd (Jérémy Lal)

* test: skip recvmsg unreachable test when no ipv6 (Santiago Gimeno)

* win: fix race condition in uv_async_send (Jameson Nash)

* unix,fs: fix busyloop in big copyfile (Jameson Nash)

* process,unix: avoid off-by-one in uv__spawn_resolve_and_spawn (Jameson Nash)

* test: check that sizeof is constant (Jameson Nash)

* async: make seq_cst the default (Jameson Nash)

* Reland "linux: eliminate a read on eventfd per wakeup" (Jameson Nash)

* win,process: skip dump silently if no valid folder can be determined (Jameson
  Nash)

* win: handle short path mismatch with a fallback in fs events (Joyee Cheung)

* unix,udp: handle msg_hdr.msg_namelen=0 on recvmmsg (Santiago Gimeno)

* ci: lock down permissions and pin action SHAs (Alb3e3)

* docs: ignore unstable ncurses linkcheck URL (Alb3e3)

* unix: handle EINTR in uv_resident_set_memory (Nandan Acharya)

* build(deps): bump reactivecircus/android-emulator-runner (dependabot[bot])

* build(deps): bump actions/setup-python from 6.2.0 to 6.3.0 (dependabot[bot])

* unix: return EINVAL for invalid tty modes (Samuel Williams)

* ci: use VS 18 / 2026 in Windows Server 2025 (Saúl Ibarra Corretgé)

* win: fix use of wrong constant in tcp code (Ben Noordhuis)

* unix: fix UV_FS_O_DIRECT on more linux architectures (Archkon)

* doc: add UB warning to threading documentation (Ben Noordhuis)

* build(deps): bump reactivecircus/android-emulator-runner (dependabot[bot])

* sunos: use getrandom(2) for uv_random (Petr Sumbera)

* unix,poll: fix callback event bits on error/hangup (Yuki Ibe)

* haiku: build tests with libbsd (Jérôme Duval)

* unix: fix static declaration in nested block for AIX and IBM i PASE
  (sravani1510)

* win: fix unique named pipes to work inside Windows AppContainer (Russ Cox)

* build(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (dependabot[bot])

* build(deps): bump actions/checkout from 6.0.3 to 7.0.0 (dependabot[bot])

* stream: Implement cancellation support for uv_write_t (Keno Fischer)

* unix: handle trailing empty write buffers (Alb3e3)

* stream: handle cancel write after close (Tyler Gibbs)

* build(deps): bump actions/checkout from 7.0.0 to 7.0.1 (dependabot[bot])

* test: don't generate io_uring variants of loopless fs tests (Jameson Nash)

* test: close the loop in udp_recvmsg_unreachable_error{,6} (Jameson Nash)

* linux: use scaling_max_freq in uv_cpu_info() (James Ross)

* win: fix leak if uv_loop_init fails (Jameson Nash)

* solaris: fix build and test failures, add CI (Petr Sumbera)

* test: improve fs event filename assertion (Petr Sumbera)

* build(deps): bump vmactions/solaris-vm from 1.3.7 to 1.3.8 (dependabot[bot])

* build(deps): bump actions/checkout from 6.0.3 to 7.0.1 (dependabot[bot])

* win: fix crash when closing a pipe after a failed bind (Yury Semikhatsky)

* darwin: report physical footprint as rss (Jarred Sumner)

* test: close file descriptors leaked by tests (Jameson Nash)

* unix: short-circuit no-op event mask changes in uv__io_stop (Shelley Vohr)

* unix,process: never shrink the stdio socket pair buffers (Shelley Vohr)

* build(deps): bump vmactions/solaris-vm from 1.3.8 to 1.3.9 (dependabot[bot])

* linux: fix tcc build (Ben Noordhuis)

* aix: canonicalize fs event path with realpath() (Milad Fa)

* openbsd: use fork instead of posix_spawn (Ben Noordhuis)

* freebsd,netbsd,openbsd: add build CI (neil)

* win,fs: suppress CRT assertion on close (Yiğit Tanrıverdi)

* unix: drain tty reads on POLLHUP without POLLIN (Santiago Gimeno)

* doc: fix on guide filesystem.rst (Viacheslav Muravyev)

* linux: support cancelling io_uring file requests (hunterinvariants)

* build: distribute Windows long path manifest (Yiğit Tanrıverdi)

* netbsd: free cpu times on sysctl failure (cui fliter)

* build(deps): bump vmactions/netbsd-vm from 1.4.8 to 1.4.9 (dependabot[bot])

* freebsd: don't fail uv_cpu_info() when hw.clockrate is missing (Piotr Kubaj)

* build(deps): bump vmactions/netbsd-vm from 1.4.9 to 1.5.0 (dependabot[bot])

* build(deps): bump vmactions/solaris-vm from 1.3.9 to 1.4.0 (dependabot[bot])

* build(deps): bump vmactions/freebsd-vm from 1.5.5 to 1.5.6 (dependabot[bot])

* unix: fix warning in OpenBSD code (Brad Smith)

* test: lower number of iterations (Ben Noordhuis)

* openbsd: update EVFILT_USER comment (Brad Smith)

* freebsd: don't use long AF_UNIX socket paths (Juan José Arboleda)

* openbsd: use getexecpath in uv_exepath if present (Brad Smith)

* build(deps): bump vmactions/freebsd-vm from 1.5.6 to 1.5.7 (dependabot[bot])

* win: reserve explicit thread stack size (Zuohui Yang)


2026.03.06, Version 1.52.1 (Stable), 1cfa32ff59c076ffb6ed735bbc8c18361558661f

Changes since version 1.52.0:

* misc: add simple clang-tidy setup (Jameson Nash)

* unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (Jameson
  Nash)

* win: add fs-fd-hash-inl.h to tarball (tobil4sk)

* unix,win: support NULL loop for sync uv_getaddrinfo (Saúl Ibarra Corretgé)

* Fix const-correctness warning in linux.c (Quaylyn Rimer)

* build(deps): bump actions/upload-artifact from 6 to 7 (dependabot[bot])

* build(deps): bump actions/download-artifact from 7 to 8 (dependabot[bot])

* unix: fix compilation warnings with GCC 15 (Saúl Ibarra Corretgé)

* test: remove conditionals from `uv_thread_self` usage (Yasser Nascimento)

* unix: fix discard const (Rudi Heitbaum)

* unix: do not cast to char variables that are const char (Rudi Heitbaum)

* linux: fix crash if poll callback closes handle before `POLLERR` (Juan José
  Arboleda)


2026.02.11, Version 1.52.0 (Stable), b556c0629d0fd250b5feefbc91b84c6f5e3dae48

Changes since version 1.51.0:

* src: remove unused include of <assert.h> in timer.c (Juan José Arboleda)

* test: skip `udp_multicast_join` if not system-wide available (Juan José
  Arboleda)

* test: remove unused include of <limits.h> in runner.h (Juan José Arboleda)

* doc: don't mention UV_LOOP_ENABLE_IO_URING_SQPOLL (Poul T Lomholt)

* unix: fix uv_thread_{get,set}priority error codes (Ryan Liptak)

* build: dedup sanitizer jobs using matrix strategy (Juan José Arboleda)

* doc: update ncurses link (Saúl Ibarra Corretgé)

* tcp: support customizing TCP_KEEPINTVL and TCP_KEEPCNT (Andy Pan)

* linux: fix -Wformat-truncation warning (Ben Noordhuis)

* src: fix nullptr dereference in uv__print_handles (jhnh204)

* build: make automake link libm on bsd-likes (Juan José Arboleda)

* include: remove unused macro undefs from uv.h (Juan José Arboleda)

* win: handle empty string in uv_get_process_title (Ben Noordhuis)

* win: use WSA_FLAG_NO_HANDLE_INHERIT in WSASocketW (chemodax)

* unix: handle possible `ENOMEM` in `uv__tcp_listen` (Juan José Arboleda)

* win: replace GetModuleHandleA with GetModuleHandleW (chemodax)

* qnx: add qnx 8 support (Deep C)

* mailmap: update email address for Richard Lau (Richard Lau)

* win: remove obsolete comment (Ben Noordhuis)

* unix: handle possible `ENOMEM` in `uv__pipe_listen` (Juan José Arboleda)

* unix: deduplicate uv_free_interface_addresses (Juan José Arboleda)

* test: pass correct string type to GetModuleHandleW (Ben Noordhuis)

* win: remove unnecessary inlining from fs.c (Ben Noordhuis)

* win: move uv__process_reqs to core.c (Ben Noordhuis)

* win: remove unnecessary inlining from header file (Ben Noordhuis)

* test: skip slow process title test on asan+macos (Ben Noordhuis)

* win: dissolve atomicops-inl.h (Ben Noordhuis)

* win: move uv__process_endgames to core.c (Ben Noordhuis)

* win: move uv__insert_pending_req to core.c (Ben Noordhuis)

* win: replace inline asm with compiler intrinsic (Ben Noordhuis)

* win,pipe: minimal fix to uv_read_cb->uv_read_start recursion bug (Jameson
  Nash)

* doc: make requirements work with newer python (Luca Saccarola)

* win: fix -Wcast-function-type warnings in winapi.c (Ben Noordhuis)

* win: fix -Wsign-compare warnings (Ben Noordhuis)

* test: simplify ASSERT_OK macro for static analysis (Jameson Nash)

* win: add arm64 machine type to uv_os_uname (wisemanny)

* win: use ProcessPrng (Ben Noordhuis)

* win: work around wine bug in uv_fs_{unlink,rmdir} (Keno Fischer)

* doc: fix return value for uv_pipe_connect2 (Sean Dewar)

* unix: fix udp sendmmsg fallback path (Ben Noordhuis)

* doc: add binding `C framework` uv_coroutine to LINKS.md (Lawrence Stubbs)

* linux: handle cgroups cpu.max with limit < period (Ben Noordhuis)

* doc: update link, repo name change to c-asio (Lawrence Stubbs)

* build(deps): bump actions/download-artifact from 4 to 5 (dependabot[bot])

* doc: remove nodeuv from LINKS.md (Ben Noordhuis)

* test: use relative paths for pipes and unix sockets (Emily)

* build(deps): bump actions/checkout from 4 to 5 (dependabot[bot])

* unix: improve uv__cpu_relax() on arm (Anton Kirilov)

* win: fix compiler warnings (Savas Sahin)

* unix: replace uv__io_t callback pointer with enum (Ben Noordhuis)

* test,win: fix -Wunused-function warnings (Ben Noordhuis)

* test,win: fix -Wcast-function-type warnings (Ben Noordhuis)

* test,win: fix -Wattributes warnings (Ben Noordhuis)

* win: shrink fd hash table from 2592k to 162k (Ben Noordhuis)

* unix: fix build on the bsds (Ben Noordhuis)

* netbsd: fix thread affinity compilation error (Santiago Gimeno)

* unix: remove UV__SIGNAL_EVENT dispatch from uv__io_cb (Juan José Arboleda)

* build: add -Werror when testing -Wflags (Jameson Nash)

* win: fix path size calculation (Ben Noordhuis)

* doc: correct uv_cancel return value (m0cg)

* unix,win: look up UV_THREADPOOL_SIZE with uv_os_getenv (moe li)

* build(deps): bump actions/setup-python from 5 to 6 (dependabot[bot])

* unix: fix uv__signal_loop_cleanup call in init (Jameson Nash)

* aix: fix nullptr check in uv__skip_lines (Ben Noordhuis)

* unix: add neoverse-v2 cpu identifier (green-br)

* test: make `thread_priority` robust against system default nice levels

 (Juan José Arboleda)

* unix,win: implement `uv_udp_open_ex` (Juan José Arboleda)

* aix: add stub function to satisfy linker (Ben Noordhuis)

* linux: add MSG_ERRQUEUE ipv4/ipv6 udp support (Juan José Arboleda)

* ibmi: add stub function to satisfy linker (Ben Noordhuis)

* darwin: better heuristic for available memory (Christian Guinard)

* build(deps): bump actions/download-artifact from 5 to 6 (dependabot[bot])

* build(deps): bump actions/upload-artifact from 4 to 5 (dependabot[bot])

* unix: fix use of uninitialized variable (Ben Noordhuis)

* doc: fix documentation for uv_utf16_to_wtf8() function (Gang Zhuo)

* win: rename minimal_windows10_version1709() for libuv's convention (Andy Pan)

* build(deps): bump actions/checkout from 5 to 6 (dependabot[bot])

* win: fix race in uv_fs_event_start() (Ben Noordhuis)

* unix: support nanosecond resolution in uv__fs_to_timespec (Ayush Kumar)

* win: handle sshfs-win quirk in uv_fs_readdir() (Ben Noordhuis)

* unix,win: fix leak in uv_os_environ error path (Ambuj Vashistha)

* test: add macros to run fs tests with io_uring (Santiago Gimeno)

* linux: fix uv_fs_ftruncate io_uring implementation (Santiago Gimeno)

* Update OS X reference to macOS in README (Bart Louwers)

* ci: update macos runner images (Ben Noordhuis)

* doc: add example usage for uv_sleep (Kartik Puri)

* ci: add macos-15-intel to matrix (Ben Noordhuis)

* win: Optimize file/directory delete. (chemodax)

* build(deps): bump actions/download-artifact from 6 to 7 (dependabot[bot])

* build(deps): bump actions/upload-artifact from 5 to 6 (dependabot[bot])

* test: run more fs tests using io_uring too (Santiago Gimeno)

* doc: add handle and request usage guidelines (Ben Noordhuis)

* unix: remove handle from queue on uv_spawn() error (Oblivionsage)

* doc: remove hp-ux from supported platforms list (Ben Noordhuis)

* unix,win: add f_frsize field to uv_statfs_t (Ben Noordhuis)

* test: fix -Wuninitialized-const-pointer warning (Ben Noordhuis)

* test: fix -Wstringop-overread warning (Ben Noordhuis)

* test: make pty test work under asan (Ben Noordhuis)

* win: readlink support for IO_REPARSE_TAG_LX_SYMLINK (Cody Tapscott)

* unix: fix partial read handling after POLLHUP (Ben Noordhuis)

* unix: factor out common i/o poll code (Ben Noordhuis)

* test: disable udp_reuseport test under qemu (Ben Noordhuis)

* test: disable tcp_reuseport test under qemu (Ben Noordhuis)

* unix,win: check nbufs argument is reasonable (Ben Noordhuis)

* win: refactor to support large statfs blocks (Santiago Gimeno)

* unix: remove sunpro references (Ben Noordhuis)

* idna: fix assert in wtf8_to_utf16 conversion (tobil4sk)

* aix,ibmi: fix test suite build breakage (Ben Noordhuis)

* unix: implement cpu_relax() for riscv64 (Han Gao)

* doc: add setuid warning to uv_exepath (Ben Noordhuis)

* unix: make OpenBSD uv_exepath work (mischief)

* win: fix uv_get_process_title (StefanStojanovic)

* unix,udp: fix -Wgnu-folding-constant warning (Saúl Ibarra Corretgé)

* cmake: add libuvConfigVersion.cmake file (Przemysław Sobala)


2025.04.25, Version 1.51.0 (Stable), 5152db2cbfeb5582e9c27c5ea1dba2cd9e10759b

Changes since version 1.50.0:

* win: fix leak in uv_os_tmpdir (Saúl Ibarra Corretgé)

* docs: fix RTD build (Saúl Ibarra Corretgé)

* win: lazy-load [GS]etThreadDescription symbols (Ben Noordhuis)

* linux: try preadv64/pwritev64 before preadv/pwritev (Ben Noordhuis)

* win: check cwd length before spawning a child process (Morten Engelhardt
  Olsen)

* macos,bsd: handle missing /dev/null in chroot env (Andrey)

* doc: fix README link text (Julio Jordán)

* win: fix order of FILE_STAT_BASIC_INFORMATION struct fields (Hüseyin Açacak)

* macos: increase child process stdio buffer size (Jinho Jang)

* doc: add C3 bindings to LINKS.md (Velikiy Kirill)

* unix: remove unnecessary errno.h include in poll.c (Juan José Arboleda)

* win: fix the inconsistency in volume serial number (Hüseyin Açacak)

* unix: add thread affinity support on openharmony (rainlow)

* unix: enable getrusage for SunOS (Paolo Insogna)

* unix,win: accept NAN/INFINITY as file timestamps (Ben Noordhuis)

* win: add ENABLE_VIRTUAL_TERMINAL_INPUT raw tty mode (Anna Henningsen)

* test: handle UV_ENOTSUP in platform_output (cjihrig)

* doc: fix rendering of threading.html (Tobias Nießen)

* unix,sunos: enable use of sendmmsg on Solaris and Illumos (Stacey Marshall)

* unix: handle out of memory in iface name copy (Ben Noordhuis)

* openbsd: do not error out if cpuspeed is not available (Robert Nagy)

* test: skip thread_name_threadpool on AIX/IBMi (Abdirahim Musse)

* aix,ibmi: fix undeclared identifiers (Richard Lau)

* unix,sunos: prefer SO_REUSEPORT for load balancing (Stacey Marshall)

* doc: free lib pointer before function return (mugitya03)

* test: link with libm (Juan José Arboleda)

* style: rename parameter to match definition (Mohammed Keyvanzadeh)

* test: support partial output lines in test runner (cjihrig)

* build: switch from c90 to c11 (Ben Noordhuis)

* linux: allow nul bytes in abstract socket address (Itay Bookstein)

* sunos: use pipe2 on solaris and illumos (Andy Pan)

* unix: remove TOCTOU issues from uv_pipe_chmod (Ben Noordhuis)

* unix: use pipe_fname if getsockname returns nothing (crupest)

* haiku: use uint32 instead of uint32_t (AE1020)

* doc: update thread pool stack size comment (Ben Noordhuis)

* unix: improve uv_loop_init OOM handling (Ben Noordhuis)

* test: merge uv_tcp_connect callbacks (Juan José Arboleda)

* test: skip multievent tests on macOS with TSAN enabled (Juan José Arboleda)

* linux: align CPU quota calculation with Rust (Juan José Arboleda)

* kqueue: improve fs event watcher OOM handling (Juan José Arboleda)

* sunos: improve fs event watcher OOM handling (Juan José Arboleda)

* build: shorten instructions for cmake build (Juan José Arboleda)


2025.01.15, Version 1.50.0 (Stable), 8fb9cb919489a48880680a56efecff6a7dfb4504

Changes since version 1.49.2:

* ci: run macOS and iOS tests also on macOS 14 (Saúl Ibarra Corretgé)

* unix,win: map ENOEXEC errno (Saúl Ibarra Corretgé)

* test: skip multicast join test on ENOEXEC (Saúl Ibarra Corretgé)

* ci: make sure the macOS firewall is disabled (Saúl Ibarra Corretgé)

* darwin,test: squelch EBUSY error on multicast join (Saúl Ibarra Corretgé)

* build: update minimum cmake to 3.10 (Ben Noordhuis)

* kqueue: use EVFILT_USER for async if available (Jameson Nash)

* unix,win: fix off-by-one in uv_wtf8_to_utf16() (Ben Noordhuis)

* doc: add scala-native-loop to LINKS.md (Julian A Avar C)

* unix: fix build breakage on haiku, openbsd, etc (Jeffrey H. Johnson)

* kqueue: lower overhead in uv__io_check_fd (Andy Pan)

* doc: move cjihrig back to active maintainers (cjihrig)

* build(deps): bump actions/checkout from 3 to 4 (dependabot[bot])

* unix,pipe: fix handling null buffer in uv_pipe_get{sock,peer}name (Saúl
  Ibarra Corretgé)

* unix,win: harmonize buffer checking (Saúl Ibarra Corretgé)

* unix,win: add support for detached threads (Juan José Arboleda)

* src: add uv_thread_set/getname() methods (Santiago Gimeno)

* build: fix qemu builds (Ben Noordhuis)

* win: drop support for windows 8 (Ben Noordhuis)

* linux: fix uv_cpu_info() arm cpu model detection (Ben Noordhuis)

* linux: always use io_uring for epoll batching (Ben Noordhuis)

* doc: clarify repeating timer behavior more (Ben Noordhuis)

* unix,win: handle nbufs=0 in uv_udp_try_send (Ben Noordhuis)

* win: use GetQueuedCompletionStatusEx directly (Saúl Ibarra Corretgé)

* win: enable uv_thread_{get,set}name on MinGW (Saúl Ibarra Corretgé)

* win: drop support for the legacy MinGW (Saúl Ibarra Corretgé)

* win,fs: get (most) fstat when no permission (Jameson Nash)

* win: plug uv_fs_event_start memory leak (amcgoogan)

* test: address FreeBSD kernel bug causing NULL path in fsevents (Juan José
  Arboleda)

* unix: refactor udp sendmsg code (Ben Noordhuis)

* unix,win: add uv_udp_try_send2 (Ben Noordhuis)

* test: fix flaky flaky udp_mmsg test (Juan José Arboleda)

* build: enable fdsan in Android (Juan José Arboleda)

* test: fix udp-multicast-join for FreeBSD (Juan José Arboleda)

* win: fix leak processing fs event (Saúl Ibarra Corretgé)

* src: set a default thread name for workers (Rafael Gonzaga)

* misc: implement uv_getrusage_thread (Juan José Arboleda)


2024.10.18, Version 1.49.2 (Stable), e1095c7a4373ce00cd8874d8e820de5afb25776e

Changes since version 1.49.1:

* win,fs: remove trailing slash in junctions (Hüseyin Açacak)

* Revert "linux: eliminate a read on eventfd per wakeup" (Ben Noordhuis)

* win: Fix linked list logic in getaddrinfo (Thad House)

* win: fix compilation against Windows 24H2 SDK (Thad House)

* win: remap ERROR_NOACCESS and ERROR_BUFFER_OVERFLOW (Jameson Nash)

* win,fs: match trailing slash presence in junctions to user input (Jameson
  Nash)


2024.10.11, Version 1.49.1 (Stable), 8be336f4ee296d20e1c071a44d6adf279e202236

Changes since version 1.49.0:

* build: add darwin-syscalls.h to release tarball (Ben Noordhuis)

* linux: use IORING_SETUP_NO_SQARRAY when available (Ben Noordhuis)

* linux: use IORING_OP_FTRUNCATE when available (Ben Noordhuis)

* win: fix pNtQueryDirectoryFile check (Rialbat)

* win: fix WriteFile() error translation (Santiago Gimeno)

* win,fs: uv_fs_rmdir() to return ENOENT on file (Santiago Gimeno)

* win,pipe: ipc code does not support async read (Jameson Nash)

* netbsd: fix build (Adam)

* win,fs: fix bug in fs__readdir (Hüseyin Açacak)

* unix: workaround gcc bug on armv7 (Santiago Gimeno)

* unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis)

* unix: fix uv_tcp_keepalive in smartOS (Santiago Gimeno)

* unix: fix uv_getrusage ru_maxrss on solaris (Poul T Lomholt)


2024.09.25, Version 1.49.0 (Stable), d2e56a5e8d3e39947b78405ca6e4727c70f5568a

Changes since version 1.48.0:

* test: fix -Wpointer-to-int-cast on 32 bits systems (Ben Noordhuis)

* build: add alias for libuv to CMakeLists.txt (Anthony Alayo)

* linux: create io_uring sqpoll ring lazily (Ben Noordhuis)

* misc: run sample CI when code changes (Jameson Nash)

* linux: fix uv_available_parallelism using cgroup (Thomas Walter)

* doc: fix tty example segfault (hiiizxf)

* udp,unix: fix sendmsg use-after-free (Geddy)

* cygwin: implement uv_resident_set_memory (Farzin Monsef)

* win: almost fix race detecting ESRCH in uv_kill (Santiago Gimeno)

* test: disable env var test under win32+asan (Ben Noordhuis)

* unix,fs: fix realpath calls that use the system allocator (Saúl Ibarra
  Corretgé)

* sunos: sync tcp keep-alive with other unices (Andy Pan)

* linux: fix /proc/self/stat executable name parsing (Farzin Monsef)

* test,ci: fix [AM]San, disable ASLR (Ben Noordhuis)

* win: remove _alloca usage (Ben Noordhuis)

* unix: reinstate preadv/pwritev fallback code (Ben Noordhuis)

* linux: don't delay EPOLL_CTL_DEL operations (Ben Noordhuis)

* doc: fix typos in ChangeLog (tgolang)

* unix,win: error on zero delay tcp keepalive (Saúl Ibarra Corretgé)

* win: simplify uv_once implementation (Saúl Ibarra Corretgé)

* doc: correct udp socket options documentation (Ben Noordhuis)

* linux: don't use sendmmsg() for single datagrams (Ben Noordhuis)

* unix: fix fd leaks in SCM_RIGHTS error path (Ben Noordhuis)

* win: robustify uv_os_getenv() error checking (Ben Noordhuis)

* test: use newer ASSERT_MEM_EQ macro (Ben Noordhuis)

* unix: de-duplicate conditions for using kqueue (Brad King)

* darwin: simplify uv_hrtime (Saúl Ibarra Corretgé)

* mailmap: update saghul's main email address (Saúl Ibarra Corretgé)

* win: remove no longer needed define (Saúl Ibarra Corretgé)

* doc: fix some typos (josedelinux)

* linux,darwin: make `uv_fs_copyfile` behaves like `cp -r` (Juan José Arboleda)

* dragonfly: disable SO_REUSEPORT for UDP socket bindings (Andy Pan)

* test: remove the obsolete HAVE_KQUEUE macro (Andy Pan)

* unix: use the presence of SOCK_* instead of OS macros for socketpair (Andy
  Pan)

* bsd: support pipe2() on *BSD (Andy Pan)

* unix: support SO_REUSEPORT with load balancing for TCP (Andy Pan)

* doc: add entries for extended getpw (Juan José Arboleda)

* test: fix the flaky test-tcp-reuseport (Andy Pan)

* aix,ibmi: fix compilation errors in fs_copyfile (Jeffrey H. Johnson)

* unix: support SO_REUSEPORT with load balancing for UDP (Andy Pan)

* tcpkeepalive: distinguish OS versions and use proper time units (Andy Pan)

* win: map ERROR_BAD_EXE_FORMAT to UV_EFTYPE (Hüseyin Açacak)

* doc: add instruction how to install with Conan (Uilian Ries)

* unix,win: remove unused req parameter from macros (Viacheslav Muravyev)

* build: fix android ci build (Ben Noordhuis)

* unix,win: export wtf8 functions properly (Ben Noordhuis)

* hurd: add includes and macro prerequisites (Olivier Valentin)

* hurd: stub uv_thread_setpriority() (Olivier Valentin)

* ci: use macOS 12 for macOS and iOS builds (Saúl Ibarra Corretgé)

* darwin: fix crash on iOS(arm64) (郑苏波 (Super Zheng))

* Create dependabot.yml for updating github-actions (Jameson Nash)

* doc: correct names of Win32 APIs in fs.rst (zeertzjq)

* ci: bump upload and download-artifact versions (dependabot[bot])

* ci: bump actions/setup-python from 4 to 5 (dependabot[bot])

* ci: bump KyleMayes/install-llvm-action from 1 to 2 (dependabot[bot])

* win,error: remap ERROR_NO_DATA to EAGAIN (Jameson Nash)

* test: handle zero-length udp datagram (Ben Noordhuis)

* misc: remove splay trees macros (Viacheslav Muravyev)

* test,openbsd: remove superfluous ifdef guard (Ben Noordhuis)

* win,fs: use posix delete semantics, if supported (Ian Butterworth)

* win: fix env var in uv_os_homedir and uv_os_tmpdir (Hüseyin Açacak)

* fsevents: detect watched directory removal (Santiago Gimeno)

* ci: bump actions/checkout to 4 (dependabot[bot])

* linux: eliminate a read on eventfd per wakeup (Andy Pan)

* test: pipe_overlong_path handle ENAMETOOLONG (Abdirahim Musse)

* win,fs: use the new Windows fast stat API (Hüseyin Açacak)

* win,pipe: fix race with concurrent readers (Jameson Nash)

* win,signal: fix data race dispatching SIGWINCH (Jameson Nash)

* build: ubsan fixes (Matheus Izvekov)

* linux: disable SQPOLL io_uring by default (Santiago Gimeno)

* win: fix fs.c ubsan failure (Matheus Izvekov)

* test: rmdir can return `EEXIST` or `ENOTEMPTY` (Richard Lau)

* test: check for `UV_CHANGE` or `UV_RENAME` event (Richard Lau)

* unix,fs: silence -Wunused-result warning (Santiago Gimeno)

* linux: support abstract unix socket autobinding (Ben Noordhuis)

* kqueue: use EVFILT_USER for async if available (Andy Pan)

* win: remove deprecated GetVersionExW call (Shelley Vohr)

* doc: document uv_loop_option (握猫猫)

* doc: fix the `uv_*_set_data` series of functions (握猫猫)

* doc: properly label enumerations and types (握猫猫)

* doc: document specific macOS fs_event behavior (Santiago Gimeno)

* win,pipe: restore fallback handling for blocking pipes (Jameson Nash)

* unix,win: remove unused rb-tree macro parameters (Viacheslav Muravyev)

* win: compute parallelism from process cpu affinity (Ben Noordhuis)

* win: use NtQueryInformationProcess in uv_os_getppid (Zuohui Yang)

* win,pipe: fix missing assignment to success (Jameson Nash)

* win: fix uv_available_parallelism on win32 (Ben Noordhuis)

* win,pipe: fix another missing assignment to success (Jameson Nash)

* kqueue: disallow ill-suited file descriptor kinds (Andy Pan)

* unix: restore tty attributes on handle close (Ben Noordhuis)

* test: delete test with invalid assumption (Ben Noordhuis)

* dragonflybsd: fix compilation failure (Jeffrey H. Johnson)

* test: run android tests on ci (Edigleysson Silva (Edy))

* darwin: add udp mmsg support (Raihaan Shouhell)

* unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis)

* unix: expand uv_available_parallelism() to support more platforms (Ondřej
  Surý)

* doc: add known issue in armv7 (Santiago Gimeno)


2024.02.07, Version 1.48.0 (Stable), e9f29cb984231524e3931aa0ae2c5dae1a32884e

Changes since version 1.47.0:

* misc: remove deprecated stalebot file (Jameson Nash)

* build: disable windows asan buildbot (Ben Noordhuis)

* test: don't run tcp_writealot under msan (Ben Noordhuis)

* build,win: remove extraneous -lshell32 (Ben Noordhuis)

* unix: ignore ifaddrs with NULL ifa_addr (Stephen Gallagher)

* unix,win: utility for setting priority for thread (Hao Hu)

* pipe: add back error handling to connect / bind (Jameson Nash)

* test: check if ipv6 link-local traffic is routable (Ben Noordhuis)

* win: remove check for UV_PIPE_NO_TRUNCATE (Jameson Nash)

* linux: disable io_uring on hppa below kernel 6.1.51 (matoro)

* unix,win: fix read past end of pipe name buffer (Ben Noordhuis)

* unix: unbreak macOS < 10.14 (Sergey Fedorov)

* aix: disable ipv6 link local (Abdirahim Musse)

* doc: move cjihrig to emeriti (cjihrig)

* unix: correct pwritev conditional (Bo Anderson)

* test_fs.c: Fix issue on 32-bit systems using btrfs (Stephen Gallagher)

* misc: ignore libuv-release-tool files (Jameson Nash)

* win: honor NoDefaultCurrentDirectoryInExePath env var (Ardi Nugraha)

* idna: fix compilation warning (Saúl Ibarra Corretgé)

* linux: remove HAVE_IFADDRS_H macro (Ben Noordhuis)

* test: skip tcp-write-in-a-row on IBM i (Abdirahim Musse)

* build,win: work around missing uuid.dll on MinGW (Anton Bachin)

* win: stop using deprecated names (Matheus Izvekov)

* unix,win: fix busy loop with zero timeout timers (Matheus Izvekov)

* aix,ibmi: use uv_interface_addresses instead of getifaddrs (Abdirahim Musse)

* linux: fix bind/connect for abstract sockets (Santiago Gimeno)

* win: replace c99 comments with c89 comments (Trevor Flynn)

* build: add .cache clangd folder to .gitignore (Juan José Arboleda)

* unix: support full TCP keep-alive on Solaris (Andy Pan)

* freebsd: fix F_KINFO file path handling (David Carlier)

* linux: retry fs op if unsupported by io_uring (Santiago Gimeno)
[--snip--]
