Skip to content

Releases: libuv/libuv

v1.52.1: 2026.03.06, Version 1.52.1 (Stable)

06 Mar 20:36
v1.52.1

Choose a tag to compare

Dist files at https://dist.libuv.org/dist/v1.52.1/

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)

v1.52.0: 2026.02.11, Version 1.52.0 (Stable)

11 Feb 02:09
v1.52.0
b556c06

Choose a tag to compare

Dist files at https://dist.libuv.org/dist/v1.52.0/

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)

v1.51.0: 2025.04.25, Version 1.51.0 (Stable)

25 Apr 10:02
v1.51.0

Choose a tag to compare

Dist files at https://dist.libuv.org/dist/v1.51.0/

Notable Changes

  • unix,win: accept NAN/INFINITY as file timestamps #4702
  • win: add ENABLE_VIRTUAL_TERMINAL_INPUT raw tty mode #4688
  • linux: align CPU quota calculation with Rust #4746

Important Bugs Fixed

  • win: fix leak in uv_os_tmpdir #4680
  • linux: try preadv64/pwritev64 before preadv/pwritev #4683

v1.50.0: 2025.01.15, Version 1.50.0 (Stable)

15 Jan 18:23
v1.50.0

Choose a tag to compare

Dist files at https://dist.libuv.org/dist/v1.50.0/

Notable Changes

  • win: drop support for windows 8 #4624
  • unix,win: add uv_udp_try_send2 #4644
  • win: drop support for the legacy MinGW #4645
  • misc: implement uv_getrusage_thread #4666
  • linux: always use io_uring for epoll batching #4638

Important Bugs Fixed

  • win: fix leak processing fs event #4656
  • win: plug uv_fs_event_start memory leak #4647

v1.49.2: 2024.10.18, Version 1.49.2 (Stable)

18 Oct 19:15
v1.49.2

Choose a tag to compare

Dist files at https://dist.libuv.org/dist/v1.49.2/

Important Bugs Fixed

  • Revert "linux: eliminate a read on eventfd per wakeup (#4400)" #4585
  • win: Fix linked list logic in getaddrinfo #4578

v1.49.1: 2024.10.11, Version 1.49.1 (Stable)

11 Oct 07:27
v1.49.1

Choose a tag to compare

See #4571 for details.

Dist files at https://dist.libuv.org/dist/v1.49.1/

Important Bugs Fixed

  • win,pipe: ipc code does not support async read #4555
  • win,fs: fix bug in fs__readdir #4561
  • unix: work around arm-linux-gnueabihf-gcc bug #4565 #4564

v1.49.0: 2024.09.25, Version 1.49.0 (Stable)

25 Sep 09:00
v1.49.0

Choose a tag to compare

See #4468 for details.

Dist files at https://dist.libuv.org/dist/v1.49.0/

Notable Changes

  • linux: disable SQPOLL io_uring by default #4492
  • unix: reinstate preadv/pwritev fallback code #4345
  • win,fs: use the new Windows fast stat API #4327

Important Bugs Fixed

  • win,pipe: fix race with concurrent readers #4470
  • win,signal: fix data race dispatching SIGWINCH #4488

v1.48.0: 2024.02.07, Version 1.48.0 (Stable)

07 Feb 21:49
v1.48.0

Choose a tag to compare

See #4248 for details.

Dist files at https://dist.libuv.org/dist/v1.48.0/

Vulnerabilities fixed

Notable Changes

  • linux: disable io_uring on ppc64 and ppc64le #4285
  • linux: disable io_uring on hppa below kernel 6.1.51 #4224
  • win/spawn: optionally run executable paths with no file extension #4292 (We recommend that most users consider setting this by default)

Important Bugs Fixed

  • unix,win: fix busy loop with zero timeout timers #4250, #4304.

v1.47.0: 2023.11.06, Version 1.47.0 (Stable)

06 Nov 18:33
v1.47.0

Choose a tag to compare

See #4186 for details.

Dist files at https://dist.libuv.org/dist/v1.47.0/

Notable Changes

  • linux: don't use io_uring on pre-5.10.186 kernels #4093
  • linux: disable io_uring on 32 bits arm systems #4187
  • unix: disable io_uring close on selected kernels #4141

  • unix: TCP_KEEPINTVL and TCP_KEEPCNT are available on OS X 10.8+ #3908
  • unix: add missing syscall numbers for RISC-V arch #4127
  • unix: get mainline kernel version in Ubuntu #4131
  • win,process: avoid kernel bug with starting Windows Store apps #4152

  • export WTF8 conversion utilities #4021
  • fs: fix WTF-8 decoding issue #4092

v1.46.0: 2023.06.30, Version 1.46.0 (Stable)

30 Jun 21:10
v1.46.0

Choose a tag to compare

See #4077 for details.

Dist files at https://dist.libuv.org/dist/v1.46.0/

Notable changes

  • fs: use WTF-8 on Windows #2970
  • linux: add some more iouring backed fs ops #4012

Important bugs fixed

  • linux: work around io_uring IORING_OP_CLOSE bug #4059
  • src: don't run timers if loop is stopped/unref'd #4048