[Jul 4 2008]

 * FIXED: library(process) stream administration (could lead to errors in close)
   
[Jul 3 2008]

 * FIXED: Avoid possible deadlock in PL_cleanup_fork(). Michiel William Kauw-A-Tjoe
   
[Jun 25 2008]

 * ADDED: memory_file_to_atom/3 and memory_file_to_codes/3 to convert encodings.
   
[Jun 27 2008]

 * FIXED: read_line_to_codes/3: foreign implementation did not unlock stream.
[Jun 13 2008]

 * FIXED: Include initialization to load process.so.  Matt Lilley.

[May 21 2008]

 * FIXED: Error message when using a service name in tcp_bind/connect.
   Jean-Marc Vanel.
   
[May 20 2008]

 * PORT: Port UDP socket support to Windows

 * MODIFIED: Streams in socket.pl and ssl.pl appeared unbuffered.  They
   are now fully buffered.
   
[May 19 2008]

 * ADDED: support for 'as(Type) option to udp_receive/4

[May 16 2008]

 * FIXED: Process streams are by default in text-mode using full buffering.

[May 12 2008]

 * PORT: Ported library(process) to Windows

[May 11 2008]

 * ADDED: library(process), providing SICStus 4 compatible process interaction
   to the clib packages.  Currently runs on Unix systems only (tested Linux and
   MacOS X 10.4).
   
   This patch also extends the foreign interface with the PL_get_signum_ex()
   and PL_cleanup_fork().
   
[Mar 10 2008]

 * FIXED: Pass error while waiting for accept() in Windows

[Feb 26 2008]

 * PORT: Fix compilation of SHA1 routines for SUN/SPARC.  Robert Andersson.

[Feb 15 2008]

 * FIXED: cgi_get_form/1 now assumes input data is in UTF-8.

[Jan 23 2008]

 * PORT: Bug#346: Allow overriding COFLAGS and CWFLAGS in package
   configuration.   Keri Harris.
[Jan 15 2008]

 * PORT: Fix cpp handling in clib package configure.  This is assumed to
   fix the Darwinports on MacOS Leopard.  Nico, Ryoko et Anna.
Oct 6, 2007

  * FIXED: call_with_time_limit non-determinism.  Norbert Fuchs.

Sep 25, 2007

  * Make SHA routines compile on Solaris

Sep 3, 2007

  * Possible not working timer alarm.  Ulrich Neumerkel.

Jul 30, 2007

  * FIXED: Bug#302: memory leak in atom_to_memory_file/2 with filled 
    output argument.  Keri Harris.

Jul 12, 2007

  * FIXED: call_with_time_limit/2 if the alarm fires before call_cleanup
    is entered, a theoretical problem using short timeouts on a loaded
    machine.

  * ADDED: install_alarm/1.

  * FIXED: Avoid exit of Prolog on uncaught exception from 
    call_with_time_limit/2.  Ulrich Neumerkel.

May 3, 2007

  * ADDED: open_memory_file/4, providing encoding facilities.  Matt Lilley.

Apr 23, 2007

  * FIXED: tcp_accept to deal with stream handles (broken in nbio redesign).

Mar 7, 2007

  * FIXED: Put debug message "shutdown(6=-1, SD_RECEIVE) failed" under
    tcp_debug/1.  Mike Elston

Mar 6, 2007

  * FIXED: Waiting for a socket with XPCE enabled.
  * ADDED: SHA-1 and SHA-2 support in new library(sha).

Feb 28, 2007

  * Re-renerated HTML docs (outdated)

Feb 26, 2007

  * FIXED: complete redesign of nonblock.c socket layer to deal with
    validness of socket handles.  

Feb 9, 2007

  * ADDED: MD5 hashes to crypt.  Added library(crypt) to Windows version
    (only supporting MD5).

Feb 2, 2007

  * Fixed alloca issues in socket.c.  Richard O'Keefe.

Jan 31, 2007

  * Documentation update to document issues in the Windows timer
    implementation.

Jan 23, 2007

  * size_t cleanup.

Dec 12, 2006

  * FIXED: Error handling in read_line_to_codes/[2,3] and
    read_stream_to_codes/[2,3].

Nov 8, 2006

  * CLEANUP: GCC warnings

Oct 27, 2006

  * FIXED: random/3 never to generate upper bound.   Nicos.

Oct 16, 2006

  * ADDED: YAP/SICStus compatible library(random).

Sep 7, 2006

  * FIXED: Bug#205 make --> $(MAKE).  Marc Espie

Feb 1, 2006

  * FIXED: Remove DOS ^M from files in maildrop package.  Richard O'Keefe.

Jan 19, 2006

  * Fixed: Bug#137: make time.c compile for single-threaded operation
    Keri Harris.

Jan 12, 2006

  * Fixed: rewrote most of time.c, providing alarm/4 using portable
    pthread code.

Jan 10, 2006

  * UDP ssize_t portability issues

Dec 23, 2005

  * Start work on UDP support in socket.pl.

Oct 14, 2005

  * Fixed signedness error in library memfile, returning incorrect values
    for size_memory_file/2

Oct 11, 2005

  * PORT: Use plld to compile maildrop as position independent code

May 22, 2005

  * PORT: Added maildrop RFC libraries to distribution

Apr 23, 2005

  * FIXED: mime_parse/3: read stream with Sgetcode rather than Sgetc to
    deal with encoding issues.

Feb 17, 2005

  * ADDED: Provide wide-character support for library(memfile).

Dec 16, 2004

  * FIXED: Socket and ssl interaction problems (Windows).  Matt Lilley.

October 04, 2004

  * FIXED: library(socket) and library(ssl): potential crash and starvation
    issue.  Appears to happen only on Windows NT, but the problem can -at
    least in theory- also appear in other Windows versions.  With thanks
    to Mike Elston for providing the test program.

Sep 21, 2004

  * FIXED: cgi_get_form/1 for www-form-encoded strings with lowercase
    %xx.  John Paolillo.

Jul 18, 2004

  * CLEANUP: ensure mimimal library dependency.  After discussion on
    mailinglist.

Jul 5, 2004

  * CLEANUP: split socket library in two to be able to reuse the
    non-blocking socket stuff in the SSL library.

May 5, 2004

  * FIXED: memory leak in open_memory_file/3.  Fabien Todescato.

Oct 2, 2003

  * PORT: Configure socket library for IRIX 6.5 (Rob Myers).

Aug 28, 2003

  * FIXED: Complete rewrite of library(socket) for MS-Windows.

Jun 2, 2003

  * FIXED: time:remove_alarm/1 for MS-WIndows.  Mike Elston.

Mar 14, 2003

  * ADDED: Code to make sockets cooperate with signals, so
    call_with_time_limit/2 works on blocking socket operations.

  * FIXED: Error handling on sockets (Windows)

  * FIXED: call_with_time_limit/2 module problem

Feb 2, 2003

  * FIXED: call_with_time_limit/2 if the argument goal fails.  Wouter
    Jansweijer.

Dec 18, 2002

  * FIXED: make all socket calls resume on EINTR (Unix systems).

Dec 7, 2002

  * FIXED: hand open sockets to other threads (blocking problems in Windows).

Dec 6, 2002

  * FIXED: blocking write in sockets and make tcp_close_socket close the
    associated streams (if any).

Dec 4, 2002

  * FIXED: tcp_close_socket/1 to work on the listened socket. Peter Marks.

Dec 2, 2002

 * ADDED: tcp_bind(+Socket, -Port) to bind with an arbitrary free port.

Nov 29, 2002

 * FIXED: MS-Windows tcp_read() not to wait for messages after we have
   seen FD_CLOSE. Holger Kanwischer.

 * ADDED: Make library(socket) suitable for multi-threaded operation in
   MS-Windows. Mike Elston.

Nov 26, 2002

 * ADDED: Make library(time) suitable for multi-threaded operation.

 * ADDED: library(rlimit) for accessing POSIX process limits

Jul 24, 2002

 * ADDED: tcp_setopt(Socket, dispatch(false))

Jun 20, 2002

 * FIXED: Handle WSAEWOULDBLOCK in tcp_acept() to get a blocking accept
   call.

Jun 11, 2002

 * ADDED: library(files), providing uncommon access to file objects.

29/04/2002
  
 * Add initialization to load_foreign_library for calls lacking this.
   Holger Kanwischer.

28/03/2002

 * Record position on socket-streams (SIO_RECORDPOS).

 * Many changes to library(socket): fixes for the Windows implementation,
   dispatch events during tcp_read() while waiting for input.

01/02/2002

 * Modified copyright for compatibility with the now LGPL SWI-Prolog system

07/12/2001

 * FIXED: memory_file_to_atom/2 and friends to return size 0, empty atom
   when the file contains no data.

10/06/2001
 
 * ADDED: library(mime) for MIME message parsing.

07/10/2000
 
 * ADDED: Allow for descriptor to arguments of dup/2.

30/06/1999

 * ADDED: cgi.pl, cgi.c and form.[ch] providing cgi_get_form/1 to get the
   Form-data if SWI-Prolog is installed as a CGI script.

06/04/1999

 * Renamed the predicates from the socket package to tcp_<their-old-name>.
   These predicates are meant as low-level primitives and their normal name
   is too general.
