Commits

Anonymous committed 011676e

Updated the CHANGES prior to releasing 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:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.