Skip to content

[new release] eio (5 packages) (1.3) #28212

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 24, 2025
Merged

Conversation

talex5
Copy link
Contributor

@talex5 talex5 commented Jul 20, 2025

Effect-based direct-style IO API for OCaml

CHANGES:

Bug fixes:

Documentation:

Build fixes:

CHANGES:

Bug fixes:

- posix: ensure `spawn_unix` wraps errors when calling `openat` (@dijkstracula ocaml-multicore/eio#809).

- Use `O_RESOLVE_BENEATH` on FreeBSD (@talex5 ocaml-multicore/eio#810, reported by @dijkstracula).
  FreeBSD needs `-D__BSD_VISIBLE` to be able to see this.
  Fixed the CI bug this revealed, which had started also affecting macos.

- Ignore `ECONNRESET` on close (@talex5 ocaml-multicore/eio#787).
  FreeBSD returns `ECONNRESET` in certain (unclear) circumstances, but it does still close the FD successfully.
  If you care about this case, you should probably use `shutdown` instead and check for it there.
  Python and Ruby at least both explicitly check for and ignore this error too.

- On Windows, fix stdin broken-pipe and blocked domains (@bdodrem @talex5 ocaml-multicore/eio#795).
  - Ensure blocking FDs are ready before trying to use them.
  - Replace `eio_windows_cstruct_stubs.c` by Unix functions added in OCaml 5.2,
    which correctly handle Window's strange use of `EPIPE`.

Documentation:

- Documentation fixes (@jonludlam ocaml-multicore/eio#813).

- Minor documentation improvements (@talex5 ocaml-multicore/eio#794).

Build fixes:

- Disable `dune subst` (@talex5 ocaml-multicore/eio#789).
@talex5
Copy link
Contributor Author

talex5 commented Jul 20, 2025

Test failures:

  • revdeps failures look unrelated.
  • ocaml-5.3-flambda: No fixed buffer available is because the CI machine didn't have enough fixed memory to run the test. This can be ignored (I'll update the test upstream to skip rather than fail in this case in future).
  • opam-2.0-ocaml-5.3: ERROR while compiling conf-pkg-config.4 seems surprising, but unrelated to Eio.
  • riscv64-ocaml-5.3: Linux >= 5.15 is required for io_uring support from the tests seems reasonable, assuming the test machine kernel really is that old.

I don't think any of these need to prevent merging.

@shonfeder
Copy link
Contributor

Congrats on the new release and thanks for the update! Thanks also for reviewing the CI

@shonfeder shonfeder merged commit a97aa42 into ocaml:master Jul 24, 2025
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants