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.
