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