jhwoodyatt  committed 011676e

Updated the CHANGES prior to releasing cf-0.5.

  • Participants
  • Parent commits 7780fda
  • Tags cf-0_5

Comments (0)

Files changed (1)

 released versions of the library.
+===== Version 0.5 =====
+Highlights of the changes:
++ Many bugs fixed (some critical).
++ IPv6 socket addresses are now a triple, containing the scope identifier.
++ Fixed a very bad stack leak problem in the [Cf_gadget] scheduler.
+--- [Cf_deque]
+    Fix major bug in [fold] that caused a BUS ERROR (ack!), and also fixed
+    [filter] so that it uses the non-recursive [fold] function here instead of
+    going to the extra work of using [Cf_seq.fold].
+--- [Cf_rbtree]
+    Fix a bug in [iterate] (found by Craig Falls; thanks Craig!) caused by a
+    stoopid typo.  Caused some elements to be iterated twice, and others not
+    at all.
+--- [Cf_gadget]
+    Moderate surgery on the scheduler to fix a bad stack leak.  The new code
+    is probably a tiny bit more efficient too, because I got rid of some
+    unnecessary uses of {Lazy.t} in places, and there is a bit less lifting
+    between monads.  I didn't benchmark it, though.
+--- [Cf_socket]
+    Added a special case for Mac OS X to work around a bug in Apple's network
+    stack that errors in connect(2) on a non-blocking socket do not get in
+    the errno system variable.  You have to get them out of the socket with
+    the SO_ERROR socket option.
+--- [Cf_ip4_addr]
+    Make the network subnet manipulation functions cope with networks that
+    are not unicast networks.  (Yes, there are multicast ranges that can be
+    treated like subnets.)
+--- [Cf_ip6_proto]
+    Add a third element to the socket address type: an int32 for the scope id.
+--- [Cf_ip6_addr]
+    Fix the [v4compat] and [v4mapped] address type tags so that they are
+    actually polymorphic variants, like they're supposed to be.  This was
+    another stoopid typo, but I found it myself.
+--- [Cf_netif]
+    Fixed the C-language code to call if_nametoindex() with the proper
+    arguments.  Again, this was a stoopid typo.
+--- [Cf_poll]
+    A minor change to the commented bits of debugging code in the middle of the
+    select loop to use [Cf_journal] instead of my [xprintf] hackery.
+--- {TESTS}
+    Added a test for the [Cf_gadget] scheduler to detect stack leaks.
 ===== Version 0.4 =====
 Highlights of the changes: