caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Core Suite 111.25.00
@ 2014-07-31 14:44 Jeremie Dimino
  0 siblings, 0 replies; only message in thread
From: Jeremie Dimino @ 2014-07-31 14:44 UTC (permalink / raw)
  To: ocaml-core, caml-list

[-- Attachment #1: Type: text/plain, Size: 5346 bytes --]

I am pleased to announce the 111.25.00 release of the Core suite.

With this release all packages are now compatible with OCaml 4.02.

The following packages were upgraded:

- async_extra
- async_kernel
- async
- async_parallel
- async_unix
- core_extended
- core_kernel
- core
- custom_printf
- jenga
- ocaml_plugin
- patdiff
- patience_diff
- sexplib
- 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.25.00/individual/
  https://ocaml.janestreet.com/ocaml-core/111.25.00/doc/

Here is list of changes for this version:

## 111.25.00

### async

- add a dns example

### async_extra

- Removed `lazy` from the core of `Log`.
- Made `Log.Message.t` have a stable `bin_io`.

  The `Stable.V1` is the current serialization scheme, and `Stable.V0`
  is the serialization scheme in 111.18.00 and before, which is needed
  to talk to older systems.
- Changed `Rpc` to return `Connection_closed` if a connection ends
  before a response makes it to the caller.

  Previously, the dispatch output was never determined.

  Also, removed an unused field in one of the internal data structures
  of Async RPC.
- In `Versioned_rpc`, added `version:int` argument to `implement_multi`
functions.
- In `Versioned_rpc`, the `Pipe_rpc.Make` functors now return an
  additional output functor.

  `Register'` is like `Register` but has in its input module:

  ```ocaml
  val response_of_model :
    Model.response Queue.t -> response Queue.t Deferred.t
  ```

  rather than

  ```ocaml
  val response_of_model : Model.response -> response
  ```

  This is analogous to `Pipe.map'` and `Pipe.map`.
- Added to `Log` a `V2` stable format and better readers for
  time-varying formats.
- In `Log`, added an optional `?time:Time.t` argument to allow callers
  to pass in the logged time of an event rather than relying on
  `Time.now ()`.

### async_kernel

- Fixed `Clock.run_at_intervals` to make the initial callback at an
  interval multiple.

  Previously, if `start` was in the past, `f` would run immediately
  rather than waiting for an interval of the form `start + i * span`.
  Now it always waits for an interval, even the first time it runs.

### async_parallel

- improve error handling

### async_unix

- Added `Unix.Addr_info` and `Name_info`, which wrap `getaddrinfo` and
  `getnameinfo`.
- Improved the scheduler's error message when the thread pool is
  stuck.

### core

- Added `Gc.disable_compaction` function.
- Added `Time.to_string_abs_trimmed`, which prints a trimmed time and
  takes a `zone` argument.
- Fixed `unix_stubs.c` to suppress a warning when building with some
  versions of gcc.
- Changed `Time.Zone` to allow the zoneinfo location to be specified
  by an environment variable.

  Closes #40
- Fix compatibility with 4.02

### core_extended

- Moved `Quickcheck` from `core`.
- Added [Int.gcd].

### core_kernel

- Fix build on FreeBSD

  Closes #10
- Added functions to `Container` interface: `sum`, `min_elt`,
  `max_elt`.

  ```ocaml
  (** Returns the sum of [f i] for i in the container *)
  val sum
    : (module Commutative_group.S with type t = 'sum)
    -> t -> f:(elt -> 'sum) -> 'sum

  (** Returns a min (resp max) element from the collection using the
provided [cmp]
      function. In case of a tie, the first element encountered while
traversing the
      collection is returned. The implementation uses [fold] so it has the
same
      complexity as [fold]. Returns [None] iff the collection is empty. *)
  val min_elt : t -> cmp:(elt -> elt -> int) -> elt option
  val max_elt : t -> cmp:(elt -> elt -> int) -> elt option
  ```
- Made `Core_hashtbl_intf` more flexible. For instance supports
  modules that require typereps to be passed when creating a table.

  Address the following issues:

  The type `('a, 'b, 'z) create_options` needs to be consistently used
  so that `b` corresponds with the type of data values in the returned
  hash table.  The type argument was wrong in several cases.

  Added the type `('a, 'z) map_options` to `Accessors` so that
  map-like functions -- those that output hash tables of a different
  type than they input -- can allow additional arguments.
- Fixed a bug in `Dequeue`'s `bin_prot` implementation that caused it
  to raise when deserializing an empty dequeue.
- Made `Container.Make`'s interface match `Monad.Make`.
- Deprecated infix `or` in favor of `||`.
- Simplified the interface of `Arg` (which was already deprecated in
  favor of `Command`).
- Replaced `Bag.fold_elt` with `Bag.filter`.
- `Memo.general` now raises on non-positive `cache_size_bound`.
- Removed `Option.apply`.
- Removed `Result.call`, `Result.apply`.
- Moved `Quichcheck` to `core_extended`.

  It should not be used in new code.

### custom_printf

- Fix 4.02 compatibility.

### jenga

- Switched to un-version-numbered API.
- Renamed `Tenacious_sample_lib.Tenacious` to
  `Tenacious_sample_lib.Tenacious_sample` to avoid conflicts in the
  public release.
- Write `buildable_targets.list` (on alias `.info`).

### ocaml_plugin

- ignore more warnings by default

### patdiff

- add a `?file_names` argument to `Compare_core.diff_strings`

### patience_diff

- refactoring and more unit tests

### sexplib

- Fix compatibility with OCaml 4.02

-- 
Jeremie Dimino, for the Core team

[-- Attachment #2: Type: text/html, Size: 7862 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-31 14:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-31 14:44 [Caml-list] [ANN] Core Suite 111.25.00 Jeremie Dimino

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).