CHANGELOG 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. liburing-2.4 release
  2. - Add io_uring_{major,minor,check}_version() functions.
  3. - Add IO_URING_{MAJOR,MINOR,CHECK}_VERSION() macros.
  4. - FFI support (for non-C/C++ languages integration).
  5. - Add io_uring_prep_msg_ring_cqe_flags() function.
  6. - Deprecate --nolibc configure option.
  7. - CONFIG_NOLIBC is always enabled on x86-64, x86, and aarch64.
  8. - Add support for IORING_REGISTER_USE_REGISTERED_RING and use if available.
  9. - Add io_uring_close_ring_fd() function.
  10. - Add io_uring_prep_msg_ring_fd_alloc function.
  11. - Add io_uring_free_buf_ring() and io_uring_setup_buf_ring() functions.
  12. - Ensure that io_uring_prep_accept_direct(), io_uring_prep_openat_direct(),
  13. io_uring_prep_openat2_direct(), io_uring_prep_msg_ring_fd(), and
  14. io_uring_prep_socket_direct() factor in being called with
  15. IORING_FILE_INDEX_ALLOC for allocating a direct descriptor.
  16. - Add io_uring_prep_sendto() function.
  17. liburing-2.3 release
  18. - Support non-libc build for aarch64.
  19. - Add io_uring_{enter,enter2,register,setup} syscall functions.
  20. - Add sync cancel interface, io_uring_register_sync_cancel().
  21. - Fix return value of io_uring_submit_and_wait_timeout() to match the
  22. man page.
  23. - Improvements to the regression tests
  24. - Add support and test case for passthrough IO
  25. - Add recv and recvmsg multishot helpers and support
  26. - Add documentation and support for IORING_SETUP_DEFER_TASKRUN
  27. - Fix potential missing kernel entry with IORING_SETUP_IOPOLL
  28. - Add support and documentation for zero-copy network transmit
  29. - Various optimizations
  30. - Many cleanups
  31. - Many man page additions and updates
  32. liburing-2.2 release
  33. - Support non-libc builds.
  34. - Optimized syscall handling for x86-64/x86/aarch64.
  35. - Enable non-lib function calls for fast path functions.
  36. - Add support for multishot accept.
  37. - io_uring_register_files() will set RLIMIT_NOFILE if necessary.
  38. - Add support for registered ring fds, io_uring_register_ring_fd(),
  39. reducing the overhead of an io_uring_enter() system call.
  40. - Add support for the message ring opcode.
  41. - Add support for newer request cancelation features.
  42. - Add support for IORING_SETUP_COOP_TASKRUN, which can help reduce the
  43. overhead of io_uring in general. Most applications should set this flag,
  44. see the io_uring_setup.2 man page for details.
  45. - Add support for registering a sparse buffer and file set.
  46. - Add support for a new buffer provide scheme, see
  47. io_uring_register_buf_ring.3 for details.
  48. - Add io_uring_submit_and_wait_timeout() for submitting IO and waiting
  49. for completions with a timeout.
  50. - Add io_uring_prep_{read,write}v2 prep helpers.
  51. - Add io_uring_prep_close_direct() helper.
  52. - Add support for SQE128 and CQE32, which are doubly sized SQE and CQE
  53. rings. This is needed for some cases of the new IORING_OP_URING_CMD,
  54. notably for NVMe passthrough.
  55. - ~5500 lines of man page additions, including adding ~90 new man pages.
  56. - Synced with the 5.19 kernel release, supporting all the features of
  57. 5.19 and earlier.
  58. - 24 new regression test cases, and ~7000 lines of new tests in general.
  59. - General optimizations and fixes.