ITADN
compio-rs/compio

版本发布 8

v0.13.1
? · 2024-11-25

## What's Changed * fix(runtime): forget op if no current runtime by @Berrysoft in https://github.com/compio-rs/compio/pull/338 * Add support for smallvec by @George-Miao in https://github.com/compio-rs/compio/pull/341 * build: update flake by @George-Miao in https://github.com/compio-rs/compio/pull/342 * fix(poll): renew event with valid user_data by @Berrysoft in https://github.com/compio-rs/compio/pull/340 * fix(driver): erase op type in driver by @Berrysoft in https://github.com/compio-rs/compio/pull/348 * fix(poll): cancel in the fd queue by @Berrysoft in https://github.com/compio-rs/compio/pull/346 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.13.0...v0.13.1

v0.13.0
? · 2024-11-21

## What's Changed * ci: guard compio is compatible with stable rust by @tisonkun in https://github.com/compio-rs/compio/pull/297 * fix(fs): metadata types on armv7-linux-androideabi by @Berrysoft in https://github.com/compio-rs/compio/pull/298 * feat(tls): add ALPN support by @Berrysoft in https://github.com/compio-rs/compio/pull/299 * feat(io): add *_read_uninit for compat by @Berrysoft in https://github.com/compio-rs/compio/pull/301 * feat(runtime): don't try to poll all tasks before polling driver by @Berrysoft in https://github.com/compio-rs/compio/pull/300 * feat(net): add from_std for UdpSocket by @Berrysoft in https://github.com/compio-rs/compio/pull/302 * refactor: update rustfmt config by @Berrysoft in https://github.com/compio-rs/compio/pull/303 * fix(driver,poll,iour): use Arc::clone instead of try_clone by @Berrysoft in https://github.com/compio-rs/compio/pull/306 * fix(driver,poll): remove pipe usage by @Berrysoft in https://github.com/compio-rs/compio/pull/307 * fix(quic): don't exit event loop on I/O error by @AsakuraMizu in https://github.com/compio-rs/compio/pull/311 * fix(net,iour,poll): fix accept leak by @Berrysoft in https://github.com/compio-rs/compio/pull/315 * build(deps): update rustls platform verifier by @Berrysoft in https://github.com/compio-rs/compio/pull/317 * feat(io): remove explicit lifetime from copy by @George-Miao in https://github.com/compio-rs/compio/pull/319 * fix(driver,poll): ignore EINTR and retry by @Berrysoft in https://github.com/compio-rs/compio/pull/320 * feat(driver,iocp): add WaitCompletionPacket support by @Berrysoft in https://github.com/compio-rs/compio/pull/316 * refactor(net,iocp): move WSAStartup by @Berrysoft in https://github.com/compio-rs/compio/pull/314 * fix(io): copy should be eager by @Berrysoft in https://github.com/compio-rs/compio/pull/321 * refactor(driver,poll): remove event in on_event by @Berrysoft in https://github.com/compio-rs/compio/pull/322 * ci: add freebsd by @Berrysoft in https://github.com/compio-rs/compio/pull/324 * fix(io,copy): clear buf after write by @Berrysoft in https://github.com/compio-rs/compio/pull/325 * refactor(driver,poll): add op_type by @Berrysoft in https://github.com/compio-rs/compio/pull/323 * feat: add FreeBSD AIO support by @Berrysoft in https://github.com/compio-rs/compio/pull/310 * fix(runtime): runnable reference cycle by @Berrysoft in https://github.com/compio-rs/compio/pull/328 * ci: add illumos one by @Berrysoft in https://github.com/compio-rs/compio/pull/327 * refactor: use cfg_aliases by @Berrysoft in https://github.com/compio-rs/compio/pull/331 * fix(runtime): self-reference without Arc by @Berrysoft in https://github.com/compio-rs/compio/pull/329 * refactor(driver,runtime): allow polling driver when pushing an op by @Berrysoft in https://github.com/compio-rs/compio/pull/308 * doc(README): add banner by @George-Miao in https://github.com/compio-rs/compio/pull/334 * feat(quic): support rustls provider aws-lc-rs by @AsakuraMizu in https://github.com/compio-rs/compio/pull/333 * feat(driver): add AIO support for illumos & solaris by @Berrysoft in https://github.com/compio-rs/compio/pull/330 * fix: add rustls features for tls by @Berrysoft in https://github.com/compio-rs/compio/pull/336 * fix: add io-uring & polling feature to crates by @Berrysoft in https://github.com/compio-rs/compio/pull/335 ## New Contributors * @tisonkun made their first contribution in https://github.com/compio-rs/compio/pull/297 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.12.0...v0.13.0

v0.12.0
? · 2024-09-20

## What's Changed * doc: Update README.md by @George-Miao in https://github.com/compio-rs/compio/pull/270 * refactor(driver): better IORING_CQE_F_MORE handle by @Sherlock-Holo in https://github.com/compio-rs/compio/pull/273 * feat: add flags related methods by @Sherlock-Holo in https://github.com/compio-rs/compio/pull/272 * feat: add ancillary data support by @AsakuraMizu in https://github.com/compio-rs/compio/pull/275 * test(fs): Add a test case for read with timeout by @Xuanwo in https://github.com/compio-rs/compio/pull/280 * refactor: `IoVectoredBuf` by @George-Miao in https://github.com/compio-rs/compio/pull/277 * fix(driver/net): ancillary data by @AsakuraMizu in https://github.com/compio-rs/compio/pull/283 * fix(buf): remove unreachable pattern by @AsakuraMizu in https://github.com/compio-rs/compio/pull/287 * doc: fix clippy "first doc comment paragraph is too long" by @AsakuraMizu in https://github.com/compio-rs/compio/pull/289 * Add from_std methods by @fafhrd91 in https://github.com/compio-rs/compio/pull/290 * feat: QUIC by @AsakuraMizu in https://github.com/compio-rs/compio/pull/282 * Fix/driver-type by @George-Miao in https://github.com/compio-rs/compio/pull/292 * feat: use signalfd on Linux by @Berrysoft in https://github.com/compio-rs/compio/pull/271 ## New Contributors * @fafhrd91 made their first contribution in https://github.com/compio-rs/compio/pull/290 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.11.0...v0.12.0

v0.11.0
? · 2024-06-17

## What's Changed * feat(dispatcher): Make concurrency by @George-Miao in https://github.com/compio-rs/compio/pull/244 * feat(runtime): catch unwind in spawn* by @Berrysoft in https://github.com/compio-rs/compio/pull/245 * refactor(driver): add SharedFd & OwnedFd and require them in operations by @Berrysoft in https://github.com/compio-rs/compio/pull/230 * fix(runtime): incorrect min_timeout by @Mivik in https://github.com/compio-rs/compio/pull/246 * refactor(driver): generic SharedFd by @Berrysoft in https://github.com/compio-rs/compio/pull/247 * fix: feature typo by @Berrysoft in https://github.com/compio-rs/compio/pull/249 * feat(fs): AsyncFd by @Berrysoft in https://github.com/compio-rs/compio/pull/248 * feat(driver): reduce eventfd IO by @Berrysoft in https://github.com/compio-rs/compio/pull/250 * fix(runtime): handle busy error in spawn_blocking by @Berrysoft in https://github.com/compio-rs/compio/pull/253 * feat(driver): move future state into RawOp by @Berrysoft in https://github.com/compio-rs/compio/pull/251 * perf(net): rewrite net bench and optimize by @Berrysoft in https://github.com/compio-rs/compio/pull/254 * refactor(dispatcher): reduces alloc and API change by @George-Miao in https://github.com/compio-rs/compio/pull/255 * feat(dispatcher): derive debug for dispatcher by @George-Miao in https://github.com/compio-rs/compio/pull/256 * feat(driver): add io-uring sqpoll support by @Sherlock-Holo in https://github.com/compio-rs/compio/pull/257 * perf: move named pipe bench and add unix socket bench by @Berrysoft in https://github.com/compio-rs/compio/pull/258 * build(deps): update nix requirement from 0.28.0 to 0.29.0 by @dependabot in https://github.com/compio-rs/compio/pull/259 * feat(dispatcher): dispatch blocking fn's by @George-Miao in https://github.com/compio-rs/compio/pull/260 * feat(process): compio-process by @Berrysoft in https://github.com/compio-rs/compio/pull/224 * feat(runtime): faster SendWrapper with cached thread id by @Berrysoft in https://github.com/compio-rs/compio/pull/261 * fix(driver,poll): ENOENT on Linux by @Berrysoft in https://github.com/compio-rs/compio/pull/263 * fix(driver,iocp): use Vec instead of ArrayVec by @Berrysoft in https://github.com/compio-rs/compio/pull/262 * test(net): use random port by @AsakuraMizu in https://github.com/compio-rs/compio/pull/267 * feat(net): add PollFd to wait for readiness by @Berrysoft in https://github.com/compio-rs/compio/pull/265 * refactor(macro): remove compio::main restrictions by @ClSlaid in https://github.com/compio-rs/compio/pull/268 ## New Contributors * @Mivik made their first contribution in https://github.com/compio-rs/compio/pull/246 * @AsakuraMizu made their first contribution in https://github.com/compio-rs/compio/pull/267 * @ClSlaid made their first contribution in https://github.com/compio-rs/compio/pull/268 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.10.0...v0.11.0

