Solar/HISTORY.TXT
Solar has been released into the public domain.

0.95.3
------
o     Fixes to Rgetc() function from Kevin Sartorelli. Rgetc() was not
      responding correctly to carrier drops. Code added to exit cleanly
      on carrier drop. Some 'char' data types changed to 'int' to be able
      to accept a -1 as an error.
o     Contributed Maximus configuration added to distribution. Contributed
      by Kevin Sartorelli.
o     Parameter added to config file to make disk swapping optional by
      individual program.
o     Re-write of core logic in slrreply's extract.c and reply.c code
      modules. Error checking was not cohesive, also appear to have
      fixed problem of writing bogus data out to message files.
o     Beginning stabs are more complete documentation. We're not there
      yet ;-)

0.95.2
------
o     Added optional SOLAR95 environment variable in replacement
      for SOLAR environment variable. SOLAR95 is checked first.
o     Fix: Misplaced strcpy() in all config.c modules caused the
      SOLAR95 environment variable to be very flaky. Fixed statement.
o     Fix: Some source used atol() from <limits.h>, which turns out
      to return incorrect values. Changed to use function from the
      <stdlib.h> header file. This fixes slrnews.exe batching problem
      with high article numbers, and some undiscovered bugs in other
      programs.
o     Updated all config.h modules to respect 'solar95:' variable
      in Waffle's static file, and give it priority over 'solar:'
      if found. This is consistant with treatment of SOLAR95 and
      SOLAR environment variables.
o     Added config file option 'menupath' to allow admin selection
      of an alternate menu file.
o     Added config file option 'extern-root' to allow admin selection
      of an alternate starting extern file name for Solar.
o     Fix: A bogus log entry was being written to filename NONE in
      current directory if solar.exe was invoked with incorrect usage.
      Also tightened usage checking so invalid parameters are not
      accepted.

0.95.1
------
o   Major re-write from ground up, not all changes documented.
o   Moved global definitions from .c source files to external .h include
    files in all program source code.
o   slrcmd.exe :
    - Added binary types for news (B) and mail (b) to config load
      validation as valid types.
o   slrmail.exe :
    - Mail file update via -n switch fixed to unlink files from user's home
      directory rather than current directory.
    - Log file write on completion now reports correct mail type.
o   slrnews.exe :
    - 'Group not found... removing' condition inaccurately being reported
      when group existed, but path on spool did not exist.
    - Fixed to report 'Group not active... skipping'. This was a bug in
      reading result codes from set_default_path().
    - 'No messages found' condition inaccurately being reported when group
      did not exist in forum files. Fixed to report 'Group not found...
      removing'. This was a bug in reading result codes from
      set_default_path().
o   slrreply.exe :
    - Changed to add \0 rather than \n to end of binary data read from a
      binary message. This fixed data overrun in the processed message
      body. Still questionable.
    - Fix: Memory leak in extract() function due to dynamic data structures
      not being properly deallocated.
o   solar.exe :
    - Fix: The SUbscribe command now correctly processes subscribed
      and unsubscribed groups. This was a bug in reading result codes
      from set_default_path().
    - Modified logging output to accurately label compressed packet
      size as 'compressed x bytes' rather than 'batched x bytes'.
    - Modified compression routine to not execute the compression
      program on an emtpy work directory, rather report nothing to do.

-- Pre 0.95.x releases use old program architecture and only support
-- SOUP V1.1 packet standard.

0.94.3
------
o   Maintainence release. Modifications submitted by Brian Smith
    <bsmith@bssbbs.com> and Kevin Burfitt <zaph@torps.apana.org.au>.
    Changed solar.exe to actually read forum file /dir parameters.
    The read will test for '\', '/', or ':', if none found it will
    assume the path is relative to the /dir in the DEFAULT or FORUM
    line. If present, it will assume the path is fully-qualified to
    enable certain newsgroups to be on different disks. These mods
    were tested by the submitters (we hope ;).
o   Fix for batching problem in 0.94.2 and some early 0.94.3 releases.
    It was broken because an atoi didn't get changed to an ltoi when
    msg_index was changed from an int to a long. :-/

0.94.2
------
o   Maintainance release, including changes submitted by Pasi Eronen
    <pasi@forum.nullnet.fi>. Changes affect only slrreply.exe.
o   From_ line syntax changed to "From <user> <date>" for reply mail
    messages. Removed writing of Received-headers (Solar is not a mail
    delivery agent).
o   Added write to Waffle's mail log file.
o   Fixed static file parsing of timezone value to read the second
    field, as specified by the format in Waffle's documentation (CST +6
    CDT) for that variable. Previous release was writing timezone
    verbose and breaking RFC 822.

