This document describes changes in the modules of the AmigaNCP package.

=====================================================================


AmigaNCP-FileServer 1.6
-----------------------
- reversed "HideIcons" to be "ShowIcons", hiding .info and .backdrop
  being the new default setting.  

AmigaNCP-FileServer 1.7
-----------------------
- fixed to a misunderstanding on RF_OPEN with P_FCREATE / P_FREPLACE:
  The path of the file wasn't created if it didn't exists. This caused
  problems with Backup option of the S3a which relies on this behavior
  and doesn't makedir() it's file's path.

AmigaNCP-FileServer 1.8
-----------------------
- changed to use "amigancp.library"
- fixed a bug in write handling where the last two bytes of a full
  sized packet got trashed. Since internal data structures got
  overwritten, this may have caused undefined behaviour or even
  total system crashes.
- now correctly converts filenames from IBM to ISO charset.
- RF_SFSTAT (setting the file flags) didn't convert the name and
  therefore always failed with E_FILE_NXIST. This is the cause of
  error of the "File doesn't exists" requester after copying a file
  from the S3's system screen.

AmigaNCP-FileServer 1.9
-----------------------
- the finfo call now correctly converts the filename to ibm charset.

AmigaNCP-FileServer 1.10
------------------------
- updated to use amigancp.library 3.x
- now calls the pool functions embedded in amigancp.library to
  avoid hassle on 2.x systems.

AmigaNCP-FileServer 1.11
------------------------
- fixed a bug in workbench startup: the original lock
  wasn't restored after CDing to wa->wa_Lock
- updated to use amigancp.library 4.x
- major speedup in all charset conversion operations due to new
  table conversion functions.
- fixed stupid bug: Used Read()/Write() instead of FRead()/FWrite(),
  thus rendering buffering completely useless if not used in
  conversation mode.
- updated catalog file to version 2.0.
- now checks CTRL^C after ReadArgs() to allow early quit.

AmigaNCP-FileServer 1.12
------------------------
- recompiled using SAS/C 6.55
- cleaned up memory usage; avoid wasting due to mismatched pool
  size rounding and fixed a pool erraneously allocated with a
  puddle size of 4, thus creating a new puddle for every
  allocation.

AmigaNCP-FileServer 1.14
------------------------
- recompiled using SAS/C 6.55
- fixed some text
- insists on using V5 of "amigancp.library"

AmigaNCP-FileServer 1.15
------------------------
- insists on using V6 of "amigancp.library"
- several small cleanups and fixes

AmigaNCP-FileServer 1.16
------------------------
- recompiled with SAS/C 6.57 for potential compiler code introduced
  bugs.

==========================================================================


AmigaNCP-FileSystem 1.5
-----------------------
- fixed a bug in the file name conversion where the extension was cutted
  at the first dot, not at the last. Both will fail, but this way
  you are protected against side effects like "delete Agenda.Agn.info"
  deleting "Agenda.agn" instead of simple failure.
- fixed a bug in ACTION_DELETE where invalid file names (e.g. containing
  multiple extensions) to confusingly cause ERROR_DIRECTORY_NOT_EMPTY.
  Now returns ERROR_OBJECT_NOT_FOUND.

AmigaNCP-FileSystem 1.6
-----------------------
- changed to use "amigancp.library"
- locks now contain a non-zero value in fl_Key. This should fix several
  problems with programs making tricky assumptions about the internal
  lock structure. <sigh>
- now correctly translates non-ascii characters in filenames from
  ISO to IBM charset.
- now attempts to recreate the NCP channel if the remote NCP
  changed (e.g. was killed and started again).
- fixed a race condition when Examine()ing the root dir: the
  filename was actually filled in after the packet was replied.
- fixed a bug which caused random memory trashing if the first
  entry in a directory scan was volume file.
- returned TRUE instead of DOSTRUE thoroughly.
- Examine()/ExNext() now returns the same value in
  fib_DirEntryType and the (undocumented) fib_EntryType,
  as the standard file system does. Should fix several buggy
  directory utilities ;-)
- ACTION_DELETE always returned ERROR_DIRECTORY_NOT_EMPTY on
  an error no matter what really happened.
- now returns ERROR_DEVICE_NOT_MOUNTED if the NCP link fails
  for some reason.
- ACTION_EXAMINE on the root directory now correctly
  returns the volume name.
- Locking "/" (or any combined form) didn't get higher than the
  pseudo subdirectories in NCP:.

AmigaNCP-FileSystem 1.7
-----------------------
- ACTION_EXAMINE/ACTION_EXNEXT now correctly convert the
  filename charset from IBM to ISO.

AmigaNCP-FileSystem 1.8
-----------------------
- updated to use amigancp.library 3.x
- now calls the pool functions embedded in amigancp.library to
  avoid hassle on 2.x systems.

AmigaNCP-FileSystem 1.9
-----------------------
- fixed a bug in initdirlist() which could cause misaligned word
  access if the P_FINFOs returned by the Psion weren't word aligned.
  Caused a 80000003 guru on 68000 machines.

AmigaNCP-FileSystem 1.10
------------------------
- fixed a bug in ACTION_WRITE: remote errors (e.g. Disk Full)
  weren't correctly reported to the caller, instead the write
  simply aborted.

AmigaNCP-FileSystem 2.0
-----------------------
- now stores icon files in a special AmigaDOS directory hierarchy
  to allow snapshoting and permanent option setting. The icon path
  defaults to PROGDIR:Icons, but can be specified by the ICONDIR
  tooltype or shell argument. Release versions are shipped with
  a default icon tree.
- corrected inefficent pool size for the ACTION_EXNEXT cache.
- the "Missing Server" requester now has an additional option "Run Server
  and Retry".
