Skip to content

Latest commit

 

History

History
218 lines (162 loc) · 12.7 KB

File metadata and controls

218 lines (162 loc) · 12.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

0.12.5 - 2026-07-23

Added

  • (buf) make IoBuf, SetLen, and IoBufMut dyn-compatible (#969)

Fixed

  • semicolon_in_expressions_from_macros (#977)
  • (compio-fs) populate ctime correctly (#968)

Other

  • bump cfg_aliases (#980)

0.12.4 - 2026-07-06

Fixed

  • (driver,iour) set IORING_ENTER_NO_IOWAIT on CQE wait (#957)
  • (driver) unify buffer pool error to ResourceBusy across backends (#961)

0.12.3 - 2026-06-14

Fixed

  • drop linux_5_11 requirement (#947)

0.12.2 - 2026-06-05

Fixed

  • close ring instance before dropping in_flight data (#943)

0.12.1 - 2026-06-01

Fixed

  • (driver,iour) set correct poll_first flag (#939)

0.12.0 - 2026-05-27

Added

  • (driver,net) [breaking] more nonempty (#906)
  • (log) reduce unused warnings (#924)

Changed

  • replace cfg_if with cfg_select (#925)

Fixed

  • (driver) bounds-check buffer_id in Shared::reset (#927)

Other

  • check android & ios (#922)

0.12.0-rc.2 - 2026-05-15

Added

  • (compat) runtime compatibility layers (#920)
  • (driver) method to flush the operations (#919)
  • (driver,executor,runtime) [breaking] remove notify-always (#902)
  • (driver) add support for single issuer and deferred task run in ProactorBuilder (#908)
  • (driver, net) support recv_send_poll_first (#894)
  • (driver,iour) detect kernel version & fallback (#903)
  • (driver,net) [breaking] reuse socket on Windows (#887)
  • (driver) add sqpoll_cpu in ProactorBuilder (#900)
  • (io,net) async zerocopy write traits (#898)

Fixed

  • (driver) compile on android (#916)

Other

  • add more targets for docs.rs (#896)

0.12.0-rc.1 - 2026-04-20

Added

  • (driver) add more flags to Extra (#858)
  • (driver) add Extra::needs_polling (#857)
  • (driver) recvmsg multi (#842)
  • (driver) buffer pool allocator (#854)
  • (driver,iour) allow to specify cqsize (#834)
  • (runtime) [breaking] waker-based future combinator (#825)
  • (driver) yield_now in push_blocking loop (#816)
  • (driver,fs,unix) async anonymous pipe (#807)
  • (driver,net,unix) async bind & listen (#806)
  • (io) add traits for reading/writing with ancillary data (#717)
  • implement IntoInner for PollOnce and Splice (#792)
  • (net,win) make socket & shutdown sync (#789)
  • (driver) [breaking] accept multi (#747)
  • (driver) fallback for zerocopy ops (#755)
  • (driver) send zerocopy for Linux (#754)
  • update thin-cell (#738)
  • (driver) multishot op (#715)
  • (driver) make stub & iocp driver non-send and test (#728)
  • (driver) add register_files/unregister_files for io_uring fixed-file ops (#718)
  • (driver) entry fallback (#716)
  • (driver) add recv_from_managed operation support (#709)
  • (fs) dirfd support (#703)
  • (driver,unix) [breaking] support dirfd relative fs ops (#699)
  • (driver,iocp) impl AsFd for borrowed handle (#694)
  • (driver) force OpCode support (#690)
  • (dispatcher) block standard POSIX signals on worker threads (#672)
  • (runtime) cancel & future combinator (#665)
  • (driver) cancel token (#660)

Changed

  • [breaking] use rustix (#876)
  • (driver) adjust sys layout (#870)
  • (driver) use WeakKey for Cancel (#864)
  • (driver) handle panicking (#853)
  • (driver) require Default for Control (#859)
  • [breaking] buffer pool & managed IO (#820)
  • (driver,unix) use control api (#804)
  • (driver,iocp) use control api (#803)
  • (driver) get rid of pin (#758)
  • (net) adjust send* methods (#770)
  • (driver) record multishot results in ops (#748)
  • (driver) [breaking] make update_waker take &Key (#742)
  • (driver) shared fd (#661)

Fixed

  • (driver,iour) len field for RecvMulti (#879)
  • (driver) test cancel for windows (#881)
  • (driver,unix) add some control API usages (#832)
  • (driver) avoid leak if not consumed (#809)
  • (driver,fs) add Sync on fds of AsyncifyFd* (#805)
  • (driver) memory leaks on drop (#769)
  • (driver) rust-analyzer is confused by Extra (#740)
  • unused_features (#739)
  • (driver,iour) make Driver non-Send (#727)
  • (driver,net) [breaking] to/from/msg have optional address (#721)
  • (driver,stub) allow creation (#705)
  • (driver,unix) set_result for OpenFile & CreateSocket (#701)
  • (driver) key is not unique when spawn_blocking (#675)
  • (driver) statx on musl (#669)
  • (driver) the fusion driver with polling variant (#670)

Other

  • (driver) release buffer pool (#810)
  • (driver) read multi on pipe (#760)
  • remove "authors" field in metadata (#711)
  • (driver) fix doc for Dispatchable (#693)

0.11.1 - 2026-01-28

Added

  • (driver) [breaking] full iour fallback (#656)
  • (runtime) future combinator (#639)
  • (fs) splice (#635)
  • (driver) fake splice test (#638)
  • (driver,iour) support personality (#630)
  • (driver,quic) use synchrony (#628)
  • (driver) use nix instead of rustix (#627)
  • (driver,poll) multi fd (#623)
  • (driver) ensure that all supported statx fields are filled (#625)
  • (driver) add splice (#609)
  • (driver, fs) truncate file (#611)
  • (driver,unix) use stat64 if possible (#597)
  • [breaking] fs & net feature (#564)
  • (driver) distinguish Read/Write & Recv/Send (#567)
  • (driver) stablize aliases of OpCode (#566)

Changed

  • (driver) [breaking] make opcode unsafe (#650)
  • (runtime) [breaking] submit future (#632)
  • (driver) extra (#624)
  • (driver,poll) with_events (#622)
  • (driver) use thin-cell for Key (#620)
  • (driver) limit usage of Key::new_unchecked (#618)
  • (driver) make Key less unsafe (#616)
  • (buf) rename as_slice to as_init (#594)
  • set_buf_init (#579)
  • (driver,iocp) [breaking] make OpCode::cancel safe (#575)
  • (driver) use pin_project_lite for Ops (#570)
  • (driver,runtime) merge overlapped and flags into unified Extra (#559)
  • (buf) better IoBuf (#555)

Fixed

  • (driver,iour) cancel leaks the key (#652)
  • (driver) user_data does not exist (#643)
  • (driver) multi fd (#636)
  • (driver, IOCP) cap buf, sys_slice length to u32 (#613)
  • (driver,stub) compile (#612)
  • (iour) cap buf len to u32::MAX (#600) (#601)
  • (buf,driver) safety around set_len (#585)
  • (driver,iocp) send* & recv* might receive dangling ptrs (#572)
  • (driver) stub driver is broken (#560)

Other

  • deploy docs (#641)
  • (driver) update SockAddrStorage usage (#599)
  • deny rustdoc::broken_intra_doc_links (#574)
  • fix broken builds (#562)