Releases: compio-rs/compio
Releases · compio-rs/compio
v0.13.0
What's Changed
- ci: guard compio is compatible with stable rust by @tisonkun in #297
- fix(fs): metadata types on armv7-linux-androideabi by @Berrysoft in #298
- feat(tls): add ALPN support by @Berrysoft in #299
- feat(io): add *_read_uninit for compat by @Berrysoft in #301
- feat(runtime): don't try to poll all tasks before polling driver by @Berrysoft in #300
- feat(net): add from_std for UdpSocket by @Berrysoft in #302
- refactor: update rustfmt config by @Berrysoft in #303
- fix(driver,poll,iour): use Arc::clone instead of try_clone by @Berrysoft in #306
- fix(driver,poll): remove pipe usage by @Berrysoft in #307
- fix(quic): don't exit event loop on I/O error by @AsakuraMizu in #311
- fix(net,iour,poll): fix accept leak by @Berrysoft in #315
- build(deps): update rustls platform verifier by @Berrysoft in #317
- feat(io): remove explicit lifetime from copy by @George-Miao in #319
- fix(driver,poll): ignore EINTR and retry by @Berrysoft in #320
- feat(driver,iocp): add WaitCompletionPacket support by @Berrysoft in #316
- refactor(net,iocp): move WSAStartup by @Berrysoft in #314
- fix(io): copy should be eager by @Berrysoft in #321
- refactor(driver,poll): remove event in on_event by @Berrysoft in #322
- ci: add freebsd by @Berrysoft in #324
- fix(io,copy): clear buf after write by @Berrysoft in #325
- refactor(driver,poll): add op_type by @Berrysoft in #323
- feat: add FreeBSD AIO support by @Berrysoft in #310
- fix(runtime): runnable reference cycle by @Berrysoft in #328
- ci: add illumos one by @Berrysoft in #327
- refactor: use cfg_aliases by @Berrysoft in #331
- fix(runtime): self-reference without Arc by @Berrysoft in #329
- refactor(driver,runtime): allow polling driver when pushing an op by @Berrysoft in #308
- doc(README): add banner by @George-Miao in #334
- feat(quic): support rustls provider aws-lc-rs by @AsakuraMizu in #333
- feat(driver): add AIO support for illumos & solaris by @Berrysoft in #330
- fix: add rustls features for tls by @Berrysoft in #336
- fix: add io-uring & polling feature to crates by @Berrysoft in #335
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- doc: Update README.md by @George-Miao in #270
- refactor(driver): better IORING_CQE_F_MORE handle by @Sherlock-Holo in #273
- feat: add flags related methods by @Sherlock-Holo in #272
- feat: add ancillary data support by @AsakuraMizu in #275
- test(fs): Add a test case for read with timeout by @Xuanwo in #280
- refactor:
IoVectoredBuf
by @George-Miao in #277 - fix(driver/net): ancillary data by @AsakuraMizu in #283
- fix(buf): remove unreachable pattern by @AsakuraMizu in #287
- doc: fix clippy "first doc comment paragraph is too long" by @AsakuraMizu in #289
- Add from_std methods by @fafhrd91 in #290
- feat: QUIC by @AsakuraMizu in #282
- Fix/driver-type by @George-Miao in #292
- feat: use signalfd on Linux by @Berrysoft in #271
New Contributors
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- feat(dispatcher): Make concurrency by @George-Miao in #244
- feat(runtime): catch unwind in spawn* by @Berrysoft in #245
- refactor(driver): add SharedFd & OwnedFd and require them in operations by @Berrysoft in #230
- fix(runtime): incorrect min_timeout by @Mivik in #246
- refactor(driver): generic SharedFd by @Berrysoft in #247
- fix: feature typo by @Berrysoft in #249
- feat(fs): AsyncFd by @Berrysoft in #248
- feat(driver): reduce eventfd IO by @Berrysoft in #250
- fix(runtime): handle busy error in spawn_blocking by @Berrysoft in #253
- feat(driver): move future state into RawOp by @Berrysoft in #251
- perf(net): rewrite net bench and optimize by @Berrysoft in #254
- refactor(dispatcher): reduces alloc and API change by @George-Miao in #255
- feat(dispatcher): derive debug for dispatcher by @George-Miao in #256
- feat(driver): add io-uring sqpoll support by @Sherlock-Holo in #257
- perf: move named pipe bench and add unix socket bench by @Berrysoft in #258
- build(deps): update nix requirement from 0.28.0 to 0.29.0 by @dependabot in #259
- feat(dispatcher): dispatch blocking fn's by @George-Miao in #260
- feat(process): compio-process by @Berrysoft in #224
- feat(runtime): faster SendWrapper with cached thread id by @Berrysoft in #261
- fix(driver,poll): ENOENT on Linux by @Berrysoft in #263
- fix(driver,iocp): use Vec instead of ArrayVec by @Berrysoft in #262
- test(net): use random port by @AsakuraMizu in #267
- feat(net): add PollFd to wait for readiness by @Berrysoft in #265
- refactor(macro): remove compio::main restrictions by @ClSlaid in #268
New Contributors
- @Mivik made their first contribution in #246
- @AsakuraMizu made their first contribution in #267
- @ClSlaid made their first contribution in #268
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- refactor(runtime): return Task in spawn_blocking by @Berrysoft in #221
- fix(buf): make IoBuf(Mut) unsafe by @Berrysoft in #222
- feat(driver,windows): add win32 event support by @Berrysoft in #223
- build: add flake.nix by @George-Miao in #226
- fix(driver,iour): remove outer squeue by @Berrysoft in #227
- refactor(bench): rewrite fs bench by @Berrysoft in #225
- refactor(driver): remove OpenFile & stat ops for Windows by @Berrysoft in #228
- fix(driver,iour): wrong impl of WriteVectoredAt by @Berrysoft in #231
- fix(driver,poll): use blocking file io by @Berrysoft in #232
- fix(unix,iour): musl libc compatibility by @valpackett in #233
- fix(driver): use statx only on linux-gnu by @Berrysoft in #235
- feat(fs): new fs methods by @Berrysoft in #237
- feat(driver): add CreateSocket by @Berrysoft in #236
- build(deps): update block2 requirement from 0.4.0 to 0.5.0 by @dependabot in #242
- feat(io): compat async stream for futures by @Berrysoft in #240
New Contributors
- @valpackett made their first contribution in #233
Full Changelog: v0.9.0...v0.10.0
v0.9.0
compio 0.9.0 is released!
Compared to 0.8.0, 88 PR's has been merged into master branch, and 6 contributors made their first contribution. Thanks to you all!
What's Changed
- compio-buf:
- Traits are refactored with
RPITIT
. The behavior of read-like methods is changed. They now write to the beginning of initialized area of buffers. #115
- Traits are refactored with
- compio-io: NEW
- compio-driver:
- Notify handle to wake up the proactor. #149
io-uring
driver: Now supports 128-bitSQE
and 32-bitCQE
. #193- Fusion driver for Linux: Select the proper driver automatically during runtime. Enabled by toggling on both
io-uring
andpolling
driver. #110 - Global IOCP for Windows: When
iocp-global
enabled, all IO resources can be sent to other threads even the original thread is not running. #200
- compio-runtime:
- compio-fs:
- compio-net:
- compio-signal:
- The signal handler is async-handler safe on Unix. #183
- compio-tls: NEW
- compio-dispatcher: NEW
Main Contributors
@Berrysoft and @George-Miao , congratulations!
New Contributors
- @Sherlock-Holo made their first contribution in #100
- @nazar-pc made their first contribution in #121
- @ho-229 made their first contribution in #128
- @oluceps made their first contribution in #151
- @bokket made their first contribution in #197
- @Xuanwo made their first contribution in #213
Full Changelog: v0.8.0...v0.9.0
v0.9.0-beta.4
What's Changed
- doc: add telegram badge to README.md by @George-Miao in #156
- fix(tls): fix rustls version by @George-Miao in #157
- refactor(runtime): make Attacher a container by @Berrysoft in #154
- fix(tls): update rustls to 0.22.0-alpha.5 by @Berrysoft in #159
- fix(tls): pin version of rustls-pki-types by @Berrysoft in #160
- fix(net): cancel async resolver on drop by @Berrysoft in #162
- fix(tls): report error if no tls backend enabled by @Berrysoft in #166
- refactor(driver,polling): remove
is_blocking
by @Berrysoft in #169 - feat(driver,runtime): add Asyncify op and
spawn_blocking
by @Berrysoft in #163 - ci: add beta channel by @ho-229 in #173
- feat(tls): update rustls to 0.22 by @Berrysoft in #172
- feat(net): use spawn_blocking for unix resolver by @Berrysoft in #171
- fix(net,linux): remove dep on libanl by @Berrysoft in #175
Full Changelog: v0.9.0-beta.3...v0.9.0-beta.4
v0.9.0-beta.3
What's Changed
- feat: add some features for monocrate by @Berrysoft in #153
Full Changelog: v0.9.0-beta.2...v0.9.0-beta.3
v0.9.0-beta.2
What's Changed
- docs: fix rustdoc args by @Berrysoft in #148
- feat(driver,runtime): wake up proactor from other threads by @Berrysoft in #149
- fix: typos in docs by @oluceps in #151
- fix: badges on README and versions by @Berrysoft in #150
- feat(tls,http): remove http and include tls by @Berrysoft in #152
New Contributors
Full Changelog: v0.9.0-beta.1...v0.9.0-beta.2
v0.9.0-beta.1
What's Changed
- Pop the op later. by @Berrysoft in #85
- Implement
IoBuf
forBox<[u8]>
by @George-Miao in #87 - Add a multi-threading dispatcher by @Berrysoft in #86
- Check and renew fd in polling driver by @Berrysoft in #88
- Fix: unable to resolve
compio-runtime
in macros by @George-Miao in #89 - Remove cancel queue for io-uring driver. by @Berrysoft in #90
- Add custom
IoSlice
by @George-Miao in #94 - Use
compio-macros
in tests by @George-Miao in #95 - Compio IO crate by @George-Miao in #71
- Add
doc(cfg())
support by @George-Miao in #96 - Use IO traits in net & fs. by @Berrysoft in #99
- refactor: change SockAddr return type to SocketAddr by @Sherlock-Holo in #100
- Add unix pipe. by @Berrysoft in #91
- Add preadv & pwritev support by @Berrysoft in #101
- Async DNS resolve by @Berrysoft in #106
- feat(driver): fusion driver by @George-Miao in #110
- Make schedule Send with panics. by @Berrysoft in #109
- Make DNS resolve async on Unix by @Berrysoft in #111
- docs(net): add example for async resolve. by @Berrysoft in #116
- doc: add
CONTRIBUTION.md
by @George-Miao in #114 - Add
develop-guide
in ToC ofCONTRIBUTING.md
by @George-Miao in #117 - feat(buf): redesign IoBufMut by @Berrysoft in #115
- feat(fs, net): add impl for &T by @Berrysoft in #118
- feat(tls): add native-tls adapters. by @Berrysoft in #119
- Fix typo by @nazar-pc in #121
- doc: add contribution section to README.md by @George-Miao in #122
- feat: add some impl for buf & io by @Berrysoft in #123
- fix: unused imports warnings by @Berrysoft in #126
- fix: add
required-features
toresolve
by @ho-229 in #128 - feat: more async file operations by @Berrysoft in #125
- refactor: organize crates by @Berrysoft in #130
- feat: async open named pipe client by @Berrysoft in #133
- docs: fix warnings by @Berrysoft in #135
- feat(tls): add rustls backend by @Berrysoft in #134
- refactor(runtime): expose
async_task::Task
by @George-Miao in #138 - refactor: ensure Event being oneshot by @Berrysoft in #140
- feat: Add logs by @ho-229 in #132
- feat: HTTP client by @Berrysoft in #127
- feat: update rustls to 0.22.0-alpha.4 by @Berrysoft in #145
- fix: compile error without runtime feature by @Berrysoft in #142
- feat: make
Runtime
public by @Berrysoft in #141
New Contributors
- @Sherlock-Holo made their first contribution in #100
- @nazar-pc made their first contribution in #121
- @ho-229 made their first contribution in #128
Full Changelog: v0.8.0...v0.9.0-beta.1
v0.8.0
What's Changed
- Refactor: transform to workspace structure by @George-Miao in #69
- Separate Buf crate by @George-Miao in #72
- fix: use
arrayvec
fromcompio-buf
by @George-Miao in #74 - Remove buffer wrappers. by @Berrysoft in #76
- Add
main
andtest
macros as wrappers ofcompio::task::block_on
by @kompl3xpr in #77 - Get use of
attach
for polling driver. by @Berrysoft in #80 - Attempt to split into multiple crates by @Berrysoft in #81
- Allow returning ready on push by @Berrysoft in #82
- Use SetFileCompletionNotificationModes when attaching. by @Berrysoft in #83
New Contributors
- @kompl3xpr made their first contribution in #77
Full Changelog: v0.7.0...v0.8.0