Skip to content

Commit

Permalink
Bump to 2.6.0 and write changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
aantron committed Oct 27, 2016
1 parent 743b440 commit daafc07
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 20 deletions.
50 changes: 48 additions & 2 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,7 +1,53 @@
===== 2.5.2 (2015-04-25) =====
===== 2.6.0 (2016-10-27) =====

====== Additions ======

* Lwt_stream.closed and Lwt_stream.is_closed (#223, Spiros Eliopoulos).
* Lwt_switch.with_switch (#256, Thomas Leonard).
* Define 'a Lwt.result as ('a, exn) result (#247, Simon Cruanes).
* Lwt_condition.broadcast_exn (#241, Nicolas Ojeda Bar).
* Lwt_unix.utimes (#193).

====== Bugfixes ======

* Memory leak in Lwt_unix.readdir_n (#229, diagnosed Thomas Leonard).
* Memory leak in Lwt.protected (#56, #181, reported @ygrek, Mauricio
Fernandez).
* Lwt_switch.turn_off hook exception handling (995b704).
* Handling of ENOTCONN when channels passed to handler of
Lwt_io.establish_server are closed (95fb431).
* Duplicate exceptions on implicit close in Lwt_io.with_connection (b1afe45).
* Deadlock in Lwt_main.at_exit (#48, #114, reported Jérôme Vouillon, Vincent
Bernardoff).
* Performance of Lwt_preemptive.detach (#218, #219, Mauricio Fernandez).
* Bad hash functions for libev loops (#146, reported Mark Christiaens).
* Hash of uninitialized data in Lwt_io (#217, reported Jeremy Yallop).
* Update log sections after Lwt_log.load_rules (#188, reported @rand00).
* Print three digits for milliseconds in Lwt_log (#264, Fabian Hemmer).
* Do not truncate Unix job notification ids in C (#277, diagnosed
@stijn-devriendt).

====== Deprecations ======

* Lwt_stream.on_termination: bind on Lwt_stream.closed instead.
* Lwt.make_value, Lwt.make_error: use result's Ok and Error constructors.
* Lwt_pqueue, Lwt_sequence: use min-heaps and linked lists from another
library (#135).
* Pa_lwt, Pa_lwt_log: use Ppx_lwt.

====== Miscellaneous ======

* Update examples to use PPX syntax instead of Camlp4 (#108, Peter Zotov).
* Set up Travis, AppVeyor for testing on Linux, OS X, Cygwin, and MinGW. MSVC
also planned.
* Large amount of local documentation fixes (Hezekiah Carty, Etienne Millon,
Leo Wzukw, Sebastien Mondet, reports by others).
* A bunch of new tests.

===== 2.5.2 (2016-04-25) =====

* Fix compatibility for 4.03 (#227)
* Various documentation fixes (#199,#200,#210,)
* Various documentation fixes (#199,#200,#210)
* Improve wildcard detection in the ppx (#198)
* Fix Lwt_stream: bounded_push#close wake the reader (#201)
* Fix infinite loop with Lwt_stream.choose (#214)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Lwt    [![version 0.11.1][version]][releases] [![BSD license][license-img]][copying] [![Manual][docs-img]][manual] [![Gitter chat][gitter-img]][gitter] [![Travis status][travis-img]][travis] [![AppVeyor status][appveyor-img]][appveyor]
# Lwt    [![version 2.6.0][version]][releases] [![BSD license][license-img]][copying] [![Manual][docs-img]][manual] [![Gitter chat][gitter-img]][gitter] [![Travis status][travis-img]][travis] [![AppVeyor status][appveyor-img]][appveyor]

[version]: https://img.shields.io/badge/version-2.5.2-blue.svg
[version]: https://img.shields.io/badge/version-2.6.0-blue.svg
[releases]: https://github.com/ocsigen/lwt/releases
[license-img]: https://img.shields.io/badge/license-LGPL-blue.svg
[gitter-img]: https://img.shields.io/badge/chat-on_gitter-lightgrey.svg
Expand Down
2 changes: 1 addition & 1 deletion _oasis
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
OASISFormat: 0.4
OCamlVersion: >= 4.01
Name: lwt
Version: 2.5.2
Version: 2.6.0
LicenseFile: COPYING
License: LGPL-2.1 with OCaml linking exception
Authors:
Expand Down
16 changes: 7 additions & 9 deletions src/core/lwt.mli
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,12 @@ val return_false : bool t
(** [return_false = return false] *)

val return_ok : 'a -> ('a, _) Result.result t
(** [return_ok x] is similar to [return (Ok x)], to indicate success
explicitely..
@since NEXT_RELEASE *)
(** [return_ok x] is equivalent to [return (Ok x)].
@since 2.6.0 *)

val return_error : 'e -> (_, 'e) Result.result t
(** [return_error x] is similar to [return (Error x)], to indicate
an error explicitely
@since NEXT_RELEASE *)
(** [return_error x] is equivalent to [return (Error x)].
@since 2.6.0 *)

(** {2 Thread storage} *)

Expand Down Expand Up @@ -314,15 +312,15 @@ val waiter_of_wakener : 'a u -> 'a t
type +'a result = ('a, exn) Result.result
(** Either a value of type ['a], either an exception.
This type is defined as [('a, exn) Result.result] @since NEXT_RELEASE *)
This type is defined as [('a, exn) Result.result] since 2.6.0. *)

val make_value : 'a -> 'a result
(** [value x] creates a result containing the value [x].
@deprecated since NEXT_RELEASE as it corresponds to {!Result.Ok} *)
@deprecated Since 2.6.0. Use {!Result.Ok} *)

val make_error : exn -> 'a result
(** [error e] creates a result containing the exception [e].
@deprecated since NEXT_RELEASE as it corresponds to {!Result.Error} *)
@deprecated Since 2.6.0. Use {!Result.Error} *)

val of_result : 'a result -> 'a t
(** Returns a thread from a result. *)
Expand Down
4 changes: 3 additions & 1 deletion src/core/lwt_condition.mli
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,6 @@ val broadcast : 'a t -> 'a -> unit

val broadcast_exn : 'a t -> exn -> unit
(** [broadcast_exn condvar exn] fails all waiting threads with exception
[exn]. *)
[exn].
@since 2.6.0 *)
3 changes: 2 additions & 1 deletion src/core/lwt_result.mli
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@

(** Module [Lwt_result]: explicit error handling *)

(** This module provides helpers for values of type [('a, 'b) result Lwt.t] *)
(** This module provides helpers for values of type [('a, 'b) result Lwt.t].
The module is experimental and may change in the future. *)

type (+'a, +'b) t = ('a, 'b) Result.result Lwt.t

Expand Down
8 changes: 6 additions & 2 deletions src/core/lwt_stream.mli
Original file line number Diff line number Diff line change
Expand Up @@ -228,11 +228,15 @@ val is_closed : 'a t -> bool
(** [is_closed st] returns whether the given stream has been closed. A closed
stream is not necessarily empty. It may still contain unread elements. If
[is_closed s = true], then all subsequent reads until the end of the
stream are guaranteed not to block. *)
stream are guaranteed not to block.
@since 2.6.0 *)

val closed : 'a t -> unit Lwt.t
(** [closed st] returns a thread that will sleep until the stream has been
closed. *)
closed.
@since 2.6.0 *)

val on_termination : 'a t -> (unit -> unit) -> unit
(** [on_termination st f] executes [f] when the end of the stream [st]
Expand Down
4 changes: 3 additions & 1 deletion src/core/lwt_switch.mli
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ val create : unit -> t
val with_switch : (t -> 'a Lwt.t) -> 'a Lwt.t
(** [with_switch fn] is [fn switch], where [switch] is a fresh switch
that is turned off when the callback thread finishes (whether it
succeeds or fails). *)
succeeds or fails).
@since 2.6.0 *)

val is_on : t -> bool
(** [is_on switch] returns [true] if the switch is currently on, and
Expand Down
2 changes: 1 addition & 1 deletion src/unix/lwt_unix.mli
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ val utimes : string -> float -> float -> unit Lwt.t
[Unix.utimes]}. See also
{{:http://man7.org/linux/man-pages/man3/utimes.3p.html} [utimes(3p)]}.
@since NEXT_RELEASE *)
@since 2.6.0 *)

val isatty : file_descr -> bool Lwt.t
(** Wrapper for [Unix.isatty] *)
Expand Down

0 comments on commit daafc07

Please sign in to comment.