Welcome to APE release 1.2

APE 1.2 is the fourth full release for APE.  With 1.2, APE has been re-
organized and broadened significently.  The core APE library (libape) is
now split into three seperate libaries (libape for threading support,
libsock for socket services, and libfile for APE file I/O).  We plan to
add additional platform specific libraries such as libapesio for serial
I/O programming.

In addition, a new "common" source tree has been created for APE.  This
new common tree holds non-platform specific code.  The first such code
is the new libapemisc library which provides a number of useful things
that don't fit anywhere by themselves.  In addition, an embedable 
scripting engine, libapescript, will soon appear here.  With these changes
and additional features forthcoming, we hope to make the APE distribution
into a very broad and general purpose set of portable C++ development
frameworks.

APE 1.1 was the third full release for APE.  The 1.1 addition features a
complete rewrite of the APE socket class hierarchy based on the APE 2.0
project.  There will be further intermediate 1.x releases as parts of APE
are redesigned in the APE 2.0 project and are migrated down.

Starting with 1.1.3, we have changed the way we are handling library
numbering and versioning.  Each APE "series" is now uniquely identified
as a "release" in the form "libape-m.n.so".  Specific library versioning
is used for sub-releases within a given series.  This is consistent with
what many other shared library packages have chosen to do.

The APE distribution now come with "sample" applications in the demo
directory.  These are meant to clearify how APE classes are intended to be
used.  The current samples demonstrate a streaming TCP socket server and
illustrate both how one can use to design a "standard" TCP server under
APE and how one can design a "threaded" server whereby each TCP client
connection is given it's own thread using TCPThread.

The APE 1.1 release also introduces a new concept for the management of 
server connections with clients known as "ports".  Ports can be
assigned to one or more "service threads" which may act as "thread pools".
Ports handle I/O activity through event callback from the service thread
which also manages a sychronized timer.  This allows for many kinds of
realtime socket applications to be programmed in APE, as well as offering
an alternative to the "one thread per connection" design of TCPSession.
In the initial release, Ports will only be available in the Posix tree,
though win32 support will follow very shortly.

The current release for APE can be found at ftp://ftp.voxilla.org/pub/ape
Starting with release 0.1.0, APE is now held in copyright by the Open
Source Telecom Corporation.  This change in copyright in no way alters
APE's licensing status as GPL.  All e-mail in regards to APE should now
be sent to dyfet@ostel.com.


