Skip to content

Update to 5.0.0~alpha0#224

Merged
talex5 merged 3 commits intoocaml-multicore:mainfrom
talex5:5.0
Jul 4, 2022
Merged

Update to 5.0.0~alpha0#224
talex5 merged 3 commits intoocaml-multicore:mainfrom
talex5:5.0

Conversation

@talex5
Copy link
Copy Markdown
Collaborator

@talex5 talex5 commented Jun 15, 2022

Drop compatibility with 4.12+domains.

Before merging, this needs:

Work-arounds for testing:

opam pin add lwt https://github.com/dra27/lwt.git#check-symbols-caml_unix
opam pin utop https://github.com/dra27/utop.git#lib-layout

@talex5 talex5 force-pushed the 5.0 branch 2 times, most recently from cdd8405 to 7a3a413 Compare June 21, 2022 15:08
@talex5 talex5 force-pushed the 5.0 branch 3 times, most recently from 409a441 to f5b9cf7 Compare June 28, 2022 12:18
@talex5
Copy link
Copy Markdown
Collaborator Author

talex5 commented Jun 28, 2022

This is currently waiting for an odoc-parser release that's compatible with OCaml 5 (there's one in the alpha repository, but that doesn't help with ocaml-ci or opam-repo-ci).

@talex5 talex5 force-pushed the 5.0 branch 2 times, most recently from a541453 to 9329cc3 Compare June 30, 2022 14:22
@talex5 talex5 marked this pull request as ready for review June 30, 2022 14:43
@talex5
Copy link
Copy Markdown
Collaborator Author

talex5 commented Jun 30, 2022

Now that eio 0.3 is out, I've added a pin-depends on odoc-parser, on the assumption that it will be officially released before eio 0.4.

@talex5
Copy link
Copy Markdown
Collaborator Author

talex5 commented Jun 30, 2022

Need to pin odoc too. But, if you pin odoc instead of installing it from a repository then it also wants to install bisect_ppx, which doesn't work.

talex5 added 3 commits July 4, 2022 10:09
Drop compatibility with 4.12+domains.

Add a Dockerfile for easy testing.
Needed for CI, as it doesn't include the alpha repository.
@talex5 talex5 merged commit 7fe2afd into ocaml-multicore:main Jul 4, 2022
@talex5 talex5 deleted the 5.0 branch July 4, 2022 09:15
@talex5
Copy link
Copy Markdown
Collaborator Author

talex5 commented Jul 4, 2022

The lint-doc CI job is failing due to odoc not installing, but we can ignore that for now.

talex5 added a commit to talex5/opam-repository that referenced this pull request Aug 4, 2022
CHANGES:

Note: Eio 0.4 drops compatibility with OCaml 4.12+domains. Use OCaml 5.0.0~alpha1 instead.

API changes:

- `Eio.Dir` has gone. Use `Eio.Path` instead (@talex5 ocaml-multicore/eio#266 ocaml-multicore/eio#270).

- `Eio_unix.FD.{take,peek}` were renamed to `take_opt`/`peek_opt` to make way for non-optional versions.

New features:

- Fiber-local storage (@SquidDev ocaml-multicore/eio#256).
  Attach key/value bindings to fibers. These are inherited across forks.

- `Eio.Path.{unlink,rmdir,rename}` (@talex5 ocaml-multicore/eio#264 ocaml-multicore/eio#265).

- `Eio_main.run` can now return a value (@talex5 ocaml-multicore/eio#263).
  This is useful for e.g. cmdliner.

- `Eio_unix.socketpair` (@talex5 ocaml-multicore/eio#260).

- `Fiber.fork_daemon` (@talex5 ocaml-multicore/eio#252).
  Create a helper fiber that does not prevent the switch from exiting.

- Add `Fiber.{iter,map,filter,fiter_map}` (@talex5 ocaml-multicore/eio#248 ocaml-multicore/eio#250).
  These are concurrent versions of the corresponding operations in `List`.

Bug fixes:

- Fix scheduling fairness in luv backend (@talex5 ocaml-multicore/eio#269).

- Implement remaining shutdown commands for luv (@talex5 ocaml-multicore/eio#268).

- Fix IPv6 support with uring backend (@haesbaert ocaml-multicore/eio#261 ocaml-multicore/eio#262).

- Use `Eio.Net.Connection_reset` exception in more places (@talex5 ocaml-multicore/eio#257).

- Report use of closed FDs better (@talex5 ocaml-multicore/eio#255).
  Using a closed FD could previously cause the whole event loop to exit.

- Some fixes for cancellation (@talex5 ocaml-multicore/eio#254).

- Ensure `Buf_write` still flushes if an exception is raised (@talex5 ocaml-multicore/eio#246).

- Do not allow close on `accept_fork` socket (@talex5 ocaml-multicore/eio#245).

Documentation:

- Document integrations with Unix, Lwt and Async (@talex5 ocaml-multicore/eio#247).

- Add a Dockerfile for easy testing (@talex5 ocaml-multicore/eio#224).
talex5 added a commit to talex5/opam-repository that referenced this pull request Aug 4, 2022
CHANGES:

Note: Eio 0.4 drops compatibility with OCaml 4.12+domains. Use OCaml 5.0.0~alpha1 instead.

API changes:

- `Eio.Dir` has gone. Use `Eio.Path` instead (@talex5 ocaml-multicore/eio#266 ocaml-multicore/eio#270).

- `Eio_unix.FD.{take,peek}` were renamed to `take_opt`/`peek_opt` to make way for non-optional versions.

New features:

- Fiber-local storage (@SquidDev ocaml-multicore/eio#256).
  Attach key/value bindings to fibers. These are inherited across forks.

- `Eio.Path.{unlink,rmdir,rename}` (@talex5 ocaml-multicore/eio#264 ocaml-multicore/eio#265).

- `Eio_main.run` can now return a value (@talex5 ocaml-multicore/eio#263).
  This is useful for e.g. cmdliner.

- `Eio_unix.socketpair` (@talex5 ocaml-multicore/eio#260).

- `Fiber.fork_daemon` (@talex5 ocaml-multicore/eio#252).
  Create a helper fiber that does not prevent the switch from exiting.

- Add `Fiber.{iter,map,filter,fiter_map}` (@talex5 ocaml-multicore/eio#248 ocaml-multicore/eio#250).
  These are concurrent versions of the corresponding operations in `List`.

Bug fixes:

- Fix scheduling fairness in luv backend (@talex5 ocaml-multicore/eio#269).

- Implement remaining shutdown commands for luv (@talex5 ocaml-multicore/eio#268).

- Fix IPv6 support with uring backend (@haesbaert ocaml-multicore/eio#261 ocaml-multicore/eio#262).

- Use `Eio.Net.Connection_reset` exception in more places (@talex5 ocaml-multicore/eio#257).

- Report use of closed FDs better (@talex5 ocaml-multicore/eio#255).
  Using a closed FD could previously cause the whole event loop to exit.

- Some fixes for cancellation (@talex5 ocaml-multicore/eio#254).

- Ensure `Buf_write` still flushes if an exception is raised (@talex5 ocaml-multicore/eio#246).

- Do not allow close on `accept_fork` socket (@talex5 ocaml-multicore/eio#245).

Documentation:

- Document integrations with Unix, Lwt and Async (@talex5 ocaml-multicore/eio#247).

- Add a Dockerfile for easy testing (@talex5 ocaml-multicore/eio#224).
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.

1 participant