v0.10.0
? · 2024-04-25

## What's Changed * refactor(runtime): return Task in spawn_blocking by @Berrysoft in https://github.com/compio-rs/compio/pull/221 * fix(buf): make IoBuf(Mut) unsafe by @Berrysoft in https://github.com/compio-rs/compio/pull/222 * feat(driver,windows): add win32 event support by @Berrysoft in https://github.com/compio-rs/compio/pull/223 * build: add flake.nix by @George-Miao in https://github.com/compio-rs/compio/pull/226 * fix(driver,iour): remove outer squeue by @Berrysoft in https://github.com/compio-rs/compio/pull/227 * refactor(bench): rewrite fs bench by @Berrysoft in https://github.com/compio-rs/compio/pull/225 * refactor(driver): remove OpenFile & stat ops for Windows by @Berrysoft in https://github.com/compio-rs/compio/pull/228 * fix(driver,iour): wrong impl of WriteVectoredAt by @Berrysoft in https://github.com/compio-rs/compio/pull/231 * fix(driver,poll): use blocking file io by @Berrysoft in https://github.com/compio-rs/compio/pull/232 * fix(unix,iour): musl libc compatibility by @valpackett in https://github.com/compio-rs/compio/pull/233 * fix(driver): use statx only on linux-gnu by @Berrysoft in https://github.com/compio-rs/compio/pull/235 * feat(fs): new fs methods by @Berrysoft in https://github.com/compio-rs/compio/pull/237 * feat(driver): add CreateSocket by @Berrysoft in https://github.com/compio-rs/compio/pull/236 * build(deps): update block2 requirement from 0.4.0 to 0.5.0 by @dependabot in https://github.com/compio-rs/compio/pull/242 * feat(io): compat async stream for futures by @Berrysoft in https://github.com/compio-rs/compio/pull/240 ## New Contributors * @valpackett made their first contribution in https://github.com/compio-rs/compio/pull/233 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.9.0...v0.10.0

v0.9.0
? · 2024-03-04

