From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 468087F75C for ; Tue, 26 Aug 2014 12:41:43 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of bmillwood@janestreet.com) identity=pra; client-ip=38.105.200.233; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="bmillwood@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of bmillwood@janestreet.com designates 38.105.200.233 as permitted sender) identity=mailfrom; client-ip=38.105.200.233; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="bmillwood@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout4.mail.janestreet.com) identity=helo; client-ip=38.105.200.233; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="postmaster@mxout4.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlgBAApk/FMmacjpnGdsb2JhbABag2BXBIJ4sCmZL4hZCBYQAQEBAQEIFAk9hBwRBBkBATglDwImAiQSAQUBIgE0iCADCp01a4ozeIUCAQWQFhECBAqBIo1eg0KBU48YhjyGeocvi2sYKYUQawEBgQaBRwEBAQ X-IPAS-Result: AlgBAApk/FMmacjpnGdsb2JhbABag2BXBIJ4sCmZL4hZCBYQAQEBAQEIFAk9hBwRBBkBATglDwImAiQSAQUBIgE0iCADCp01a4ozeIUCAQWQFhECBAqBIo1eg0KBU48YhjyGeocvi2sYKYUQawEBgQaBRwEBAQ X-IronPort-AV: E=Sophos;i="5.04,403,1406584800"; d="scan'208";a="76674162" Received: from mxout4.mail.janestreet.com ([38.105.200.233]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Aug 2014 12:41:21 +0200 Received: from tot-oib-smtp1.delacy.com ([172.27.22.15] helo=tot-smtp) by mxout4.mail.janestreet.com with esmtps (UNKNOWN:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1XMEBi-0007mu-5Q for caml-list@inria.fr; Tue, 26 Aug 2014 06:41:18 -0400 Received: from [172.27.229.230] (helo=mxgoog1.mail.janestreet.com) by tot-smtp with esmtps (UNKNOWN:AES256-GCM-SHA384:256) (Exim 4.72) (envelope-from ) id 1XMEBi-00079R-2l for caml-list@inria.fr; Tue, 26 Aug 2014 06:41:18 -0400 Received: from mail-qa0-f52.google.com ([209.85.216.52]) by mxgoog1.mail.janestreet.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.72) (envelope-from ) id 1XMEBi-0002xU-04 for caml-list@inria.fr; Tue, 26 Aug 2014 06:41:18 -0400 Received: by mail-qa0-f52.google.com with SMTP id j15so13249159qaq.25 for ; Tue, 26 Aug 2014 03:41:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:date:message-id:subject:from:to:content-type; bh=SxIoMDEXKN9ULFxFwDSS6abgFIlxujVkWBcVCGw9iOI=; b=hcd1Ve6nhIfTpLOoUh8w6twfFGEDTEUEz/ua6LhAbkUATzF8SAM/Ha9a6J+oc1aHt+ b/id/f5snPBgV6BO1MBhG1RKo6a8hMbJZU3XA2aoyuG07V32U8JuN/DKOPS0HFoAGE9f Fekvs3Z+3onVQJKnbktDRHxSQCdYEyku2zD58= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=SxIoMDEXKN9ULFxFwDSS6abgFIlxujVkWBcVCGw9iOI=; b=jW9XSv89jAf6GSqagP1EnfmgCBmgDJv9GjySQNkXo6X15tIv0Z+zDXCJQiaNtZTY1y JL93CtjFC+U4acES6T175aJbRvj9gOTTam4SNJM6KIr1IA16O77BrYlArIOBBoN0s5ra oD9rnJjtEcQYdGZhZgT1330SbRhr9x43xWKPr5tb0o5gT5K5vbcUMBQyj6SHyrpP69z0 v6GUP2hTt8Y0g34ZEAU1UI0qaFRJ0rFVqaoOpxUs8VK+P1aNSUSYKjbdvJvcitOVqEY7 5ghSgitqlwVW715Ncf+0zWv/E9HYMqsFUEwTHb7M077UVWRmzjwMTpz9r+LN20i8itGf PTog== X-Gm-Message-State: ALoCoQkNRljAsm/uGe75+NlCzzVgTyMlehDkO4b4pPo5Sz5Upfd88QynYIKcdaF+coXMmobxOTfaqLljnXFLVz7VNmLAcvvi5zuxRTIiuVIOwDgKW+AnxN1qb28C8KyxiVz9754qlW9t X-Received: by 10.140.104.69 with SMTP id z63mr41486057qge.81.1409049677770; Tue, 26 Aug 2014 03:41:17 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.140.104.69 with SMTP id z63mr41486042qge.81.1409049677656; Tue, 26 Aug 2014 03:41:17 -0700 (PDT) Received: by 10.140.34.107 with HTTP; Tue, 26 Aug 2014 03:41:17 -0700 (PDT) Date: Tue, 26 Aug 2014 11:41:17 +0100 Message-ID: From: Ben Millwood To: caml users , ocaml-core@googlegroups.com Content-Type: text/plain; charset=UTF-8 Subject: [Caml-list] [ANN] Core Suite 111.28.00 I am delighted to announce the 111.28.00 release of the Core suite. The following packages were upgraded: - async - async_extended - async_extra - async_find - async_inotify - async_kernel - async_parallel - async_unix - bignum - core - core_bench - core_extended - core_kernel - jenga - ocaml_plugin - pa_bench - pa_ounit - patdiff - patience_diff - textutils Files and documentation for this release are available on our website and all packages are in opam: https://ocaml.janestreet.com/ocaml-core/111.28.00/individual/ https://ocaml.janestreet.com/ocaml-core/111.28.00/doc/ The changelog for all Core packages across all versions can be found at: https://ocaml.janestreet.com/ocaml-core/CHANGES.md Here is the list of changes for this version: ## 111.28.00 ### async_extra - Added to `Versioned_rpc` a non-functor interface. - Added `Log.level`, which returns the last level passed to `set_level`. - Enabled Async-RPC pushback in the `Tcp_file` protocol. ### async_unix - Added `Shutdown.set_default_force`, which allows one to change the default `force` value used by `shutdown`. This is useful for applications that call `shutdown` indirectly. val set_default_force : (unit -> unit Deferred.t) -> unit ### core - Added `Piecewise_linear.create_from_linear_combination`. val create_from_linear_combination : (t * float) list -> t Or_error.t - Added `Time.is_{earlier,later} : Time.t -> than:Time.t -> bool`, which are easier to read than `Time.(<)` and friends. - Added `Command.exec`, which allows one to include the `Command` hierarchy from one executable in another. `Command.exec` takes the file path to an executable that uses the `Command` module and returns a `Command.t` that integrates the executable (by exec'ing it), including providing recursive help and autocompletion as if it were a standard `Command.t`. - Replaced most uses of `Hashtbl.replace` with `Hashtbl.set`. - Renamed `Float.epsilon` to `robust_comparison_tolerance`, to avoid confusion with `epsilon_float`. ### core_extended - Implemented `Int.gcd` using binary GCD in C, for improved performance. - Added `Bin_io_utils.Serialized`, which stores a value in memory as its bin-io representation. Writing such a value just blits the value. - Moved `Text_block` from `Core_extended` into `Textutils`. - Added modules `Hashtbl2` and `Hashtbl2_pair`. ### core_kernel - Added `Pooled_hashtbl.resize` function, to allow preallocating a table of the desired size, to avoid growth at an undesirable time. - Added `Pooled_hashtbl.on_grow` callback, to get information about hashtbl growth. - Changed `Hashable.Make` to not export a `Hashable` module. The `Hashable` module previously exported was useless, and shadowed `Core.Std.Hashable`. - Moved `Common.does_raise` to `Exn.does_raise`, to make it easier to find. - Added `Float.one`, `minus_one`, and `~-`. (fixes #12). - Removed `Core.Std.unimplemented` and renamed it as `Or_error.unimplemented`. It is not used enough to live in the global namespace. ### jenga - Fixed problem that caused `rule failed to generate targets`. ### ocaml_plugin - Fixed a bug in tests that could leave the repository in a state where running the tests would fail. The bug happened if the tests were interrupted after creating read-only directories but before cleaning then up. ### pa_ounit - Added a flag to disable embedding of unit tests/inline benchmarks. (`janestreet/core_kernel#13`) ### textutils - Moved `Text_block` from `Core_extended` into `Textutils`. ---- We hope you find it useful! -- Ben Millwood, on behalf of the Core team.