caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Fwd: [ANN] Core Suite 109.60.00
       [not found] <CA+MHO50jE9xedvAokVqhMpssm+8gMqTXye3CV8DGWbUCgPo0BQ@mail.gmail.com>
@ 2014-01-20  9:28 ` Ben Millwood
  0 siblings, 0 replies; only message in thread
From: Ben Millwood @ 2014-01-20  9:28 UTC (permalink / raw)
  To: caml-list

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

I am excited to announce the 109.60.00 release of the Core suite.

The following packages were upgraded:

- async
- async_extra
- async_kernel
- async_unix
- comparelib
- core
- core_kernel
- custom_printf
- faillib
- pipebang
- sexplib
- type_conv

Files and documentation for this release are available on our website and
all packages are in opam:

  https://ocaml.janestreet.com/ocaml-core/109.60.00/individual/
  https://ocaml.janestreet.com/ocaml-core/109.60.00/doc/

Here is the list of changes for this version:

# 109.60.00

## async_extra

- Replaced `Tcp_file.serve`'s `~port:int` argument with
  `Tcp.Where_to_listen.inet`.

## async_kernel

- Changed the scheduler to clear a job from its queue when it runs the
  job, eliminating a performance regression from 109.57.

    Clearing avoids spurious promotion of what would otherwise be dead
    data associated with already-executed jobs.

## async_unix

- Fixed a bug in detection of the thread pool being stuck that could
  overstate the amount of time the pool was stuck.

    It had been incorrectly reporting the duration of the thread pool
    being stuck if the pool had no work in it and then got enough jobs
    to be stuck.  In that situation, the duration included the time span
    before the pool got stuck.  If the pool had been idle long enough,
    this could even spuriously abort the program.

## comparelib

- Fixed a type error in `with compare` of polymorphic variant inclusions.

## core

- Added `Iobuf.unsafe_advance`.

    This can be used to benchmark inner loops that have redundant bounds
    checking, to see if the checks matter.  For example, see the
    following two `advance` calls:

        let rec process_buffer buf ~f =
          let len = Iobuf.length buf in
          if header_len <= len then
            let msg_len = header_len + Iobuf.Unsafe.Peek.uint16_be buf
~pos:0 in
            if msg_len <= len then begin
              let len = msg_len - header_len in
              Iobuf.advance buf header_len;
              f (Protocol.packed_of_iobuf buf);
              Iobuf.advance buf len;
              process_buffer buf ~f
            end

- Added `Weak_hashtbl.add_exn` and `sexp_of_t`.
- Fixed `Lock_file.create` to behave correctly if the target mountpoint
  is out of space.

    Previously in this situation, `Lock_file.create` would create an
    empty lock and exit with exception trying to write pid/message
    there. Subsequent runs would not able to read pid out of empty pid
    file and `blocking_create` would block instead of removing defective
    lock.

- Dropped the `-principal` flag from corebuild

## core_kernel

- Added `Gc.keep_alive`, which ensures its argument is live at the point
  of the call.
- Added `Sexp.With_text` module, which keeps a value and the a sexp it
  was generated from, preserving the original formatting.

## custom_printf, faillib, pipebang, type_conv

- Compatibility with warning 7 (method override)

## sexplib

- Separated out an exception printer that depends on unix into a separate
`sexplib_unix` item.

I hope you like it!

-- Ben Millwood, for the Core team

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

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

only message in thread, other threads:[~2014-01-20  9:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CA+MHO50jE9xedvAokVqhMpssm+8gMqTXye3CV8DGWbUCgPo0BQ@mail.gmail.com>
2014-01-20  9:28 ` [Caml-list] Fwd: [ANN] Core Suite 109.60.00 Ben Millwood

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).