Skip to content

Commit 00297b0

Browse files
committed
Prepare v0.5.0
1 parent 49a27df commit 00297b0

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

CHANGES.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
### v0.5.0 (2025-10-13)
2+
3+
- Use `poll(2)`/`ppoll(2)` instead of `select(3P)` (#75, @dinosaure, @haesbaert,
4+
@hannesm, @backtracking)
5+
6+
`miou.unix` now uses the `poll(2)` or `ppoll(2)` function if available (the
7+
choice is determined at compilation). It replaces the use of `select(3P)` and
8+
improves performance. Miou no longer needs to build lists of file descriptors
9+
to observe, but instead manipulates a bitv and an array containing these file
10+
descriptors.
11+
12+
The `bitv` implementation comes from the [bitv][bitv] library written by
13+
@backtracking, who kindly allowed us to relicense it under MIT.
14+
15+
Finally, a special thanks to @haesbaert, who originally wrote
16+
[ocaml-iomux][iomux], which provides a portable implementation and an OCaml
17+
interface for using `poll(2)`/`ppoll(2)`.
18+
19+
The use of `poll(2)`/`ppoll(2)` should improve performance, as noted in the
20+
PR, particularly with regard to our [httpcats][httpcats] HTTP server.
21+
22+
It should be noted that `dune-configurator` has been added as a new dependency
23+
for Miou. However, support for `topkg`/`ocamlbuild` is still maintained (and
24+
it is possible to compile and install Miou with this build system).
25+
26+
- Synchronize `dom0` when one domain receive a signal (#78, @omegametabroccolo,
27+
@dinosaure, @reynir, partially fix #77)
28+
29+
- Add `Miou.Ownership.release` to disown and release a resource
30+
(@dinosaure, #79)
31+
132
### v0.4.0 (2025-08-06)
233

334
- Fix the suspension mechanism and allow the user to pass a function which will

0 commit comments

Comments
 (0)