[new release] eio (5 packages) (1.5) - #30518
Merged
Merged
Conversation
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).
Contributor
Author
|
Summary of CI errors:
So looks OK to me. |
Member
|
Thanks @talex5! I took another look, and the CI failures indeed look unrelated. This is fine to merge. |
Member
|
Thanks! You may want to announce this on https://discuss.ocaml.org, where we have a Community category and an |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Effect-based direct-style IO API for OCaml
CHANGES:
New features:
Windows paths support (@avsm @kentookura @talex5 @dra27 Move path operations to backends ocaml-multicore/eio#913 Implement Eio.Path.native as a Pi backend and add Windows support ocaml-multicore/eio#916).
Previously, an
Eio.Path.talways 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 Pre-connect socket options (follow up to #713) ocaml-multicore/eio#875).
Eio.Net.connectnow has?bind_toand?optionsarguments for pre-connect configuration.Allows an outbound socket to be configured before connect or listen.
Add
Eio.Path.of_dir(@talex5 Add Eio.Path.of_dir ocaml-multicore/eio#919).Just a convenience function.
Bug fixes:
Fix handling of empty paths when using
fsunconfined (@talex5 Fix handling of empty paths when using fs unconfined 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.mkdirsif only the base directory already existed.Code cleanups and performance:
eio_posix: fix build on 32-bit platforms (@talex5 eio_posix: fix build on 32-bit platforms ocaml-multicore/eio#917, reported by @glondu).
unix: optimise the POSIX path split to allocate much less by scanning (@avsm unix: optimise the posix split to allocate much less by scanning ocaml-multicore/eio#915, reviewed by @talex5).
eio_linux: use a bigger stack buffer for
getdentsto speed up bigger dirs (@avsm use a bigger stack buffer for getdents to speed up bigger dirs ocaml-multicore/eio#910).Add some more tests for POSIX paths (@avsm @talex5 Add some more tests for POSIX paths ocaml-multicore/eio#918).
Add "available" to opam files (@talex5 Add "available" to opam files ocaml-multicore/eio#921).
Clean up
dir_pathhandling (@talex5 @avsm Clean up dir_path handling ocaml-multicore/eio#920).