Release 2.1.5: (a.k.a. The "Anagram Year" Release)
By John A. Magliacane <kd2bd@amsat.org> (03-Jan-2002):

* -n command-line switch was added by Xavier Crehueras, EB3CZS,
  to permit an alternate network port to be specified when
  running PREDICT in server mode.  This flexibility permits
  multiple instances of PREDICT to run in server mode on a
  single host without interaction.  Each instance of PREDICT
  can then operate from a different orbital database, and
  supply the tracking data generated to different clients.

* -p command-line switch was added to permit a set of orbital
  predictions for a single pass to be generated by PREDICT and
  obtained solely through the command line.  The output may be
  directed to a file if a name is specified through the -o switch.

* The output of the -f command-line was modified to be consistant
  with that of the the newly added -p switch.  Options to the -f
  switch were enhanced to permit a list of satellite positions to
  be generated in resolutions of one every second or one every
  minute.

* The GET_SAT_POS socket command now provides date/time information
  in both ASCII and Unix Time, as well as range, orbit number, and
  sunlight visibility information in addition to azimuth, elevation,
  and sub-satellite point latitude and longitude (which are now
  ints instead of floats).

* A new socket command called PREDICT was added to provide orbital
  prediction information through the socket interface.

* Due to a warning given by gcc version 2.95.3, the use
  of tmpnam() was replaced by mkstemp() in predict.c.

* Modified the "kepupdate" script to download Keplerian element data
  from celestrak.com using the wget command and the http protocol
  since celestrak.com no longer provides Keplerians via anonymous ftp.

* The xpredict script was modified to include more virtual terminal
  selections.

* A version 0.9.0 of "gsat" by Xavier Crehueras, EB3CZS, is included.
  Several new features, including automatic Doppler correction via
  plugins, is included.  Details for writing and customizing plugins
  is provided.

* Added a new "-x" command line option to "earthtrack" to allow passing
  extra parameters directly to xearth and xplanet (contributed by Tom
  Busch, WB8WOR).

* The documentation was updated, and several other small coding
  changes were made.

----------------------------------------------------------------------------

Release 2.1.4:
by John A. Magliacane <kd2bd@amsat.org> (28-Jun-2001):

* Fixed an array overflow problem in the Solar Illumination
  Prediction mode.

* Pressing [R] in either the Single or Multi-Tracking mode forces
  PREDICT to re-read the orbital database.  This can be useful if
  the database is updated manually or by means other than through
  PREDICT's update options while PREDICT is still running, and
  eliminates the need to re-start the program under such conditions. 

* Real-time tracking is no longer attempted for satellites that
  appear to have decayed from orbit.

* Several new options were added to the -f command-line switch.  If no
  starting or ending date/time is specified, a single line of output
  corresponding to the current date/time is produced.  If the starting
  date/time is replaced by a number (n) preceded by a '+' symbol (ie.
  +10), output is produced starting at the current date/time, and
  ending at the current date/time plus 'n' seconds.

* Multiple Keplerian element data files may now be used as arguments
  for the -u command-line switch. (predict -u file1 file2 file3)

* Several network client applications were added or otherwise revised.
  "earthtrack" was modified to work not only with xearth, but with
  xplanet as well.  When used with xplanet, earthtrack provides
  photo-realistic views of the earth from the perspective of the
  spacecraft being tracked by PREDICT.  Very nice!  An updated version
  of gsat (version 0.8.0) is also included, as well as a small utility
  to force a reload of PREDICT's orbital database through the UDP
  interface.

* The configuration and compilation process has been modified slightly
  to reduce confusion during installation.  Please check the README file
  for instructions!

* An updated Linux Software Map entry was issued, and the new version
  of PREDICT was uploaded to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.1.4.tar.gz
  and
	ftp://ftp.metalab.unc.edu/pub/linux/apps/ham/predict-2.1.4.tar.gz

----------------------------------------------------------------------------

Release 2.1.3: (a.k.a. "The New Millenium Edition")
by John A. Magliacane <kd2bd@amsat.org> (06-Jan-2001):

* Fixed several small math errors.  One goes back to some very old
  (and widely used) satellite tracking code!  Thanks to Jordi Mas
  for pointing them out and providing corrections.  Thanks also to
  Andreas Trotschel for pointing out an error in the size of the
  global output[] array.

* Portions of the MultiTrack() and SingleTrack() functions were
  re-coded for greater simplicity and to permit some new socket
  features to be added.

* Added many new socket commands:

	RELOAD_TLE:  forces a running version of PREDICT to
		     re-read its orbital database on the fly.

	GET_SUN:     returns the current azimuth and elevation
		     headings of the Sun.

	GET_MOON:    returns the current azimuth and elevation
		     headings of the Moon.

	GET_QTH:     returns the ground station's callsign, latitude,
		     longitude, and altitude above sea level.

	GET_VERSION: returns PREDICT's version number.

	GET_TLE:     returns Keplerian orbital data for a satellite
	             based on its name or object number.

	GET_TIME:    returns the current UTC date/time as reported by the
		     server in the form of the number of seconds since
		     00:00:00 UTC on January 1, 1970 (Unix Time).

	GET_TIME$:   returns the current UTC date/time as reported by
		     the server in the form of Fri Dec 22 22:37:05 2000.

	GET_SAT_POS: returns the latitude, longitude, azimuth and elevation
		     headings for a satellite at the time (or starting and
		     ending times) specified.

  The GET_SAT command now returns the current slant-range to the satellite
  (in kilometers), the satellite's altitude, orbital velocity, current orbit
  number, and sunlight visibility information in addition to the tracking
  data previously provided.  The "Next AOS" parameter previously returned
  has been changed to "Next Event Time", which corresponds to the Next AOS
  time if the satellite is not in range, or the LOS Time for satellites
  that are in range.  Geostationary satellites, or satellites in orbits
  that do not permit passes above the ground station return a 0 for
  "Next Event Time".

  The GET_LIST command now returns ALL the satellite names in PREDICT's
  orbital database as a single string, and must be parsed by the client
  to pull out individual names.  Earlier versions of PREDICT returned
  only one name at a time when the GET_LIST command was invoked.  In
  addition, satellite names returned by GET_LIST are now full-length
  strings, and are no longer abbreviated by the program in any way.

* The GET_DOPPLER command no longer echos back the name of the
  satellite for which the Doppler information was requested.

* The socket documentation and "demo.c" program were significantly
  updated.

* "demo.pl" written in Perl by Rich Parry, W9IF, is included to act
  as a template for those interested in writing client applications
  in Perl.

* The main program documentation was re-organized around a common
  document written in groff, thereby providing a system man page
  as well as postscript, PDF, and ASCII documents having identical
  content.  The HTML documentation was eliminated.

* Added a new command-line option: -a  When followed by a serial port
  device (eg: predict -a /dev/ttyS0), PREDICT sends real-time tracking
  data to the serial port specified in the form of: "AZ241.0 EL26.0\r\n"
  when in the single satellite tracking mode.  Updates are sent
  as the values for azimuth and elevation change over time.  This
  feature is used to permit PREDICT to control an antenna rotator
  through an interface developed by Vicenzo Mezzalira, IW3FOL
  <mezzalira@pd.astro.it>.  Thanks to Vittorio Benvenuti, I3VFJ
  for contributing this code to PREDICT.

* Added a new command-line option: -f  When followed by a satellite
  name or object number, a date/time (in Unix Time), or a starting
  and ending date/time, the corresponding latitude, longitude, azimuth,
  and elevation headings of the satellite are returned by the program.
  This permits PREDICT to be invoked within other applications that
  need to determine the location of a satellite at a particular point
  in time, such as the location of where a CCD camera image was taken
  by a Pacsat satellite based on its timestamp. 

* Added a new line to the xpredict script to allow it to run under
  newer Linux distributions.  Users need to select (uncomment) one
  of the lines in the script depending on their termcap settings.

* Included the source code for the xforms-based graphical real-time
  satellite tracking display program "map" by Ivan Galysh, KD4HBO
  under clients/map.

* Included the source code for the GTK-based graphical real-time
  satellite tracking display program "gsat" by Xavier Crehueras,
  EB3CZS under clients/gsat.

* Included the source code for "earthtrack", a utility that permits the
  real-time display of satellite locations using the "xearth" program.
  It is located under clients/earthtrack.
 
* An updated Linux Software Map entry was issued, and the new version
  of PREDICT was uploaded to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.1.3.tar.gz
  and
	ftp://ftp.metalab.unc.edu/pub/linux/apps/ham/predict-2.1.3.tar.gz

----------------------------------------------------------------------------

Release 2.1.2:
by John A. Magliacane <kd2bd@amsat.org> (17-Jun-2000):

* Several small bugs in the KepCheck() and SaveTLE() functions of predict.c
  were identified and repaired.  The problems centered on the fact that
  unsigned chars were used to accumulate TLE checksums.  Occasionally,
  the checksums exceeded the capacity of an unsigned char, and rolled
  over through zero as a result.  These variables were changed to
  unsigned integers.

* A small problem in the AutoUpdate() function in predict.c was identified
  and fixed.  Occasionally, Keplerian data for a satellite would not
  update if it had the same reference epoch as that in PREDICT's
  orbital database.  This problem was the result of extremely small
  rounding errors introduced by the complier that caused intermittent
  logic errors when trying to compare two double precision floats for
  equality.  This problem was solved by changing these variables from
  doubles to floats.

