Version 0.4 to 0.5 (26-OCT-1995)
==================

Bug fixes
---------

 - now only root can open a CLIP socket (thereby creating an IP interface)
 - now only root can issue CLIP_NULENCAP and CLIP_LLCENCAP ioctls
 - atmdump: forgot  default  in getopt switch
 - eni driver: called misc_int on every interrupt
 - Q.2931 message description: various fixes and improvements
 - linux/atm.h: ATM_*_UNSPEC used the same value as ATM_*_ANY, oops !
 - SSCOP is now more careful about not accessing the descriptor if it might
   possibly have been deleted
 - typo in SSCF leading to wrong response to AA-RECOVER.indication
 - SSCOP now correctly copies N(PS) from POLL to STAT PDUs
 - SSCF now discards data when not ready instead of issuing a fatal error
 - AAL initialization failure no longer leaks memory
 - closing an SVC without VCC no longer yields a GPF

New features
------------

 - ZN1221 driver is starting to work
 - new, ARP-based mechanism for IP over ATM (with atmarpd, atmarp, etc.)
 - /proc/atm/pvc now displays more information for CLIP PVCs (after a patch
   by Raghavan Menon)
 - added max_pcr to struct atm_trafprm (also fixed a few comments in atm.h)
   Note: all programs using sockaddr_atm* will have to be recompiled.
 - qgen now handles value lists in named selections
 - signaling now supports bhli/blli, plus various other minor extensions
 - new ioctls to set/get local ATM address
 - added library with address to/from text conversion functions
 - finally implemented getname()

Other changes
-------------

 - eni driver: avoided potential generation of superfluous code if extended
   debugging is disabled
 - eni driver: detects new boards using ASIC PCI chip (doesn't support them
   yet, though)
 - qgen: semicolon is now comment character and no longer used to terminate
   clauses
 - qgen: replaced term "item" with "field"
 - linux/include/atmsap.h: removed obsolete comment "protocol cannot be fully
   encoded in current structure". Also re-arranged some comments to simplify
   automated document generation.
 - saal,sscf,sscop: callbacks don't pass the pointer to the descriptor of the
   calling protocol anymore
 - SSCOP no longer prints a number for non-'V' errors
 - improved handling of STATUS messages
 - select now indicates ready for writing if max_sdu packet can be enqueued
   without blocking
 - select can now also be used to check status of non-blocking connect
 - moved some common demon functions from sigd into a common demon library


Version 0.3 to 0.4 (27-SEP-1995)
==================

Bug fixes
---------

 - various minor documentation fixes
 - clip.c:atm_push_clip now updates statistics before forwarding the skb to
   the upper layer (which may free and overwrite the skb)

New features
------------

 - added partial UNI 3.x signaling
 - added various adapter debugging programs to the distribution
 - new config option CONFIG_ATM_ENI_DEBUG to enable extended debugging
   in eni driver

Other changes
-------------

 - upgraded to kernel version 1.3.24
 - changed the distribution directory structure (programs are now in maint/,
   test/, ip/, debug/, and sigd/, see INSTALL)
 - ATM interfaces are no longer named, only numbered. This affects the
   ATM_GETNAMES ioctl, all ioctls using struct atmif_sioc, the usage of atmdiag
   and sonetdiag, and various diagnostic kernel messages.
 - ATM socket state is now recorded in field "flags" (this also replaces the
   SVC fields "released", "registered", and "state")
 - added #ifdef __KERNEL__ to some header files
 - added "int immed" argument to send_oam
 - some minor modifications to the distribution process (mkdist)
 - removed devmap.c
 - SVC sockets no longer hang if the signaling demon dies


Version 0.2 to 0.3 (8-SEP-1995)
==================

Bug fixes
---------

 - select(2) didn't work (was sleeping on sock->wait instead of
   &ATM_SD(sock)->sleep)
 - ENI driver did allow binding to VPI/VCI already in use
 - ENI driver now properly handles PDUs with CRC errors
 - ENI driver had race condition when discarding PDUs causing new PDUs to be
   shifted in adapter memory by one word (which confused the driver quite a
   bit)
 - ENI driver now enables VC _after_ setting all pointers (caused crashes if
   data was already coming in while opening VC)
 - various bugs fixes related to SVC sockets
 - fixed GPF (in kernel) when running atmdiag without arguments
 - atmdiag now left-adjusts interface names
 - fixed ttcp.atm crash when not specifying vpi.vci
 - clip_xmit now checks for NULL vcc (e.g. after failure to connect)

New features
------------

 - zatm driver now reads ESI correctly
 - blocking svc_connect is now interruptible
 - atmdump now also displays the numeric PTI value of incoming cells
 - added RX/TX buffer quotas (default is 64 kB)
 - added OAM hooks to device driver interface (but there's no OAM support yet)

Other changes
-------------

 - ENI driver now checks ID field of reassembly buffer descriptors
 - ENI driver now uses vremap
 - ENI driver now prints more useful physical layer type information (e.g.
   "MMF" and "UTP" instead of "UTOPIA")
 - some redesign of the protocol used for signaling between kernel and demon
 - disabled "Grr, servicing VCC twice" message in ENI driver
 - device drivers now have to adapt AAL0 cell header byte order
 - some cleanup in common.c:atm_getsockopt
 - device drivers are now required to use the peek function; protocols now
   must provide it


Version 0.1 to 0.2 (15-AUG-1995)
==================

Bug fixes
---------

 - VCC family field is now correctly set to protocol family in
   common.c:atm_create (was pvc.c:pvc_create). With protocol set to zero,
   this created all types of strange problems, because the family field
   is used to indicate whether an VCC slot is busy/free.
 - fixed race condition in common.c:atm_read (reader might have blocked
   even if data is ready)
 - fixed dereferencing of uninitialized skb->dev pointer in
   clip.c:atm_push_clip
 - SIOCSIFATMTCP now refuses to attach the same socket twice
 - zatm.c: fixed setting of the VPI/VCI mask
 - USAGE said ttcp uses -B for the bandwidth, but it's -P
 - mkdist didn't include man pages

New features
------------

 - added some /proc/atm functionality
 - added support for ATM_{VPI,VCI}_ANY
 - SIOCSIFATMTCP now returns the interface number and atmtcp(8) prints it
 - wrote atmtcp man page
 - added kernel part of SVC support

Other changes
-------------

 - common.c: only root is now allowed to bind to reserved VCIs
 - Classical IP interfaces are now removed by downing by ifconfig; clip(8)
   returns immediately
 - PVC-connect for non-existing device now returns ENODEV instead of EINVAL
 - new field (type) in struct atm_dev to indicate device type
 - moved getsockopt(SO_CIRANGE) to common.c (removed atmtcp's own version)
 - added ci_range to struct atm_dev (and removed it from atmtcp's private
   structure)
 - added code to read the ESI to zatm.c (but that code doesn't seem to work
   yet)
