






              SQUISH 1.11 REVISION NOTES -- SUMMARY OF CHANGES FROM 1.10

          The  following functional changes were made in Squish 1.11.  (See
          later  in the file for a list  of changes between Squish 1.10 and
          Squish 1.01.)

          *    Squish now  comes with SQFIX32.EXE and  SQFIX32P.EXE.  These
               are  high-capacity versions  of SQFIX  which are  capable of
               handling areas containing more than 5400 messages.

               Both versions of SQFIX32 have similar system requirements to
               Squish/386  and  both require  a  386  or higher  processor.
               SQFIX32 uses the  DOS/4GW extender.   SQFIX32P  is a  native
               OS/2 2.x application.

               The  16-bit  versions  of   SQFIX  are  still  provided  for
               compatibility  with  older  systems.   However,  the  32-bit
               executables  can be used on bases of any size, so the 16-bit
               versions need not be kept if the 32-bit versions run on your
               system.

          *    Added  the "DupeLongHeader"  keyword.   If  this keyword  is
               enabled,  Squish  will  use  the entire  subject  line  when
               performing  header-based duplicate  checking.   Without this
               keyword,  Squish will check only  the first 24 characters of
               the subject field when performing duplicate checking.

          -    Squish  will   now  try  to  create  the   directory  for  a
               pass-through *.MSG area before writing the area's dupe file.

          -    With KillBlank enabled, Squish  will also selectively delete
               blank messages  that contain file  attaches, as long  as the
               destination of the message is your local system.

               Blank file attaches that are  destined to other systems will
               be left alone, as in 1.10.

          -    SQINFO is now a little more picky about Squish bases, and it
               identifies  a  few  error  types that  were  previously  not
               detected.

          -    Removed  the  "MsgAPI  Startup"  and   "MsgAPI  termination"
               messages from the OS/2 MsgAPI code.

          In  addition,  the  following  problems from  version  1.10  were
          corrected:

          x    Fixed  SQPACK's area.dat-parsing  routine so  that  it works
               with areas that use  long filenames with more than  one dot,
               such as "this.is.a.long.name.sqd".

          x    Squish  will no  longer crash  if "Duplicates  0" is  set in
               SQUISH.CFG.







          x    Squish will  now properly  process the  "DupeCheck" keyword.
               Previously,  Squish was  always using  the MSGID  and header
               algorithms, regardless of the setting in SQUISH.CFG.

          x    Fixed  a compiler  library  bug that  prevented SQ386P  from
               spawning archivers when running in a detached OS/2 session.

          x    Fixed  a problem  in the  packet routing  code that  stopped
               routed  messages to 4D  points of other  systems from having
               their headers  stomped with the correct  destination address
               and password.

          x    Removed  the  erroneous  "%  gained"  statistics  code  from
               SQPACK.

          x    Fixed  bug that  caused  Squish to  incorrectly parse  MSGID
               lines that contained double quotes.

          x    Fixed problems in HPFS filename handling with SQSETP.

          x    When Squish encounters  a netmail message which  is too long
               to pack, it will no longer skip the rest of  the messages in
               the area.

          x    Fixed  a bug in the MsgAPI that caused Squish to erroneously
               add junk  characters to  area tags when  processing messages
               that had a zero-length control field.

          x    Fixed  the erroneous  "message too  large to  pack" message.
               This  bug  was sometimes  encountered  when  trying to  pack
               Squish-format messages  (which had  been converted  from the
               *.MSG-format into Squish format  using SQCONV for DOS) which
               contained only kludge  lines and did not have  a terminating
               NUL at the end of the original *.MSG message.

          x    Fixed a problem that caused an infinite loop when processing
               "Send NoArc Normal World" in ROUTE.CFG.

          x    Squish will now gracefully  skip linking an area if  it does
               not  have enough  memory  to  read  in  all  of  the  area's
               messages.

          x    If Squish cannot write a message to a given message area for
               whatever reason, it will now  roll back the area's duplicate
               file to ensure  that the message can be  later tossed to the
               area after the damage is corrected.

          x    Fixed a  bug in  the MsgAPI  code that  accidentally allowed
               Squish  to access a Squish  base that was  locked by another
               process.   This fix should correct  some problems that occur
               when using Maximus and Squish concurrently.

          x    Fixed  the file-request processing logic to prevent improper
               treatment of "!" characters at the beginning  of a requested







               filename.

          x    Fixed a  problem that  prevented Squish  from writing  to an
               area if the max_msgs field for that base was set to 1.

          x    If  Squish receives  an insecure  ACUPDATE message,  it will
               place  one message  in  the log  file  (only) and  skip  all
               following invalid ACUPDATE  mesasges, instead of complaining
               very verbosely and renaming the entire packet to .BAD.







              SQUISH 1.10 REVISION NOTES -- SUMMARY OF CHANGES FROM 1.01

          *    Squish now comes in 16-bit and 32-bit versions, for both DOS
               and OS/2.   The 32-bit versions  of Squish are  particularly
               useful  for systems  which carry  large numbers  of EchoMail
               areas and have many downlinks.

               See  the following  sections of  the documentation  for more
               information:

                    INSTALLATION:  16-bit or 32-bit?  SQ386 and SQ386P
                    SQ386 USAGE NOTES

               The 32-bit DOS version uses the DOS/4GW extender (included).

               The 32-bit OS/2 version is a native OS/2 2.x application.

          *    The  OS/2 version  of  Squish  comes  with  a  new  copy  of
               MSGAPI.DLL.   A 32-bit  version called MSGAPI32.DLL  is also
               provided.

          *    The  Squish file access code was rewritten, and as a result,
               message base access  should be  much faster.   The new  code
               should  be 100% compatible with older versions of Squish, so
               older programs should  be able  to read and  write the  same
               Squish areas.

               In addition, the restriction of 5,200 messages per area  has
               been lifted.  Squish  areas can now be of  any size, limited
               only by  available memory.  (As long as the .SQI file can be
               read  into  real or  virtual memory,  Squish can  handle the
               area.)

               These  changes   were  also  propagated  to  MSGAPI.DLL  and
               MSGAPI32.DLL, so any OS/2 programs which use the .DLL should
               be able to handle the larger Squish bases.

          *    The  OS/2  version  of   Squish  now  includes  "installable
               feature" functionality.  This allows  third-party developers
               to  write  .DLL  modules  that  get called  when  Squish  is
               executing.

               These feature  hooks allow  third-party code to  be executed
               every time Squish tosses, scans or packs a message.

               Possible  applications  include message  filtering, nodelist
               checking  and  message bouncing,  and many  other additions.
               Interested developers  should see the Squish Developer's Kit
               for more information.

          *    The new "NoStomp" keyword instructs Squish to not stamp over
               the packet header with  the interim destination address when
               performing routing.







          *    Squish  can now  perform update  requests from  the command-
               line, using the "SQUISH UPDATE" command.

          *    The  "Buffers"  keyword now  allows each  of the  three main
               buffers to be adjusted individually.  The 16-bit versions of
               Squish now support messages up to 63K in size, while the 32-
               bit versions support messages up to 256K.

          *    Added the "KillIntransitFile" keyword.

          *    Added a  "MaxArchive" keyword to control the maximum size of
               archives created by Squish.

          *    Squish now  supports multipass operation when  4D points are
               being  used, as long  as no *.MSG  areas are used.   (To use
               *.MSG areas  with 4D  points, single-pass operation  must be
               used.)

          *    The maximum line  length in AREAS.BBS  has been expanded  to
               1024 bytes.

          *    Squish now supports schedules which run through midnight.

          *    Exceptions can now be specified for the TinySeenbys keyword.

          *    Squish now supports an "Include" keyword in SQUISH.CFG.

          *    The -n command-line  parameter can now  be used to  override
               the LogFile keyword.

          *    The NetFile keyword can  now include a "NoEcho"  modifier to
               prohibit Squish from tossing  EchoMail from the directory in
               question.     Note  that  this  option  cannot  be  used  in
               conjunction with BatchUnarc.

          *    If  a packet  contains a  message which  is too  long  to be
               tossed, Squish will  rename the packet  to .LNG (instead  of
               .BAD) after all  of the  other messages in  the packet  have
               been tossed.

          *    The  StripAttributes  keyword  can  now  be  used  to  strip
               attributes on a node-by-node basis.

          *    The new "-u" command-line  switch can now be used  to toggle
               TossBadMsgs mode.

          *    The new "LinkMsgid" keyword instructs Squish to link message
               bases using MSGID and REPLY kludges, instead of the standard
               subject-based linking.

          *    The  new "DupeCheck" keyword can be used to enable either or
               both of header-based and MSGID-based dupe checking.

          *    Squish  now  supports  broadcast  message  modification  and







               deletion, configurable on an area-by-area basis.

          *    SQFIX will now attempt to  save the user's lastread pointers
               file when fixing an area.

          *    Squish will  now decompress  archives in order  of ascending
               date, rather  than simply searching for  the file extension.
               This  is in addition to the date sorting that was previously
               performed on packets alone.

          *    The  BusyFlags  keyword  now supports  InterMail-style  busy
               flags when running in ArcmailAttach mode.

          *    Squish now  ensures that area definitions  are consistent if
               an  area is  duplicated  in both  SQUISH.CFG and  AREAS.BBS.
               (This means that the DupeArea should be placed in SQUISH.CFG
               only, not in AREAS.BBS.)


                                         ###