* The array "filename" in the function sayfile() in vocalizer.c was
  increased in size from 40 to 80 bytes.  Before the change, this array
  could overflow, causing a halt in the vocalizer routine on some machines
  before the proper end of the articulated message.

* A #define was added to the geosat.c program to declare a value of PI
  for those compilers/platforms that require it being defined.

* The -T option in the xpredict script was changed to -title.

* An updated Linux Software Map entry was issued, and the new version
  of PREDICT was uploaded to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.1.2.tar.gz
  and
	ftp://ftp.metalab.unc.edu/pub/linux/apps/ham/predict-2.1.2.tar.gz

----------------------------------------------------------------------------

Release 2.1.1:
by John A. Magliacane <kd2bd@amsat.org> (03-Apr-2000):

* A few bugs in the "installer" program were fixed.

* The Keplerian "torture test" in predict.c was a bit too brutal for
  some element sets.  The check for a '-' on position 59 of TLE line 1
  was eliminated since some element sets have a '+' in that position.

* An updated Linux Software Map entry was issued, and the new version
  of PREDICT was uploaded to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.1.1.tar.gz
  and
	ftp://ftp.metalab.unc.edu/pub/linux/apps/ham/predict-2.1.1.tar.gz

----------------------------------------------------------------------------

Release 2.1.0:
by John A. Magliacane <kd2bd@amsat.org> (01-Apr-2000):

* A solar illumination feature was added to predict the percentage
  of time a satellite spends in sunlight per day.

* Orbital predictions for satellites that appear to have decayed
  since the last Keplerian orbital update are no longer attempted
  by the program.

* Date and time used to start orbital predictions may now be
  abbreviated to Day/Month/Year only (00:00:00 is assumed).

* System clock/calendar is now read to millisecond precision,
  permitting more "lively" real-time tracking mode displays. 

* "vocalizer" code was changed to use a slightly different (better)
  approach towards initializing and sending data to the system
  soundcard.

* Socket-based server code was contributed by Ivan Galysh, KD4HBO.
  It allows PREDICT to export real-time tracking data for all 24
  satellites to external client programs, such as automatic antenna
  rotator controllers, graphical map display programs, or TX/RX
  tuning controllers.  The server features are activated by invoking
  PREDICT with a -s switch.  Communication between server and clients
  is by way of the UDP protocol.  Real-time data is exported by PREDICT
  in both the single satellite and multi-satellite tracking modes.
  
* The command-line parsing code was modified to prevent segmentation
  faults from occurring if command-line options are incorrectly issued.

* Some minor coding changes were made.

* An updated Linux Software Map entry was issued, and the new version
  of PREDICT was uploaded to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.1.0.tar.gz
  and
	ftp://ftp.metalab.unc.edu/pub/linux/apps/ham/predict-2.1.0.tar.gz
	
----------------------------------------------------------------------------

Release 2.0.1:
by John A. Magliacane <kd2bd@amsat.org> (02-Jan-2000):

* Added this file.  :-)

* Replaced the printw() calls with addstr() calls in the Print() function.
  This may end the segmentation faults previously encountered when using
  ncurses versions earlier than 4.2.

* Increased the capacity for supporting callsigns longer than 5 characters,
  even though I thought I had designed the program to handle 6!  Through
  a series of "well-planned errors", callsigns longer than 5 characters
  caused all other QTH data entered through main menu option [G] to be
  set to zero.  Also modified the ReadDataFiles() function to chop off
  the <LF> character appended to the callsign.

* Drastically changed the installation program.  Instead of having the
  installation program modify the source code for predict and vocalizer
  depending on the system hardware and installation directory chosen by
  the user, the installation program now writes all necessary information
  to a pair of .h files that are #included in the source code for both
  programs.  (Why I didn't think of it earlier, I'll never know...)

* Ported source code (with all the 2.0.1 modifications) to DOS using
  Caldera's DR-DOS 7.02 and a DJGPP 32-bit software developing environment.
  The vocalizer routines were intentionally left out (DOS can't multi-task).
  The initial DOS version has been set to 2.0.1d rather than 2.0.0 to reflect
  the small bug fixes it contains over the original Linux version, with
  the 'd' representing the fact that it's a DOS version.  The DOS version
  contains full source code plus a pre-compiled binary for Intel CPUs
  as well as a protected mode driver.  It was uploaded to:

	ftp://ftp.amsat.org/amsat/software/PC/tracking/predict2.zip

* Uploaded the latest release to:

	ftp://ftp.amsat.org/amsat/software/Linux/predict-2.0.1.tar.gz

