Skip to content

[new release] eio (5 packages) (1.5) - #30518

Merged
avsm merged 1 commit into
ocaml:masterfrom
talex5:release-eio-v1.5
Aug 20, 2026
Merged

[new release] eio (5 packages) (1.5)#30518
avsm merged 1 commit into
ocaml:masterfrom
talex5:release-eio-v1.5

Conversation

@talex5

@talex5 talex5 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Effect-based direct-style IO API for OCaml

CHANGES:

New features:

Bug fixes:

Code cleanups and performance:

CHANGES:

New features:

- Windows paths support (@avsm @kentookura @talex5 @dra27 ocaml-multicore/eio#913 ocaml-multicore/eio#916).
  Previously, an `Eio.Path.t` always used POSIX-style paths, using `/` as the separator,
  but this didn't work well on Windows, especially with absolute paths.

- Pre-connect socket options (@avsm @art-w @talex5 ocaml-multicore/eio#875).
  `Eio.Net.connect` now has `?bind_to` and `?options` arguments for pre-connect configuration.
  Allows an outbound socket to be configured before connect or listen.

- Add `Eio.Path.of_dir` (@talex5 ocaml-multicore/eio#919).
  Just a convenience function.

Bug fixes:

- Fix handling of empty paths when using `fs` unconfined (@talex5 ocaml-multicore/eio#907, reported by @samoht, reviewed by @avsm).

  Some path operations could end up using a path of "" which resulted in an error.
  This was breaking `Path.mkdirs` if only the base directory already existed.

Code cleanups and performance:

- eio_posix: fix build on 32-bit platforms (@talex5 ocaml-multicore/eio#917, reported by @glondu).

- unix: optimise the POSIX path split to allocate much less by scanning (@avsm ocaml-multicore/eio#915, reviewed by @talex5).

- eio_linux: use a bigger stack buffer for `getdents` to speed up bigger dirs (@avsm ocaml-multicore/eio#910).

- Add some more tests for POSIX paths (@avsm @talex5 ocaml-multicore/eio#918).

- Add "available" to opam files (@talex5 ocaml-multicore/eio#921).

- Clean up `dir_path` handling (@talex5 @avsm ocaml-multicore/eio#920).
@talex5

talex5 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

Summary of CI errors:

  • ocluster and playwright: errors look unrelated (also failed with Eio 1.4 release)
  • cohttp-bench.6.1.1 (failed: cohttp-server-lwt-unix.6.1.1 failed to build): cohttp-server-lwt-unix doesn't depend on Eio as far as I can tell. The error (/home/opam/.opam/5.5/lib/uring/dune-package: No such file or directory) perhaps suggests a race in something scanning all packages?
  • opentelemetry-client-cohttp-lwt isn't using Eio I think (it's just that opentelemetry has a depopt on eio).

So looks OK to me.

@Sudha247

Copy link
Copy Markdown
Member

Thanks @talex5! I took another look, and the CI failures indeed look unrelated. This is fine to merge.

@avsm
avsm merged commit 4435013 into ocaml:master Aug 20, 2026
4 of 5 checks passed
@avsm

avsm commented Aug 20, 2026

Copy link
Copy Markdown
Member

Thanks! You may want to announce this on https://discuss.ocaml.org, where we have a Community category and an announce tag for this purpose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants