Releases: armanbilge/fs2-io_uring
v0.2.0
This is the second major release of fs2-io_uring. It now requires Linux kernel version 6.1 or greater which delivers far better performance (further reading in #56). Besides that this release includes several other optimizations and fixes the only known bug (so far ;).
I'd also like to take this opportunity to announce that we have published a pre-release of fs2-io_uring targeting the JVM! Please give it a try; further details in #78 (comment).
Special thanks to @antoniojimeneznieto and @mox692 for joining the development team!
Breaking changes
- Implicit instances for
LiftIO
only by @mox692 in #67 - Target Linux kernel 6.1 by @armanbilge in #85
Fixes
- Ignore
ENOTCONN
on socket shutdown by @antoniojimeneznieto in #105
Optimizations
- Use new unsafe array syntax by @armanbilge in #32
- Replace
Semaphore
withMutex
by @antoniojimeneznieto in #65 - Use
io_uring_prep_socket
by @armanbilge in #86 - Enable
IORING_SETUP_SUBMIT_ALL
flag by @armanbilge in #87 - Enable cooperative taskrunning by @armanbilge in #88
- Don't use
Zone
s by @armanbilge in #89
Infrastructure
- Setup ARM CI by @armanbilge in #40
Updates
- Update scala3-library to 3.3.0 by @nimble-agar-steward in #77
- Update nscplugin, sbt-scala-native, ... to 0.4.14 by @nimble-agar-steward in #83
- Update scala-library to 2.13.11 by @nimble-agar-steward in #84
- Update fs2-io to 3.8.0 by @nimble-agar-steward in #101
New Contributors
- @antoniojimeneznieto made their first contribution in #65
- @mox692 made their first contribution in #67
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This is the first release of fs2-io_uring, a library implementing FS2 I/O APIs for Scala Native via the io_uring Linux kernel system call interface. Currently implemented APIs are:
UringNetwork
UringSocketGroup
UringUnixSockets
Please see the README for more information and usage. Questions, issues, and contributions are very welcome!
Special thanks to @SystemFw for sniping me 😜
What's Changed
UringExecutorScheduler
by @armanbilge in #2- Update sbt-typelevel to 0.4.15 by @nimble-agar-steward in #3
- Update scala-library to 2.13.9 by @nimble-agar-steward in #4
- Update scala3-library to 3.2.0 by @nimble-agar-steward in #1
UringSocket
andUringSocketGroup
by @armanbilge in #6- Use static linking by @armanbilge in #9
- Invoke brew via full path by @armanbilge in #11
- Use read buffer for
Socket
by @armanbilge in #10 - Unix Sockets by @armanbilge in #12
- Use
io_uring_submit_and_wait_timeout
by @armanbilge in #13 - Handle backlogged completion queue by @armanbilge in #14
- Log
uname -a
in CI by @armanbilge in #15 - Fix use of
io_uring_submit_and_wait_timeout
by @armanbilge in #16 - Update sbt to 1.7.2 by @nimble-agar-steward in #17
- Munit is a test dep by @armanbilge in #18
- Update sbt-typelevel to 0.4.16 by @nimble-agar-steward in #19
- Update scala-library to 2.13.10 by @nimble-agar-steward in #20
- Update scalafmt-core to 3.6.0 by @nimble-agar-steward in #21
- Update sbt to 1.7.3 by @nimble-agar-steward in #22
- Update scalafmt-core to 3.6.1 by @nimble-agar-steward in #23
- Update scala3-library to 3.2.1 by @nimble-agar-steward in #24
- Update sbt to 1.8.0 by @nimble-agar-steward in #26
- Update sbt-typelevel to 0.4.17 by @nimble-agar-steward in #27
- Update nscplugin, sbt-scala-native, ... to 0.4.8 by @nimble-agar-steward in #25
- Update fs2-io to 3.4.0 by @nimble-agar-steward in #28
- Introduce
UringNetwork
by @armanbilge in #29
New Contributors
- @armanbilge made their first contribution in #2
- @nimble-agar-steward made their first contribution in #3
Full Changelog: https://github.com/armanbilge/fs2-io_uring/commits/v0.1.0