0.001 T. R. Wyant
  Initial release
0.002 T. R. Wyant
  bin/satpass -
    Behave better when no Clipboard module.
    Do not use Clipboard module under darwin.
    Require Astro::SpaceTrack 0.016 (if any).
    Default star distance now 10000 parsecs (was 1 parsec).
    Add 'sky lookup', using Astro::SIMBAD::Query.
    Modified 'sky' listing format to look like 'sky add' commands.
  Astro::Coord::ECI -
    Add NAD83 ellipsoid.
  Astro::Coord::ECI::Utils -
    Corrected documentation.
0.003 T. R. Wyant
  bin/satpass -
    Remove all uses of Clipboard, to try to get built under
      ActiveState's ActivePerl.
    Correct version number in Astro::SpaceTrack load.
    Accumulate Iridium operational statuses.
    Add status command to display satellite operational status.
    Increment version, as a lazy way to increment the distribution
    Tweak documentation.
    Make subclass of Exporter, since ActiveState's build
      seems to have a problem with 'use Exporter qw{import}'
      (except under darwin, strangely enough).
    Increment version.
  bin/satpass -
    Rewrite command parsing so that we can retain quotes and
      be POSIXly correct in option processing for the system
    Give tle command a -verbose qualifier, to produce a formatted
      listing of the orbital parameters.
    Provide HTML =item targets consistent with links.
    Clean up docs.
    Clean up docs, wrap some really long lines.
    Replace _fmod2p with mod2pi from Utils module.
    Add 'inertial' read-only attribute.
    Add equatorial coordinates relative to observer.
    Fix negative right ascension - should be mod 2 pi.
    Tweak docs, including fuller synopsis.
    Add local_coord parameter to determine local coordinate system
      (azel or equatorial).
    Modify pass and position output to use local_coord.
    Tweak synopsis, to show that setting time runs model.
    Cache some calculations for re-use.
    Tweak docs.
    Add intensity_to_magnitude(), atmospheric_extinction().
    Correct check for whether location has been set. Old check
      did not recognize 0 latitude, longitude, or height.
    Special-case code to 'unset' tz when it is set to undef or ''.
    Make 'position' iterate over time, in real time with -realtime.
    Add -time global command option to time execution.
    Add 'country' parameter. Break out 'geocode' and 'height' to
      country-specific versions, and make the original command
      dispatch based on 'country' parameter or explicit argument.
    Allow formatting of local coordinates without range information.
    Round pass times to the nearest second (since strftime truncates).
    Add 'almanac' command options -horizon, -quarters, -transit, and
      -twilight to restrict the output.
    Make height_us() work with revised USGS SOAP calling sequence.
    Optimize, mostly by being smarter about when to clear cached
    Correct spelling in POD.
    Change die to confess on programming error.
    Correct spelling in POD.
    Correct spelling in POD.
    Correct spelling in POD.
    Modify internals for easier cache clearing.
    Better documentation of 'mean anomaly'.
    Correct spelling in POD.
    Trap invalid effective eccentricity in sgp4. The underlying cause
      of the problem is probably either an invalid TLE or using the TLE
      past its 'good until' date.
    Change die to confess on programming error.
    Correct spelling in POD.
    Get rid of wrong-headed attempt to configure optional modules.
    Various documentation corrections.
    Correct spelling in POD.
    Add store() and retrieve() as interface to Storable.
    Centralize tilde expansion, and do it on cd(), load(), retrieve (),
      source(), store ().
    Preprocess -start and -end options of st(), to make dates
      consistent with the rest of satpass.
    Add -initialization_file command option.
    Add -optional option on source().
    Add localize(), and macro/source call frames to support this.
    Add localize subcommand to st().
    Make 'st show' a synonym for 'st get', and make 'st get' without
      arguments show all settings.
    Add test hooks, and a test to exercise the more arcane functions
      of the script.
    Add -source_layer and -retry_on_zero options to height_us().
    Add a separate height_ca() method that makes use of the above
      options when delegating to height_us(), in response to anomalous
      responses to height queries.
    Fix problem displaying appulses in pass().
    Make the position() display positions for a range of times. Add
      -realtime option to position() to display positions in
    Add drop().
    Fix formatting of error messages from the local coordinate
    Have position() display epoch and illumination when displaying
      objects from the observing list.
    ECI.pm 0.008
      Support the use of Astro::Coord::ECI::TLE::Set objects in the
        angle() method.
      Add method attribute().
    ECI/TLE.pm 0.005
      Add the null model.
    ECI/TLE/Set.pm 0.001 New container object.
    ECI/Utils.pm 0.006
      Add dynamical_delta() method (was private method in ECI.pm).
    bin/satpass 0.008
      Use Astro::Coord::ECI::TLE::Set objects to represent satellites
        when we have more than one set of orbital elements.
      Add help for Astro::Coord::ECI::TLE::Set.
      Add and document 'singleton' parameter. Use it in pass() and
      Default end times relative to start times, rather than relative
        to the last explicit time.
      Fix interaction between clipboard functionality and test hook.
        Thanks to IMACAT for help diagnosing and verifying.
      Add acknowledgments.
    ECI.pm 0.009
      Add represents() method.
    ECI/Sun.pm 0.003
      Remove redundant definition of ASTRONOMICAL_UNIT; use AU from
    ECI/TLE.pm 0.006
      Add is_model_attribute(), is_valid_model().
    ECI/TLE/Set.pm 0.002
      Allow Astro::Coord::ECI::TLE::Set objects as arguments of add().
      Take advantage of is_model_attribuite(), is_valid_model().
    bin/satpass 0.009
      Fix defaulting of second argument of quarters().
      Allow macros to override core commands. Macros can no longer
        call themselves, and core commands can be accessed explicitly
        by the syntax core.command.
      Relative times for the second and subsequent arguments of a
        command are relative to previous time argument of the same
        command, whether absolute or relative.
    Build.PL 0.001
      Initial version.
    ECI.pm 0.010
      Check for null arguments on most calls, so we die now rather
        than later.
      Fix undefined value when calling set() with no arguments.
    ECI/Moon.pm 0.003
      Make singleton object by default.
    ECI/Sun.pm 0.004
      Make singleton object by default.
    bin/satpass 0.010
      Add qualifiers -brief, -list, and -delete to macro command.
        Parameter explicit_macro_delete controls what the macro
        command does when given a name but no definition.
      Make -time work on macros and source commands.
      Add ability to abort macros and source scripts on error,
        controlled by parameter error_out.
      Correct add_to_cleanup() call.
      Add omitted ECI/Sun.pm.
      Add explicit PL_FILES => {}, to prevent old versions from
        trying to execute 'perl Build.PL Build'.
  ECI.pm 0.011
    Add horizon attribute.
    Add pass() method and supporting attributes.
    Add check_version()
    Defer loading of optional modules to speed startup.
    Rewrite XML parsing to use either XML::Parser or XML::Parser::Lite,
      with XML::Parser being preferred.
    Fix fatal error when running off the end of the top-level command
    Support ~user in filenames.
    Convert pass() to use Astro::Coord::ECI::TLE->pass(). Old code
      remains as pass_old(), strongly deprecated.
    Use Time::HiRes for timing, if that is available.
    Document status of pass_old, 'timing' parameter (strongly
      deprecated) and the SIMBAD situation.
    New example to demonstrate Astro::Coord::ECI::TLE->pass().
  ECI.pm 0.012
    Localized $Data::Dumper::Terse
    Fixed divide-by-zero in azel() when the points coincide.
    Convert angle() to use law of haversines rather than law of cosines,
      for better performance on small angles.
  ECI/Sun.pm 0.005
    Add magnitude() method.
  ECI/TLE.pm 0.008
    Add {body} and {station} to hash returned by pass().
    Add support for reblessing to Astro::Coord::ECI::TLE::Iridium if
      appropriate. This includes rebless(), before_reblessing(),
      after_reblessing(), alias(), can_flare(), status(), and the {reblessable}
  ECI/TLE/Iridium.pm 0.001
    Initial release.
  ECI/Utils.pm 0.007
    Confess on invalid acos() argument.
    Add find_first_true() to support finding Iridium flares.
  bin/satpass 0.012
    If a source file ends with a continued line, warn and abandon the
    Set the time on the appulsing body before obtaining its coordinates.
    Fix error in end time parser in position().
    Throw error if doing 'sky lookup' on a body that is already in the
    Have pass() round the displayed time for the appulsing body.
    Add flare() to calculate Iridium flares.
    Modify position() to report flare potential for Iridium satellites.
    Added -choose option to pass(), position(), tle().
    Removed pass_old() and the timing parameter, strongly deprecated in
      version 0.011.
    Added {simbad_version} parameter to select SIMBAD software to use.
  eg/iridium 0.001
    New example calculating Iridium flares.
  Astro::Coord::ECI 0.013
    No code changes, but updated version to be visible to CPAN 'r'.
  Astro::Coord::ECI::TLE 0.009
    Updated canned Iridium status table for failure of Iridium 36 and
      its replacement by Iridium 97.
  Astro::Coord::ECI::TLE::Iridium 0.002
    Fixed occasional borderline-case spurious flare prediction.
  bin/satpass 0.013
    Added -version command option, to display preamble and exit.
    Wrap probe for clipboard helpers in eval{}. Among other things, this
      allows the script to run in taint mode.
    Add -choose option to list().
    Allow extra arguments to status show, to do selective status display.
    Fixed cosmetic undefined value error when Scalar::Util does not
      implement refaddr().
    Fixed cosmetic undefined value error when Scalar::Util does not
      implement refaddr().