## What's Changed * Pop the op later. by @Berrysoft in https://github.com/compio-rs/compio/pull/85 * Implement `IoBuf` for `Box<[u8]>` by @George-Miao in https://github.com/compio-rs/compio/pull/87 * Add a multi-threading dispatcher by @Berrysoft in https://github.com/compio-rs/compio/pull/86 * Check and renew fd in polling driver by @Berrysoft in https://github.com/compio-rs/compio/pull/88 * Fix: unable to resolve `compio-runtime` in macros by @George-Miao in https://github.com/compio-rs/compio/pull/89 * Remove cancel queue for io-uring driver. by @Berrysoft in https://github.com/compio-rs/compio/pull/90 * Add custom `IoSlice` by @George-Miao in https://github.com/compio-rs/compio/pull/94 * Use `compio-macros` in tests by @George-Miao in https://github.com/compio-rs/compio/pull/95 * Compio IO crate by @George-Miao in https://github.com/compio-rs/compio/pull/71 * Add `doc(cfg())` support by @George-Miao in https://github.com/compio-rs/compio/pull/96 * Use IO traits in net & fs. by @Berrysoft in https://github.com/compio-rs/compio/pull/99 * refactor: change SockAddr return type to SocketAddr by @Sherlock-Holo in https://github.com/compio-rs/compio/pull/100 * Add unix pipe. by @Berrysoft in https://github.com/compio-rs/compio/pull/91 * Add preadv & pwritev support by @Berrysoft in https://github.com/compio-rs/compio/pull/101 * Async DNS resolve by @Berrysoft in https://github.com/compio-rs/compio/pull/106 * feat(driver): fusion driver by @George-Miao in https://github.com/compio-rs/compio/pull/110 * Make schedule Send with panics. by @Berrysoft in https://github.com/compio-rs/compio/pull/109 * Make DNS resolve async on Unix by @Berrysoft in https://github.com/compio-rs/compio/pull/111 * docs(net): add example for async resolve. by @Berrysoft in https://github.com/compio-rs/compio/pull/116 * doc: add `CONTRIBUTION.md` by @George-Miao in https://github.com/compio-rs/compio/pull/114 * Add `develop-guide` in ToC of `CONTRIBUTING.md` by @George-Miao in https://github.com/compio-rs/compio/pull/117 * feat(buf): redesign IoBufMut by @Berrysoft in https://github.com/compio-rs/compio/pull/115 * feat(fs, net): add impl for &T by @Berrysoft in https://github.com/compio-rs/compio/pull/118 * feat(tls): add native-tls adapters. by @Berrysoft in https://github.com/compio-rs/compio/pull/119 * Fix typo by @nazar-pc in https://github.com/compio-rs/compio/pull/121 * doc: add contribution section to README.md by @George-Miao in https://github.com/compio-rs/compio/pull/122 * feat: add some impl for buf & io by @Berrysoft in https://github.com/compio-rs/compio/pull/123 * fix: unused imports warnings by @Berrysoft in https://github.com/compio-rs/compio/pull/126 * fix: add `required-features` to `resolve` by @ho-229 in https://github.com/compio-rs/compio/pull/128 * feat: more async file operations by @Berrysoft in https://github.com/compio-rs/compio/pull/125 * refactor: organize crates by @Berrysoft in https://github.com/compio-rs/compio/pull/130 * feat: async open named pipe client by @Berrysoft in https://github.com/compio-rs/compio/pull/133 * docs: fix warnings by @Berrysoft in https://github.com/compio-rs/compio/pull/135 * feat(tls): add rustls backend by @Berrysoft in https://github.com/compio-rs/compio/pull/134 * refactor(runtime): expose `async_task::Task` by @George-Miao in https://github.com/compio-rs/compio/pull/138 * refactor: ensure Event being oneshot by @Berrysoft in https://github.com/compio-rs/compio/pull/140 * feat: Add logs by @ho-229 in https://github.com/compio-rs/compio/pull/132 * feat: HTTP client by @Berrysoft in https://github.com/compio-rs/compio/pull/127 * feat: update rustls to 0.22.0-alpha.4 by @Berrysoft in https://github.com/compio-rs/compio/pull/145 * fix: compile error without runtime feature by @Berrysoft in https://github.com/compio-rs/compio/pull/142 * feat: make `Runtime` public by @Berrysoft in https://github.com/compio-rs/compio/pull/141 * fix: update version and prepare for beta release by @Berrysoft in https://github.com/compio-rs/compio/pull/147 * docs: fix rustdoc args by @Berrysoft in https://github.com/compio-rs/compio/pull/148 * feat(driver,runtime): wake up proactor from other threads by @Berrysoft in https://github.com/compio-rs/compio/pull/149 * fix: typos in docs by @oluceps in https://github.com/compio-rs/compio/pull/151 * fix: badges on README and versions by @Berrysoft in https://github.com/compio-rs/compio/pull/150 * feat(tls,http): remove http and include tls by @Berrysoft in https://github.com/compio-rs/compio/pull/152 * feat: add some features for monocrate by @Berrysoft in https://github.com/compio-rs/compio/pull/153 * doc: add telegram badge to README.md by @George-Miao in https://github.com/compio-rs/compio/pull/156 * fix(tls): fix rustls version by @George-Miao in https://github.com/compio-rs/compio/pull/157 * refactor(runtime): make Attacher a container by @Berrysoft in https://github.com/compio-rs/compio/pull/154 * fix(tls): update rustls to 0.22.0-alpha.5 by @Berrysoft in https://github.com/compio-rs/compio/pull/159 * fix(tls): pin version of rustls-pki-types by @Berrysoft in https://github.com/compio-rs/compio/pull/160 * fix(net): cancel async resolver on drop by @Berrysoft in https://github.com/compio-rs/compio/pull/162 * fix(tls): report error if no tls backend enabled by @Berrysoft in https://github.com/compio-rs/compio/pull/166 * refactor(driver,polling): remove `is_blocking` by @Berrysoft in https://github.com/compio-rs/compio/pull/169 * feat(driver,runtime): add Asyncify op and `spawn_blocking` by @Berrysoft in https://github.com/compio-rs/compio/pull/163 * ci: add beta channel by @ho-229 in https://github.com/compio-rs/compio/pull/173 * feat(tls): update rustls to 0.22 by @Berrysoft in https://github.com/compio-rs/compio/pull/172 * feat(net): use spawn_blocking for unix resolver by @Berrysoft in https://github.com/compio-rs/compio/pull/171 * fix(net,linux): remove dep on libanl by @Berrysoft in https://github.com/compio-rs/compio/pull/175 * feat: prepare for 0.9.0-beta.4 by @Berrysoft in https://github.com/compio-rs/compio/pull/178 * fix(test): push_and_wait should poll in a loop by @Berrysoft in https://github.com/compio-rs/compio/pull/179 * feat(driver): drop completed `RawOp` on `Proactor` dropping by @Berrysoft in https://github.com/compio-rs/compio/pull/167 * feat(fs,driver): add async metadata by @Berrysoft in https://github.com/compio-rs/compio/pull/170 * build(deps): update proc-macro-crate requirement from 2.0.0 to 3.0.0 by @dependabot in https://github.com/compio-rs/compio/pull/184 * fix(driver,runtime): op removed from driver before future returns ready by @Berrysoft in https://github.com/compio-rs/compio/pull/181 * fix(io): remove incorrect AsyncRead impls by @Berrysoft in https://github.com/compio-rs/compio/pull/188 * fix(driver,poll): allow event with no interest by @Berrysoft in https://github.com/compio-rs/compio/pull/195 * fix(signal,unix): use pipe by @Berrysoft in https://github.com/compio-rs/compio/pull/183 * feat(buf,driver): make opcode !Unpin by @Berrysoft in https://github.com/compio-rs/compio/pull/176 * feat(driver,iour): add large sqe & cqe support by @Berrysoft in https://github.com/compio-rs/compio/pull/193 * feat(runtime): use AtomicWaker instead of platform-dependent resources by @Berrysoft in https://github.com/compio-rs/compio/pull/196 * fix(event):move event.rs to src by @bokket in https://github.com/compio-rs/compio/pull/197 * fix(runtime): attacher should be !Send & !Sync by @Berrysoft in https://github.com/compio-rs/compio/pull/199 * doc(signal): about spawning a thread for signal handler by @Berrysoft in https://github.com/compio-rs/compio/pull/198 * fix(io): read_exact and write_all by @Berrysoft in https://github.com/compio-rs/compio/pull/204 * feat(io): return `()` in `read_exact` and `write_all` by @Berrysoft in https://github.com/compio-rs/compio/pull/205 * feat(io,net): add split by @Berrysoft in https://github.com/compio-rs/compio/pull/206 * fix(io): make buffer flush error safe by @Berrysoft in https://github.com/compio-rs/compio/pull/210 * fix(fs,windows): allow `File::create` on hidden files by @Berrysoft in https://github.com/compio-rs/compio/pull/211 * ci: Migrate check workflow to GHA by @Xuanwo in https://github.com/compio-rs/compio/pull/213 * ci: Migrate test workflows by @Xuanwo in https://github.com/compio-rs/compio/pull/214 * build(deps): update nix requirement from 0.27.1 to 0.28.0 by @dependabot in https://github.com/compio-rs/compio/pull/216 * feat(dep): upgrade rustls to 0.23 by @Berrysoft in https://github.com/compio-rs/compio/pull/217 * refactor: impls of buf and io traits by @Berrysoft in https://github.com/compio-rs/compio/pull/218 * feat(net): async connect unix stream by @Berrysoft in https://github.com/compio-rs/compio/pull/212 * feat: add stdio by @Berrysoft in https://github.com/compio-rs/compio/pull/208 * feat(runtime): a runtime hook API design by @Berrysoft in https://github.com/compio-rs/compio/pull/215 * refactor: simplify attach logic by @Berrysoft in https://github.com/compio-rs/compio/pull/200 * feat: prepare for 0.9.0 release by @Berrysoft in https://github.com/compio-rs/compio/pull/219 ## New Contributors * @Sherlock-Holo made their first contribution in https://github.com/compio-rs/compio/pull/100 * @nazar-pc made their first contribution in https://github.com/compio-rs/compio/pull/121 * @ho-229 made their first contribution in https://github.com/compio-rs/compio/pull/128 * @oluceps made their first contribution in https://github.com/compio-rs/compio/pull/151 * @dependabot made their first contribution in https://github.com/compio-rs/compio/pull/184 * @bokket made their first contribution in https://github.com/compio-rs/compio/pull/197 * @Xuanwo made their first contribution in https://github.com/compio-rs/compio/pull/213 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.8.0...v0.9.0

