*  *  *  *  *

  The CERN Common WWW Library is a general code base that can be used
  as a basis for WWW clients and servers. It contains code for accessing
  HTTP, FTP, Gopher, News, WAIS, Telnet servers, and the local file system. 
  Furthermore it provides modules for parsing, managing and presenting
  hypertext objects to the user and a wide spectra of generic programming

                            *  *  *  *  *

This pre-release is the first version of the CERN Library with support
for non-blocking, interruptible multithreaded I/O. It is to be
considered as a beta release as it contains a significant amount of
modifications compared to the last version (2.17). The CERN Line Mode
Browser is also released in order to show how the multithreaded
functionality can be enabled. The method used in the Line Mode Browser
is not limited to character-based clients but can support GUI clients
as well. The Library is not compatible with the CERN server 3.0 and it
should not be linked with this application. A later release of the
CERN server will support the current Library.

This release is only distributed to WWW developers which are in
contact with CERN. It is not to be considered as an official release,
as modifications and additions will be needed.

The plan is to keep up with these modifications and steadily release
improved versions of the Library continuously until a desired level of
stability is reached.

This release is also the first release of source code which is covered
by the new CERN copyright statement. The statement is published in the
file COPYRIGH - truncated to 8 bytes :-( and is a part of the
distribution file. It can also be read in hypertext format from


We encourage everybody to study this statement - questions are welcome!

CERN Common Code Library 3.0pre1 is available as source code from:


Its is known to compile on Sun4, Solaris 2, HP Snake, NeXT, NeXT-386,
Decstation Ultrix, DEC OSF/1, SGI and AIX, but look also at the page
of supported platforms at:


Diffs and old versions are available at


The top-node for documentation on the library is available at 

        http://info.cern.ch/hypertext/WWW/Library/Status.html and

Programmer's Guide is available at


The documentation has been modified significantly since the last
release. New ideas and comments are welcome!

The address to send email about CERN Library is:


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CERN Library 3.0pre1 Release Notes

New or Changed Features:

* Introduced the function HTLibInit() and HTLibTerminate() which MUST
  be called when the application starts up and terminates.

* Introduced the modules HTThread and HTEvent. HTEvent is the
  client interface when using multithreaded functionality and HTThread
  is the internal socket management

* All __STDC__ defines now concentrated to HTUtils.html where it is 
  called _STANDARD_CODE_ so that _cplusplus also handles this

* `new' and `template' not used a names anymore (confuses C++)

* Removed from field in HTRequest structure. This is now handled by
  the functions HTGetMailAddres and HTSetMailAddress and the flag HTEnableFrom
  in the HTTP module.

* Changed HTSetMailAddress so that a call with parameter equals NULL
  or "" clears the contents of the mail-address.

* The number of parameters to Streamstack function is now compatible
  with the arguments to a stream converter, so that we don't loose any
  information while putting up the stream stack.

* HTOutputSource variable is removed. You should use WWW_SOURCE in the
  request structure

* HTGuess stream is a a converter compatible stream so that it
  actually can be setup as a converter

* The stream methods `abort' and `_free' now returns int instead of
  void. On success from these methods `_free' returns 0 and `abort'
  return EOF

* Taken HTEscape and HTUnescape and put them into the HTEscape
  module. The functionality is the same but now they can be used in 
  utility programs without linking in the whole Library

Bug Fixes:

* Removed bug in WAIS module which caused a lot of core dumps

* Removed bug in format classification from URL suffix in HTGoper when
  the file was plaintext
* `localhost' is now recognized again after canonicalization in HTLoadFile()

* WAIS SEARCH now produces proper HTML

* Max number of lines in WAIS decreased to 200 as 250 (previous) dumps core

* Bug fixed in HTGetHostName if we must use the getdomainname() function.

* Added some support for SCO

* Handling of gopher items of type ERROR (3) changed so no more core
  dumps in server

Have fun!

        Henrik Frystyk Nielsen              H&kon W. Lie
        frystyk@info.cern.ch                howcome@dxcern.cern.ch
        + 41 22 767 8265                    + 41 22 767 8583

        Frederick Roeber                    Phill Hallam-Baker
        roeber@info.cern.ch                 hallam@alws.cern.ch
        + 41 22 767 3755                    + 41 22 767 8072

-------- World-Wide Web Project, CERN, CH-1211 Geneve 23, Switzerland --------