===========================================================================
 This file describes changes in the IO package beginning from version 1.2:
===========================================================================

==========================
 Changes from 2.1 -> 2.2:
==========================

  - Fixed a serious bug with the generic object pickler.
  - Released version 296 as 2.2


==========================
 Changes from 2.0 -> 2.1:
==========================

  - Fixed bug with IO_stat, that time stamps are usually >= 2^28.
  - Add framework for other packages to install picklers and unpicklers
    even if they are loaded before the IO package.
  - Pickling/Unpickling of functions and operations (methods still a problem)
  - Leave out last argument of IO_GenericObjectUnpickler because it
    was never needed, return either IO_Error or unpickled object. This
    changes the semantics!
  - Pickling/Unpickling of WeakPointerObjects
  - Pickling/Unpickling of permutation groups (including Size and base of 
    StabChain)
  - Pickling/Unpickling of matrix groups (only generators and Size)
  - Pickling/Unpickling of finite fields
  - Set Host component of HTTP request header by default of the name
    of the server argument in SingleHTTPRequest.
  - Alexander Konovalov's CheckForUpdates function.
  - Released revision 289 as 2.1


==========================
 Changes from 1.6 -> 2.0:
==========================

  - See to SIGCHLD signal handler in Popen, Popen2, and Popen3
  - WaitPid in PipeThrough*
  - Loop around IO_select calls to ignore EINTR error
  - Sort out __stack_chk_fail_local gcc 4.1 problem
  - case insensitivity in header field names in HTTP protocol
  - fix bug that crashed GAP when starting another process or terminating
    GAP after calling Popen*
  - Added http protocol test.
  - Add tst/platform.g to have a check of "standard things"
  - include more headers with #include
  - take care of PIPE_BUF variable (might not exist on platform!)
  - Improved installation instructions in the manual and the README file.
  - Add proper preface to the manual
  - Fix documentation of Popen*
  - Clean up code for Popen, create IO_ForkExecWithFDs
  - IO_StartPipeline
  - IO_StringFilterFile, IO_FileFilterString
  - paths to executables do PATH lookups using IO_FindExecutable
  - IO_FilteredFile to create a File object which filteres through a pipeline.
  - Let IO_Close automatically call IO_WaitPid under certain circumstances.
  - Released revision 238 as 2.0


==========================
 Changes from 1.5 -> 1.6:
==========================

  - New binding IO_fcntl with corresponding constants in IO
    (this is necessary for switching a file descriptor to O_NONBLOCK)
  - In IO_WriteNonBlocking only try to send PIPE_BUF bytes instead
    of full buffer to avoid blocking (is this the solution?)
  - Functionality to pipe a string through an external command
    using I/O multiplexing
  - New client side HTTP protocol implementation
  - Use chapters in documentation
  - New functions IO_PipeThrough and IO_PipeThroughWithError to pipe
    a string through a process.


==========================
 Changes from 1.4 -> 1.5:
==========================

  - Big changes in the buffered I/O functionality to allow for non-blocking
    I/O with buffers. Documented all. This changed the interface to buffered
    I/O considerable!
  - Test code for buffered I/O.
  - Test code for pickling/unpickling.
  - Some small bug fixes of bugs found during development of test code.


==========================
 Changes from 1.3 -> 1.4:
==========================

  - moved real random sources from the orb package here
    adjust them to new library code
  - implement picklers/unpicklers for random sources


==========================
 Changes from 1.2 -> 1.3:
==========================

  - hint to load a package if there is no handler for magic during unpickling
  - follow Frank's suggestion to allow more than one package with a
    C-part to be linked to a statically compiled GAP, document this
  - release subversion revision 155 as Version 1.3


