1liburing-2.7 release 2 3- Man page updates 4- Sync with kernel 6.10 5 - send/recv bundle support 6 - accept nowait and CQE_F_MORE 7- Add and update test cases 8- Fix io_uring_queue_init_mem() returning a value that was too small, 9 potentially causing memory corruption in userspace by overwriting 10 64 bytes beyond the returned value. Also add test case for that. 11- Add 64-bit length variants of io_uring_prep_{m,f}advise() 12- Add BIND/LISTEN support and helpers / man pages 13- Add io_uring_enable_rings.3 man page 14- Fix bug in io_uring_prep_read_multishot() 15- Fixup bundle test cases 16- Add fixed-hugepage test case 17- Fix io_uring_prep_fixed_fd_install.3 man page 18- Note 'len' == 0 requirement in io_uring_prep_send.3 man page 19- Fix some test cases for skipping on older kernels 20 21liburing-2.6 release 22 23- Add getsockopt and setsockopt socket commands 24- Add test cases to test/hardlink 25- Man page fixes 26- Add futex support, and test cases 27- Add waitid support, and test cases 28- Add read multishot, and test cases 29- Add support for IORING_SETUP_NO_SQARRAY 30- Use IORING_SETUP_NO_SQARRAY as the default 31- Add support for IORING_OP_FIXED_FD_INSTALL 32- Add io_uring_prep_fixed_fd_install() helper 33- Support for napi busy polling 34- Improve/add test cases 35- Man page fixes 36- Add sample 'proxy' example 37 38liburing-2.5 release 39 40- Add support for io_uring_prep_cmd_sock() 41- Add support for application allocated ring memory, for placing rings 42 in huge mem. Available through io_uring_queue_init_mem(). 43- Add support for registered ring fds 44- Various documentation updates 45- Various fixes 46 47liburing-2.4 release 48 49- Add io_uring_{major,minor,check}_version() functions. 50- Add IO_URING_{MAJOR,MINOR,CHECK}_VERSION() macros. 51- FFI support (for non-C/C++ languages integration). 52- Add io_uring_prep_msg_ring_cqe_flags() function. 53- Deprecate --nolibc configure option. 54- CONFIG_NOLIBC is always enabled on x86-64, x86, and aarch64. 55- Add support for IORING_REGISTER_USE_REGISTERED_RING and use if available. 56- Add io_uring_close_ring_fd() function. 57- Add io_uring_prep_msg_ring_fd_alloc function. 58- Add io_uring_free_buf_ring() and io_uring_setup_buf_ring() functions. 59- Ensure that io_uring_prep_accept_direct(), io_uring_prep_openat_direct(), 60 io_uring_prep_openat2_direct(), io_uring_prep_msg_ring_fd(), and 61 io_uring_prep_socket_direct() factor in being called with 62 IORING_FILE_INDEX_ALLOC for allocating a direct descriptor. 63- Add io_uring_prep_sendto() function. 64- Add io_uring_prep_cmd_sock() function. 65 66liburing-2.3 release 67 68- Support non-libc build for aarch64. 69- Add io_uring_{enter,enter2,register,setup} syscall functions. 70- Add sync cancel interface, io_uring_register_sync_cancel(). 71- Fix return value of io_uring_submit_and_wait_timeout() to match the 72 man page. 73- Improvements to the regression tests 74- Add support and test case for passthrough IO 75- Add recv and recvmsg multishot helpers and support 76- Add documentation and support for IORING_SETUP_DEFER_TASKRUN 77- Fix potential missing kernel entry with IORING_SETUP_IOPOLL 78- Add support and documentation for zero-copy network transmit 79- Various optimizations 80- Many cleanups 81- Many man page additions and updates 82 83liburing-2.2 release 84 85- Support non-libc builds. 86- Optimized syscall handling for x86-64/x86/aarch64. 87- Enable non-lib function calls for fast path functions. 88- Add support for multishot accept. 89- io_uring_register_files() will set RLIMIT_NOFILE if necessary. 90- Add support for registered ring fds, io_uring_register_ring_fd(), 91 reducing the overhead of an io_uring_enter() system call. 92- Add support for the message ring opcode. 93- Add support for newer request cancelation features. 94- Add support for IORING_SETUP_COOP_TASKRUN, which can help reduce the 95 overhead of io_uring in general. Most applications should set this flag, 96 see the io_uring_setup.2 man page for details. 97- Add support for registering a sparse buffer and file set. 98- Add support for a new buffer provide scheme, see 99 io_uring_register_buf_ring.3 for details. 100- Add io_uring_submit_and_wait_timeout() for submitting IO and waiting 101 for completions with a timeout. 102- Add io_uring_prep_{read,write}v2 prep helpers. 103- Add io_uring_prep_close_direct() helper. 104- Add support for SQE128 and CQE32, which are doubly sized SQE and CQE 105 rings. This is needed for some cases of the new IORING_OP_URING_CMD, 106 notably for NVMe passthrough. 107- ~5500 lines of man page additions, including adding ~90 new man pages. 108- Synced with the 5.19 kernel release, supporting all the features of 109 5.19 and earlier. 110- 24 new regression test cases, and ~7000 lines of new tests in general. 111- General optimizations and fixes. 112