summaryrefslogtreecommitdiff
path: root/CHANGES
blob: dbfbb62711f897aba7e015692cb0a4b0733dd2fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
0.9.2 (07-10-2021)
=====
* Fix deadlock issue at shutdown.

0.9.1 (06-21-2021)
=====
* Make `stop` synchronous, waiting for all tasks to stop
  while sending `Condition.signal`. Should avoid potential
  race-conditions when signaling tasks to end.

0.9.0 (07-10-2020)
=====
* Add offset/length to writing functions.
* Convert to dune.
* Drop unused SSL and SecureTransport optional libs.

0.8.0 (12-11-2018)
=====
* Removed camlp4 syntactic sugar (unmaintained, unused in liquidsoap now).

0.7.4 (10-11-2018)
=====
* Fix stack overflow by making recursive function fully tail-rec. (ref savonet/liquidsoap#640)

0.7.3 (12-09-2018)
=====
* Fix write/select logic on windows systems. (savonet/liquidsoap#610)
* Avoid race conditions when shutting down.

0.7.2 (28-08-2018)
=====
* Add placeholder implementation for `caml_poll` on Win32.

0.7.1 (18-08-2018)
=====
* Use poll() when available.
* Wake up all queues when shutting down.

0.7.0 (03-11-2017)
=====
* Fix bytes compatibility with OCaml 4.06 and above.
* Fix camlp4 availability test.

0.6.1 (23-08-2017)
=====
* Added SecureTransport support.

0.6.0 (11-04-2017)
=====
* Added SSL support.

0.5.2 (03-08-2015)
=====
* Dummy github release.

0.5.1 (05-08-2013)
=====
* Removed win32 select work-around: patch applied upstream.

0.5.0 (04-03-2013)
=====
* Remove Panic exception and let original exception bubble through.

0.4.2 (08-10-2011)
=====
* Reimplemented monadic Mutex and Condition.
* Consume more than one char when waking up Async tasks.

0.4.1 (04-08-2011)
=====
* Added optional timeout for
  all [Duppy.Io] and [Duppy.Monad.Io]
  operations.
* Fixed handling of EINTR: update the
  timeout when restarting after being
  interrupted.

0.4.0 (26-06-2011)
=====
* Added a monad API to write
  server code.
* Close both sides of the pipe
  in Duppy.Async
* Make calls to [stop] and [wake_up]
  thread-safe in Duppy.Async
* Catch Unix.EINTR when calling Unix.select.

0.3.2 (19-08-2010)
=====
* Switch from Thread.select to
  Unix.select. They are the same on
  POSIX and only Unix.select is available
  on Win32..
* Do not use assertions on Mutex.try_lock
  on Win32: on this plateform, a thread can
  double-lock a mutex, making the assertion
  inconsistent.

0.3.1 (14-10-2009)
=====
* Really catch raised exception on Duppy.Io
  operations: catching was missing on recurrent
  calls.

0.3.0 (18-06-2009)
=====
* Added support for --enable-debugging configure option
* Fixed Makefile for BSD: call $(MAKE) for generating documentation.
* Added the possibility to restart the task after the returned positive
  delay in Async.
* Added unknown exceptions on Duppy.Io when calling on_error.

0.2.0 (17-02-2009)
=====
* Fixed typo in Duppy.Async: exception is now Stopped.

0.1.2 (01-07-2008)
=====
* Changed logic in shutdown for Async interface:
  now [Duppy.Async.shutdown t] also wakes the task if
  asleep. Still it can't stop a running task.
* Fixed race conditions when a queue starts the select loop:
  a task could be submitted, but no queue would wake up.

0.1.1 (15-04-2008)
=====
* Fixed Conditions usage for non-unix systems
* Fixed typos in the documentation, added some details
* Installs .cmx file

0.1.0 (07-03-2008)
=====
* Initial release