0.94
----
o   Maintainance release to fix printf() problems. All printf() function
    calls changed to fprintf().
o   Incorporation of rfctime.c in slrreply.exe, supplied by Lars
    Lindgren <lasse@argh.dude.pp.se>. Allows use of Waffle's timezone
    setting in static to enable GMT offset timezones.

0.93b
-----
o   Modified Solar's LIST file format to accomodate off-line subscription
    file management. See HDPF-MOD.DOC for details.
o   Added support in slrreply.exe for moderated newsgroups. Cross-posting
    to moderated groups is discouraged. slrreply recognizes only the
    first newsgroup in a Newsgroup: header for purposes of moderated
    newsgroups at this time.
o   Asthetic change in LIST file creation display to screen. Shows
    progress now.

0.92b
-----
o   Fixed bug in solar.exe local reply packet copy routine.
o   Added solar.exe exit status LOCALREPLY so slrxfer can know
    the difference between local reply and remote reply processing.
o   Added Waffle 1.64 mail format support to solar.exe.

0.91b
-----
o   Fixed problem with using Waffle's JOIN file as the subscription
    file. Under certain circumstances, Solar was ignoring that option
    and using NEWSRC.HPG anyway.
o   Added control-break handler to solar.exe so batching can be aborted.

0.9b
----
o   First beta release.
o   Tweaked aborted transfer recovery in slrxfer.exe
o   Modified log information for all programs.
o   Added code to add/remove groups from subscription file to solar.exe.
    Tweaked JOIN<->NEWSRC.HPG conversion routines. Solar no longer exits
    on error if a user tries to batch a packet without a subscription
    file. Rather, it allows one to be created on the fly.
o   Compiled slrxfer.exe under small memory model to reduce size of
    executable binary file.

0.84
----
o   Changed format of user and Solar config files to store
    HDPF and boolean values as strings rather than numbers.
    Conversions are now done internally by Solar.
o   Fixed solar.exe so that all files is solarwork really are deleted
    after the compressed packet is created. Some were being missed.
o   Revised format of parameters in OPTION.HPG and Solar's configuration
    file. Boolean values are now YES or NO rather than 0 and 1, and the
    Helldiver Packet Format message and header types are now letters
    corresponding to the packet format specifications. The old format
    of OPTION.HPG and the configuration files, using the numbers, should
    still work, although an obsolete warning will appear.
o   Put code into solar.exe to optionally build a compliant LIST file
    for inclusion in the packet.

0.83
----
o   Configuration file 'describe=' parameter was left out of 0.82
    documentation. Arg. It's in SOLAR.DOC now.
o   Changed compression algorithm in solar.exe. It now does a chdir into
    the temporary directory before compressing a packet. The INFO file
    is copied from the Solar directory to the temp directory before
    compression, if needed. Also, the individual packet files are
    deleted by solar.exe if the compression program does not remove
    them. These changes were made because Info-ZIP's ZIP likes to store
    paths in the .zip archive, and likes to remove directories when the
    -m option is used. Now, -m is not really needed at all.
o   In local mode, an existing packet is deleted from the user directory
    before compression, to avoid a packet from being updated rather than
    created.
o   slrreply.exe now writes the timezone in hours difference from GMT.
o   fixed newsrc.hpg file processing for cases where message area is
    commented out with a leading '!' character. newsrc.tmp was being
    written in an invalid format previously.
o   local mode reply packet processing through solar.exe now performs a
    copy rather than a rename to solarwork for packet names entered
    interactively. This is so packets on other disks can be processed,
    and so the packet is not lost when renamed and processed. In fact,
    all cases where files are copied now should work across disks.
o   Tightened up the lost+found processing for lost packets and messages.
o   Changed error handling when a message file is being parsed to save
    to lost+found and proceed with the next message rather than aborting.
o   Added interactive filename specification to slrreply.exe for processing
    local reply packets. This works if the force mode '/f' flag is used and
    no packet is found in the solarwork directory.
o   slrreply.exe used to look for the first file in solarwork and assume
    it was the reply packet. Modified so that STATUS.TMP doesn't count. This
    was added for cases where solar.exe was used from the command line
    prior to running slrreply from the command line.
o   packet recovery in slrxfer.exe when a send packet operation was
    deemed unsuccessful wasn't working right. it was basically an ugly
    endless loop of writing the same character over and over again that
    would've filled up a disk. that's been fixed.

0.82
----
o   first alpha release, probably a buggy sunofagun.