- on CTRL^C now reports number of open locks/files if quit is currently
  not possible.
- on CTRL^F now dumps a debug list of locks in use.
- now fakes fib_NumBlocks on Examine() to enforce compatibility
  with even more buggy directory utilities.
- did some internal code cleanup.
- updated to use amigancp.library 4.x
- fixed a bug in workbench startup: the original lock
  wasn't restored after CDing to wa->wa_Lock (yes, this was
  exactly the same bug as in the FileServer ;-)
- major speedup in all charset conversion operations due to new
  table conversion functions.
- updated catalog file to version 2.0.
- now checks CTRL^C after ReadArgs() to allow early quit.

AmigaNCP-FileSystem 2.1
-----------------------
- recompiled using SAS/C 6.55
- ACTION_SETPROTECT & ACTION_SETDATE on one of the fake device
  subdirectories return ERROR_INVALID_OBJECT_NAME which was
  correctly generated by the Psion file server. Now since this
  caused problems with several backup utilities, these operations
  are now implemented as NO-OPs and silently report "OK".
- fixed ACTION_COPY_DIR(NULL) to return NULL instead of causing
  several enforcer hits and undefined behavior.
- now returns approximated memory usage on CTRL^F debug dump.
- reduced lock and fib pool sizes to reduce overall memory usage
  overhead.

[AmigaNCP-FileSystem 2.2 - 2.4 internal only]

AmigaNCP-FileSystem 2.5
-----------------------
- insists on using V6 of "amigancp.library"
- several small cleanups and fixes

AmigaNCP-FileSystem 2.6
-----------------------
- recompiled with SAS/C 6.57 for potential compiler code introduced
  bugs.


==========================================================================


ncp.lib 1.1
-----------
- modified constructor to open "amigancp.library"
- fixed error requester to correctly show up the tasks name on
  workbench startup.

ncp.lib 1.2
-----------
- updated to open V3 of "amigancp.library"

ncp.lib 1.3
-----------
- updated to open V4 of "amigancp.library"

ncp.lib 1.4
-----------
- updated to open V5 of "amigancp.library"

ncp.lib 1.5
-----------
- updated to open V6 of "amigancp.library"


==========================================================================


AmigaNCP-Monitor 1.3
--------------------
- relinked with ncp.lib 1.1 to use "amigancp.library"

AmigaNCP-Monitor 1.4
--------------------
- relinked with ncp.lib 1.3 to use V4 of "amigancp.library"

AmigaNCP-Monitor 1.5
--------------------
- recompiled using SAS/C 6.55

AmigaNCP-Monitor 1.6
--------------------
- recompiled to use V6 of "amigancp.library"


==========================================================================


amigancp.library 2.0 (formerly called "ncp.library")
----------------------------------------------------
- "ncp.library" is now named "amigancp.library" in order to avoid problems
  with Oxxi's Novell Client software, which uses a similary named
  library.
- fixed several internal problems with reconnecting after the remote
  side powered off without killing the actual NCP connection. This
  always happened when the S3/S3a auto-powered off. Should now
  correctly handle all cases of reconnection including such
  nice operations as removing the link cable, turning off the
  S3 link, reconnecting the cable and then turning back on
  the link process.
- usage of the SERF_7WIRE protocol prevented llmac to "ping"
  the S3 back into life after a power-off because DSR was low.
  Now, if DSR is low, correctly closes the device, reopens it
  without SERF_7WIRE to ping the S3 and then continues
  normal operation.
- partial packets weren't properly discarded after a
  reconnection.
- LLMAC didn't check data block sequence numbers. Now
  data blocks which are not in sequence are silently
  thrown away.

amigancp.library 3.0
--------------------
- embedded the AsmXXPool-functions from amiga.lib to secure
  operation with AmigaOS 2.x systems.

amigancp.library 3.1
--------------------
- recompiled to use utility.library for 32 bit math.

amigancp.library 3.2
--------------------
- fixed a possibly hangup in internal channel flushing during
  reconnection.

amigancp.library 4.0
--------------------
- added functions to directly return pointers to internal
  conversion tables for more efficient charset conversions.
- fixed possibly crash on reconnection during connection
  request.

amigancp.library 4.1
--------------------
- recompiled using SAS/C 6.55.
- changed to directly drop the NCP connection if the last user
  closes it's channel.

amigancp.library 5.0
--------------------
- fixed system lockup with certain llmac race conditions.
- recompiled using SAS/C 6.56.
- uses fixed pools.lib to avoid memory loss with 2.x systems.

amigancp.library 6.0
--------------------
- fixed the character conversion tables to properly
  reflect IBM850->ISO-8859-1 conversion
- fixed a potential problem in NCP_WaitRead()/NCP_WaitWrite()
- recompiled with SAS/C 6.57 for potential compiler code introduced
  bugs.


==========================================================================


Install-AmigaNCP 0.4
--------------------
- changed all references to "ncp.library" to "amigancp.library"

Install-AmigaNCP 0.5
--------------------
- fixed to avoid the well known COPYLIB "newname"
  problem with older Installer versions.

Install-AmigaNCP 0.6
--------------------
- updated to copy "Submissions" drawer

Install-AmigaNCP 1.0
--------------------
- updated for 1.8 release

Install-AmigaNCP 1.1
--------------------
- updated for 1.9 release
- now checks SetPatch version


==========================================================================


S3PrintServer 1.1
-----------------
- fixed parsing of NCP.config

S3PrintServer 1.2
-----------------
- recompiled using SAS/C 6.55.
- now pops up to Retry/Cancel requester on printer.device errors
- quits on CTRL^C