v0.9.0-beta.4预发布
? · 2023-12-18

## What's Changed * doc: add telegram badge to README.md by @George-Miao in https://github.com/compio-rs/compio/pull/156 * fix(tls): fix rustls version by @George-Miao in https://github.com/compio-rs/compio/pull/157 * refactor(runtime): make Attacher a container by @Berrysoft in https://github.com/compio-rs/compio/pull/154 * fix(tls): update rustls to 0.22.0-alpha.5 by @Berrysoft in https://github.com/compio-rs/compio/pull/159 * fix(tls): pin version of rustls-pki-types by @Berrysoft in https://github.com/compio-rs/compio/pull/160 * fix(net): cancel async resolver on drop by @Berrysoft in https://github.com/compio-rs/compio/pull/162 * fix(tls): report error if no tls backend enabled by @Berrysoft in https://github.com/compio-rs/compio/pull/166 * refactor(driver,polling): remove `is_blocking` by @Berrysoft in https://github.com/compio-rs/compio/pull/169 * feat(driver,runtime): add Asyncify op and `spawn_blocking` by @Berrysoft in https://github.com/compio-rs/compio/pull/163 * ci: add beta channel by @ho-229 in https://github.com/compio-rs/compio/pull/173 * feat(tls): update rustls to 0.22 by @Berrysoft in https://github.com/compio-rs/compio/pull/172 * feat(net): use spawn_blocking for unix resolver by @Berrysoft in https://github.com/compio-rs/compio/pull/171 * fix(net,linux): remove dep on libanl by @Berrysoft in https://github.com/compio-rs/compio/pull/175 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.9.0-beta.3...v0.9.0-beta.4

v0.9.0-beta.3预发布
? · 2023-11-24

## What's Changed * feat: add some features for monocrate by @Berrysoft in https://github.com/compio-rs/compio/pull/153 **Full Changelog**: https://github.com/compio-rs/compio/compare/v0.9.0-beta.2...v0.9.0-beta.3