I am pleased to announce the 113.24.00 release of the Core suite. It has been 4 month and a half since the last release, so there are lots of new things in this release. Thankfully we now have a better release system and can go back to more frequent releases. All packages are now in opam and the API documentation is here: https://ocaml.janestreet.com/ocaml-core/113.24/doc/ [Note: if you run into trouble while running "opam upgrade", try "opam upgrade core" instead. A PR has been submitted to fix this] Notable changes: * This is the first release completely camlp4 free! Especially some problems with the initial release of our ppx rewriters have been fixed which make them more usable. As a side effect of moving from camlp4 to ppx_driver, compilation times have improved. From a fresh `opam init` in both case: $ time opam install -y core.113.00.00 [...] real 6m17.875s user 5m26.374s sys 1m10.039s $ time opam install -y core.113.24.00 [...] real 3m16.900s user 3m9.860s sys 0m53.335s * We started to handle API upgrades in a more disciplined way by using `[@deprecated]` attributes. This should help with incompatible changes in our libraries * Addition of a few ppx rewriters: - ppx_expect, a Cram like framework for OCaml - ppx_let, for monadic/applicative let bindings - ppx_sexp_message, similar to ppx_sexp_value, but more "message" oriented We are still making adjustments in ppx_let and ppx_expect so their usage might slightly change in the next release. More information can be found on the github project pages: - https://github.com/janestreet/ppx_expect - https://github.com/janestreet/ppx_let - https://github.com/janestreet/ppx_sexp_message The full changelog for this release can be found here: https://ocaml.janestreet.com/ocaml-core/113.24/CHANGES.html This is the full list of packages added/modified: - async - async_extended - async_extra - async_find - async_inotify - async_kernel - async_parallel - async_rpc_kernel - async_shell - async_smtp - async_ssl - async_unix - bignum - bin_prot - core - core_bench - core_extended - core_kernel - core_profiler - email_message - fieldslib - incremental - jenga - ocaml_plugin - patdiff - patience_diff - ppx_assert - ppx_bench - ppx_bin_prot - ppx_compare - ppx_conv_func - ppx_core - ppx_csv_conv - ppx_custom_printf - ppx_driver - ppx_enumerate - ppx_expect - ppx_fail - ppx_fields_conv - ppx_here - ppx_inline_test - ppx_jane - ppx_let - ppx_optcomp - ppx_pipebang - ppx_sexp_conv - ppx_sexp_message - ppx_sexp_value - ppx_type_conv - ppx_typerep_conv - ppx_variants_conv - ppx_xml_conv - re2 - rpc_parallel - sexplib - textutils - typerep - typerep_extended - variantslib -- Jeremie Dimino, for the Core team