<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2009/10/65b9b392d5779a94893ecea98ce9dbe0"
  from="Stéphane Glondu &lt;steph@g...&gt;"
  author="Stéphane Glondu"
  date="2009-10-15T22:10:39"
  subject="[ANN] Lwt 2.0.0 released"
  prev="2009/10/36d784fb6000a42a103045b98b05b08f"
  next="2009/10/4def6cb1b0cb5eb0931e86bb5de2c977"
  prev-thread="2009/10/36d784fb6000a42a103045b98b05b08f"
  next-thread="2009/10/447f9f88c824ff2b1798e68a5e8c87fc"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[ANN] Lwt 2.0.0 released">
<msg 
  url="2009/10/65b9b392d5779a94893ecea98ce9dbe0"
  from="Stéphane Glondu &lt;steph@g...&gt;"
  author="Stéphane Glondu"
  date="2009-10-15T22:10:39"
  subject="[ANN] Lwt 2.0.0 released">
</msg>
</thread>

<contents>
Hello,

The Lwt team is pleased to announce the release of Lwt 2.0.0. You can
download it at:

  https://ocsigen.org/lwt/install


This new version brings a lot of new features, including:

 * GLib integration: it is now possible to write cooperative
   application using GTK!

 * Terminal utilities: you can now write cooperative curses oriented
   application!

 * Cooperative readline: write a shell in 5 minutes!

 * A syntax extension to make code using lwt clearer

 * A proof of concept implementation of a new toplevel with line
   editing and completion support

 * New modules, helpers, ...


Here is the complete list of changes from the previous version
(1.1.0):

 * Adding modules:
   - Lwt_stream: lwt-aware version of the Stream module
   - Lwt_gc for using finalise without Lwt_unix.run
   - Lwt_io: a new implementation of buffered channels with more
     features and better handling of concurrent access
   - Lwt_text: implementation of text channels
   - Lwt_process: helpers to spawn processes and communicate with them
   - Lwt_main for abstracting the main loop and allowing replacement
     by a custom main loop
   - Lwt_glib for integration into the glib main event loop
   - Lwt_term for interaction with the terminal
   - Lwt_read_line for interactive user input
   - Lwt_monitor, Lwt_mvar: combined locks for synchronization with
     conditional variables for notification
   - Lwt_throttle for limiting rate of execution (e.g. for
     authentication procedures)
   - Lwt_sequence: mutable sequence of elements
   - Lwt_event, Lwt_signal: helpers for reactive programming with lwt
 * Adding a syntax extension pa_lwt:
   - handles anonymous bind a &gt;&gt; b
   - adds syntactic sugar for catching errors (ticket #6)
   - adds syntactic sugar for parallel let-binding construction
   - adds syntactic sugar for for-like loops
 * Top-level integration:
   - threads can runs while reading user input
   - line editing support
 * New enhanced OCaml toplevel with some basic completion features
 * Adding C stubs to reimplement Unix.read and Unix.write with
   assumption of non-blocking behaviour
 * Adding more functions/helpers in Lwt
 * Fixing memory leaks in Lwt.choose
 * Bugfix in Lwt_chan.close_* (ticket #66)
 * Separate the type of threads (covariant) from the type of thread
   wakeners (contravariant); the type of many functions related to
   Lwt.wait has been changed
 * Add cancelable threads
 * Unix-dependent part is now put in its own archive and findlib
   package.


Enjoy!

-- 
The Lwt team


</contents>

</message>

