0.166_01 2024-08-18 T. R. Wyant
Further deprecate Iridium status, 'direct' attribute.
0.166 2024-06-16 T. R. Wyant
Correct celestrak_supplemental() status when an unknown catalog is
specified. The previous was the oxymoronic '400 OK'. The intended
(and now implemented) is 404 with a custom error message.
Add back Celestrak SES supplemental data.
Add Project Kuiper to Celestrak supplemental data.
0.165 2024-05-04 T. R. Wyant
Space Track options in celestrak() are now fatal.
Mike McCants removes his RCS data file. The corresponding mccants()
catalog is documented as 404, and to be removed 2024-11-01 unless it
shows back up in the interim. The corresponding test is now TODO.
Track changes in Kelso data set names. He renamed the data sets for
the Chinese and Russian ASAT test debris. The old names are retained
as synonyms. The data supporting the synonyms etc got refactired
from the test into Astro::SpaceTrack so I could display the notes in
names->( 'celestrak' )
Kelso dropped Iridium status and SES supplemental data April 26
2024.
0.164 2024-01-31 T. R. Wyant
Deprecate iridium_status() and associated attributes
Further deprecate 'direct', which now warns on first use.
Dropped METEOSAT from Celestrak Supplemental.
0.163 2023-10-24 T. R. Wyant
Track Celestrak response to non-existent catalogs.
Space Track options to celestrak() now warn on every use.
Fix missed changes to Mike McCants' new web site.
0.162 2023-05-31 T. R. Wyant
Track Mike McCants' move to new web site.
0.161 2023-04-16 T. R. Wyant
Space Track options to celestrak() warn on first use.
0.160 2023-03-09 T. R. Wyant
Remove spaceflight() and all supporting code.
0.159 2022-12-21 T. R. Wyant
Add Celestrak supplemental catalog ast (AST Space Mobile). This is
currently only Bluewalker 3, but I assume the Bluebirds will go here
too.
0.158 2022-10-05 T. R. Wyant
Implement new Celestrak API. Add options --format and --query to
celestrak() and celestrak_supplemental(). Deprecate Space Track
options on celestrak().
Drop celestrak() code involving the 'direct' attribute. The
retained code assumes direct => 1.
0.157 2022-09-10 T. R. Wyant
Method spaceflight() now dies.
0.156 2022-08-02 T. R. Wyant
t/complete.t should skip, not fail, if no /dev/tty.
Track changes in necessary Celestrak error detecton
Add command completion.
0.155 2022-07-17 T. R. Wyant
Track changes in Celestrak Supplemental API.
0.154 2022-06-30 T. R. Wyant
Convert celestrak_supplemental() TLE data to new API. Additional
functionality based on the new API to follow. Of course, this is
what I said last year when I converted celestrak(). The RMS and
Match data still use the old API.
0.153 2022-05-20 T. R. Wyant
CelesTrak Indian ASAT Debris data set retired.
0.152 2022-03-30 T. R. Wyant
Add match data to celestrak_supplemental. This is accessed with the
--match option. This option may not be specified with the --rms
option.
0.151 2022-03-08 T. R. Wyant
The deprecated spaceflight() method now warns on every use. It also
returns a 403 error, since the web site it scrapes has gone the way
of the dodo.
0.150 2022-02-20 T. R. Wyant
Convert celestrak() to new API. Additional functionality based on
this API to follow.
0.149 2022-01-22 T. R. Wyant
Add Celestrak Iridium Next supplemental element catalog
0.148 2021-11-28 T. R. Wyant
Add Celestrak catalog 1982-092 (Russian ASAT debris)
Add Celestrak catalogs for historical debris events
Add celestrak option 'observing_list'. If this is true, and the
'direct' attribute is false, you get back the observing list stored
on Celestrak, rather than the Space Track TLEs specified by the
observing list.
Use https: for Celestrak.
commit 64bce81410add91be6b014cda3b39cd8b18871a2
Author: Tom Wyant <wyant@cpan.org>
Date: Tue Nov 16 10:48:11 2021 -0500
Add file CONTRIBUTING
0.147 2021-09-08 T. R. Wyant
Warn on first use of deprecated spaceflight() method. It does not
work anyway since the underlying web site has gone away.
0.146 2021-07-06 T. R. Wyant
Update AMSAT URL.
Correct generation of 'provides' metadata. Thanks to Favio Poletti
for blogging
https://github.polettix.it/ETOOBUSY/2021/06/15/the-real-pause-workaround/,
and ultimately to Joel Berger for the pointer to
https://metacpan.org/pod/CPAN::Meta::Spec#no_index
0.145 2021-03-25 T. R. Wyant
Allow identity file to have .gpg suffix. This is for the benefit of
the vim-gnupg plugin, and potentially other such things.
Refactor authortest into three, so that I can run the
optional-modules tests without generating stub files.
0.144 2021-03-07 T. R. Wyant
Add rt.cpan.org back to bug reporting methods. Long live RT!
Document retirement of NASA Human Space Flight web site, and its
effect on this package.
Any access of iridium_status_mccants is now fatal
Get prerequisites up to snuff and add xt/author/prereq.t to ensure
they stay that way.
Add Celestrak catalog 'gnss'.
0.143 2021-01-09 T. R. Wyant
Add Travis CI testing.
Switch bug reporting to GitHub. R.I.P. rt.cpan.org
Add 'Swarm' to Celestrak catalog names.
0.142 2020-09-24 T. R. Wyant
Add Telesat to Celestrak Supplemental catalog
0.141 2020-08-17 T. R. Wyant
Attribute url_iridium_status_mccants now warns on all accesses. In
the first release after February 15 2021 all accesses will be fatal,
and it will be dropped from the list returned by attribute_names().
Remove prototypes from testing subroutines defined in t/*.t and
inc/My/Module/Test/*.pm.
0.140 2020-07-11 T. R. Wyant
Add Celestrak Supplemental catalog for Planet.
Update canned status table for decay of
- Iridium 96
0.139 2020-03-29 T. R. Wyant
Add Celestrak Supplimental catalog for OneWeb.
0.138 2020-02-18 T. R. Wyant
Add Celestrak catalog 'oneweb'.
0.137 2020-02-04 T. R. Wyant
Use of McCants' Iridium status now throws exception, per deprecation
schedule.
0.136 2020-01-15 T. R. Wyant
Remove Celestrak supplemental Starlink 3 pre-launch TLE catalog.
Kelso took it down once the launch occurred.
0.135 2020-01-06 T. R. Wyant
Add Celestrak supplemental Starlink 3 pre-launch TLE catalog.
Update canned status table for decay of
- Iridium 97
0.134 2019-12-24 T. R. Wyant
Document 'TBA' as valid OBJECT_TYPE in modeldef.
Rework Space Track -exclude query logic and add -include. If both
are specified, -include rules.
Move modeldef script to tools/
0.133 2019-11-21 T. R. Wyant
Add celestrak_supplemental() 'starlink' dataset
Eliminate redirects in POD URL links.
0.132 2019-08-05 T. R. Wyant
Update canned status table for decay of
- Iridium 61
0.131 2019-07-20 T. R. Wyant
Fix broken POD links, and add test to ensure they stay fixed.
Further deprecate McCants' Iridium status. This is really moot,
since as of July 10 2019 his Iridium status page is 404. It was last
seen by me June 9 2019.
Correct the test suite's check for whether Mike McCants' web site is
live.
0.130 2019-06-05 T. R. Wyant
Add Celestrak Starlink catalog.
0.129 2019-05-19 T. R. Wyant
Update canned status table for decay of
- Iridium 46
- Iridium 54
0.128 2019-04-14 T. R. Wyant
Update canned status table for decay of
- Iridium 55
- Iridium 58
- Iridium 64
- Iridium 95
Do Space Track tests with dummy data by default. You can test live
by setting environment variable SPACETRACK_TEST_LIVE to a true
value.
0.127 2019-03-21 T. R. Wyant
Update canned status table for decay of
- Iridium 14
- Iridium 32
- Iridium 59
- Iridium 60
- Iridium 91
0.126 2019-02-12 T. R. Wyant
Add satnogs to known Celestrak catalogs.
0.125 2019-02-02 T. R. Wyant
Update canned status table for decay of
- Iridium 90
0.124 2019-01-03 T. R. Wyant
Update canned status table for decay of
- Iridium 31
- Iridium 35
0.123 2018-11-29 T. R. Wyant
Skip data tests in t/query_spacetrack.t on fetch error. Also skip
the fetch if it returns a 500. This completes the test work started
in version 0.121.
0.122 2018-11-13 T. R. Wyant
Update canned status table for decay of
- Iridium 52
- Iridium 62
- Iridium 83
- Iridium 84
0.121 2018-10-26 T. R. Wyant
Update canned status table for decay of
- Iridium 11
- Iridium 20
Skip data tests on fetch error. All tests but t/query_spacetrack.t
also skip the fetch if it returns a 500.
0.120 2018-10-17 T. R. Wyant
RT 127371 Dependency problem when bulding with Module::Build.
Thanks to Slaven Rezic for finding this (unlike many dependency
problems it does NOT manifest when run against a base Perl
installation) and reporting it in such detail that all I had to do
was pick an implementation. CPAN TESTERS RULE!
Add Celestrak catalogs 'active' and 'analyst'. 'Active' seems to be
satellites actually in service, based on correlating this list with
the Iridium status list. 'Analyst' seems not to be real satellites,
and may be pathological test cases.
Update canned status table for decay of
- Iridium 15
- Iridium 56
- Iridium 70
0.119 2018-10-08 T. R. Wyant
Update canned status table for decay of
- Iridium 10
- Iridium 53
- Iridium 86
0.118 2018-09-27 T. R. Wyant
Update canned status table for decay of
- Iridium 40
- Iridium 50
0.117 2018-09-06 T. R. Wyant
Update canned status table for decay of
- Iridium 12
- Iridium 47
- Iridium 76
0.116 2018-08-29 T. R. Wyant
Update canned status table for decay of
- Iridium 18
- Iridium 66
- Iridium 98
0.115 2018-08-18 T. R. Wyant
Update canned status table for decay of
- Iridium 80
0.114 2018-07-30 T. R. Wyant
Update canned status table for decay of
- Iridium 41
0.113 2018-07-23 T. R. Wyant
Update canned status table for decay of
- Iridium 65
- Iridium 81
0.112 2018-07-15 T. R. Wyant
Update canned status table for decay of
- Iridium 67
- Iridium 75
0.111 2018-06-16 T. R. Wyant
Update canned status table for decay of
- Iridium 68
0.110 2018-06-04 T. R. Wyant
Update canned status table for decay of
- Iridium 37
- Iridium 21
- Iridium 25
- Iridium 72
Fix portability issue in eg/sh_script. Thanks to Thomas Klausner for
picking up on this.
Added -identity as valid option for script/SpaceTrack.
0.108 2018-05-08 T. R. Wyant
Iridium 13 decayed. Canned status update.
0.107 2018-04-27 T. R. Wyant
Update canned status for decay of Iridium 94.
0.106 2018-04-16 T. R. Wyant
Iridium 19 decayed April 7 2018. Canned status update.
Use Browser::Open for help if webcmd is '1'. Other true values are
deprecated and will eventually result in errors.
0.105 2018-04-05 T. R. Wyant
Add 'identity' to canned help text.
Launch meta::cpan for help if webcmd attribute set.
Iridium 23 decayed March 28 2018. This necessitates updating all
the canned Iridium status tables.
Kelso marks Iridiums 12, 13 & 76 partly operational.
Replace reference names with manifest constants. That is, replace
'ARRAY' by ARRAY_REF, where ARRAY_REF is 'ref []'. And so on.
Kelso marks Iridium 94 as spare.
0.104 2018-02-22 T. R. Wyant
Add Celestrak Planet Labs & Spire Global datasets
Canned status updates for decay of Iridiums 3, 43, and 49.
Iridium 49 decay Feb 13 2018.
Normalize names of Iridium satellites in canned status table by
removing leading zeroes.
0.103 2018-01-16 T. R. Wyant
Iridium 34 decayed January 8 2017. So marked in canned status.
0.102 2017-12-30 T. R. Wyant
Iridium 6 decayed December 23 2017. Update canned Space Track status
for this.
Update Sladen Iridium status web page scraper for changes in web
page.
0.101 2017-12-07 T. R. Wyant
Make 'decayed' internal status override anything from external
sources. The idea is that the canned table is from Space Track, and
therefore authoritative as to whether a satellite is actually
on-orbit.
Iridium 8 decayed.
Sladen tweaks web page; scraper change needed.
Further deprecate Iridium status from McCants. Mike McCants has
announced that he is no longer maintaining his Iridium status. The
first use of his Iridium status will now generate a warning. In a
further 6 months there will be a warning on every use, and 6 months
after that it will become fatal.
0.100 2017-10-12 T. R. Wyant
Added Iridium status decayed ('[D]', portable status is 3 --
BODY_STATUS_IS_DECAYED).
Add iridium_status() format 'spacetrack'. Space Track has no idea
whether a given satellite is in service or not, but does know
whether it has decayed. So the status reported for a given OID is
from Celestrak if it has it and the satellite is still in orbit.
If a satellite is not in the Celestrak data but Space Track reports
it as still in orbit, its status will be unknown ('[?]'), and its
portable status will be tumbling.
Add a hard-wired internal Iridium status table having the Space
Track data. This is used to supplement data from other sources,
since they typically drop a satellite once it has decayed.
Add iridium_status() option -raw, which reports statuses
un-supplemented by Celestrak or canned data to the extent this is
possible. This option can be specified either command-line style
(i.e. '-raw') or in a leading hash ref (i.e. '{ raw => 1 }'). This
is in support of generating the above hard-wired table.
Add script 'tools/all_iridium_classic', which queries Space Track
for all Iridium satellites, and reports the status of the
original-design Iridiums. This is for generating the canned status
tables in Astro::SpaceTrack and Astro::Coord::ECI::TLE.
Remove tests for iridium_status( 'mccants' ), since this is both
unmaintained and deprecated.
0.099 2017-05-24 T. R. Wyant
Deprecate McCants' Iridium status.
0.098 2017-03-15 T. R. Wyant
Move SpaceTrack script from bin/ to script/
Don't 'use Exporter qw{ import };'. Instead, subclass Exporter.
eval() autoflush() in test routines, requiring 'IO::Handle' first.
0.097 2017-02-09 T. R. Wyant
Add Celestrak catalogs 'iridium-NEXT' and 'ses'.
0.096 2017-01-15 T. R. Wyant
Ditch 'use base'.
Astro::SpaceTrack is no longer a subclass of Exporter. Instead
import() was imported into its name space.
In the case of the inc/ files, 'use base' was replaced by a 'use' of
the appropriate module, followed by assignment to @ISA.
Have relevant author tests use identity file.
Document the use of environment variable CI_GPG to get gpg2 even
though gpg is also installed.
0.095 2016-11-07 T. R. Wyant
Support Config::Identity file. Both the file and Config::Identity are
optional. The file name is spacetrack.id (MSWin32 and VMS) or
.spacetrack-identity (anything else) in the user's home directory.
The file itself can be GnuPG encrypted.
Rod Sladen Iridium status update.
0.094 2016-08-07 T. R. Wyant
Implement Kelso Iridium status '[B]' as spare, and implement all
other status codes documented on the Celestrak web site.
Update copyright date returned by banner().
0.093 2016-01-20 T. R. Wyant
Make t/query_iridium_status_*.t skip rather than fail if the server is
unavailable.
Add GitHub repository to metadata.
0.092 2015-05-27 T. R. Wyant
Add new Space Track catalog "files" (canned queries, really). These
are:
medium_earth_orbit
low_earth_orbit
highly_elliptical
0.091 2015-04-15 T. R. Wyant
Add dependency on Mozilla::CA in hope to quash some of the CPAN
testers CERT errors.
Simplify the -last5 handling code. Rather than defaulting it and then
removing it if unneeded, just insert it only if the query class ends
up being 'tle_latest'.
Fix a problem with bad Space Track queries being generated under
certain circumstances if TLE data were being requested and class
'tle' (rather than 'tle_latest') was being used to satisfy them. The
problem seems to have been the leakage of extraneous data from the
-last5 option (even if defaulted) into the REST query.
Thanks to Vidar Tyldum for finding this rather abstruse problem and
running it to ground.
0.090 2015-02-11 T. R. Wyant
Add CPF data to celestrak_supplemental().
0.089 2015-01-06 T. R. Wyant
Supply missing initialization in JSON code. This was a problem only
if no data were returned, and maybe then only under restricted and
poorly-understood corcumstances.
Fix warnings in McCants' Iridium status code under Perl 5.21.7 and up.
With this Perl, sprintf() started complaining about extraneous
arguments.
Add new spacetrack() catalogs bright_geosynchronous, human_spaceflight
and well_tracked_objects. The first two correspond to Space Track
curated queries; the last does not, but is based on their Face Book
entry for December 3 2014, and represents objects that can not be
assigned to a country or launch site.
Fix option hash validation warning in spacetrack(). This affected
catalog 'payload'.
Fix exception in names() when an unsupported argument is passed. The
desired functionality was to return a 404 error, which is now
implememted and documented.
Change verify_hostname default back to true, since it appears that
Perl is accepting Mike McCants' Cert again.
0.088 2014-08-31 T. R. Wyant
Properly apply Space Track default fetch options when the options were
passed to a Space Track search method in a hash reference, rather
than command-line style.
0.087 2014-08-29 T. R. Wyant
Use global variable $SPACETRACK_DELAY_SECONDS to control the delay
between Space Track queries. This is initialized from environment
variable SPACETRACK_DELAY_SECONDS if it is true; otherwise it is
initialized to 3.
Throttle Space Track queries to 1 every 3 seconds. Space Track
announced August 19 2014 that they intend to throttle queries to
less than 20 per minute per user as of September 22 2014. They seem
to have jumped the gun though, since throttling seems necessary now.
Remove all RCS-specific functionality. This includes making -rcs do
nothing. On August 18 2014 Space Track started returning 0 for RCS,
instead going for "small," "medium," and "large" in a new JSON
field. The -rcs option is now deprecated, and being put through the
usual deprecation cycle.
Set default value of verify_hostname attribute to false. This is
because Perl does not accept Mike McCants' GoDaddy certificate. The
default can be overridden using environment variable
SPACETRACK_VERIFY_HOSTNAME if it is defined.
Remove all references to obsolete spacetrack() canned queries
full_fast and geosynchronous_fast in the documentation. The queries
themselves are long gone.
Prepare for removal of the RCSVALUE datum in Space Track's satcat
data, which is announced for August 18 2014.
Add 'prompt' attribute.
Add ISS data to celestrak_supplemental.
Support the various Space Track data formats. This involves providing
a -format option, with values corresponding to the Space Track
formats, plus 'legacy' (the default) to provide what is essentially
the Version 1 data format. The old -json option is equivalent to
-format json.
0.086 2014-04-26 T. R. Wyant
Eliminate ugly warning generated when searching Space Track if
-start_epoch or -end_epoch options are specified.
Eliminate use of each() built-in.
0.085 2014-03-20 T. R. Wyant
When mccants() and friends return data from cache, fabricate
Last-Modified header with file modification date.
Bypass mccants() cache test for installation, since it seems to fail
sporadically, and the data appear to be unaffected.
Try to address test failures in mccants() under older Windows (plus
one under FreeBSD) due to unseekability of the handle produced by
open my $fh, '+<', \( $resp->content() );
Fix problem in the login() method detecting a Space Track login
failure.
Add method mccants() to access TLE, magnitude, and RCS data mainteined
by Mike McCants on his web site. Because these do not get updated
that often, there is a 'file' option which, if specified, caches the
results and fetches them from the web only if the cache is stale.
Add 'file' option (as above) to amsat() and celestrak_supplemental().
Add cache_hit() and associated machinery to determine whether
information came from the web or from a file.
Add information on celestrak() catalog 'argos'.
Factor the query tests into multiple files, so they can run in
parallel.
0.084 2014-01-01 T, R, Wyant
Have celestrak() and celestrak_supplemental() return error status if
the argument is undefined.
Drop deprecated spacetrack() catalogs full_fast and
geosynchronous_fast.
Add celestrak_supplemental() catalog 'ses'.
Remove support for environment variables SPACETRACK_REST_RANGE_OPERATOR
and SPACETRACK_REST_FRACTIONAL_DATE.
0.083 2013-11-23 T. R. Wyant
Add Space Track search option -comment. This adds the Comment field to
the satcat results returned by the search_* methods.
0.082 2013-11-08 T. R. Wyant
Use O-O version of Getopt::Long to parse command-style options, to
prevent configuration leaking in (or out). This requires
Getopt::Long 2.39.
Validate options passed as a hash reference, at least for unexpected
keys. The previous version simply ignored these, but I decided I
wanted feedback to the caller. It is a warning for now, but will
eventually become fatal.
Environment variable SPACETRACK_SKIP_OPTION_HASH_VALIDATION can be set
to suppress the warning.
0.081 2013-10-21 T. R. Wyant
Add object status 'TBA' (added by Space Track October 1 2013). This
_should_ only affect the -exclude option.
Delete commented-out code that goes back to the v1 interface.
Build queries using standard names and data represenations, rather
than Space-Track-specific ones. This change _should_ not affect the
user.
0.080 2013-10-05 T. R. Wyant
Correct failures in t/query.t due to incorrect URL being used to see
if Mike McCants' web site is actually available.
0.079 2013-10-02 T. R. Wyant
Try to handle failures due to the U. S. government shutdown so that
they do not cause test failures. They're still errors, though, just
forced to 402 Payment required.
0.078 2013-09-28 T. R. Wyant
Fix attempt to modify read-only variable in t/query.t.
Strip out all code that refers to version 1 of the Space Track API.
Remove all reference to the Celestrak 'sts' catalog or the Human
Spaceflight 'shuttle' catalog.
Silence uninitialized value warning in t/spacetrack_request.t under
older Perls.
0.077 2013-07-15 T. R. Wyant
Make it an error to set space_track_version to 1. Eliminate all
documentation of the version 1 API, and make version 2 documentaion
not refer to API version. Code for the version 1 API will be removed
in subsequent releases.
0.076 2013-07-01 T. R. Wyant
Deprecated spacetrack() queries (the *_fast ones) become fatal.
Document intent to remove support for environment variables
SPACETRACK_REST_RANGE_OPERATOR and SPACETRACK_REST_FRACTIONAL_DATE
in the first release after January 1 2014.
Install the SpaceTrack script by default.
Eliminate prompting for whether to install SpaceTrack. The -y and -n
options are still available.
Move the SpaceTrackTk script to the eg/ directory.
Eliminate Win32 and VMS specific code in the installers.
Document the desupport of the Space Track version 1 interface as of
this release.
No longer test version 1 of the Space Track interface, since it is
scheduled to stop working.
0.075 2013-06-14 T. R. Wyant
Document that the Space Track version 1 API will be shut down July 16
2013.
Emit a warning any time the space_track_version attribute is set to 1.
This warning can not be suppressed by 'no warnings qw{ deprecated }'.
Add Beidou navigation satellites to the list of named element sets
available via the celestrak() method.
0.074 2013-05-12 T. R. Wyant
Make the value returned by launch_sites( { json => 1 } ) under the v2
interface conform to the documentation. I was really sloppy with
this and returned the raw JSON (which was an array ref) when the
docs called for (and I really wanted) the JSON for a hash ref.
0.073 2013-02-21 T. R. Wyant
Move Space Track REST interface to production web site.
Deprecate the version 1 Space Track interface.
0.072 2013-02-17 T. R. Wyant
Make default value of space_track_version attribute 2.
0.071 2013-02-16 T. R. Wyant
Attempts to retrieve Space Shuttle data (via celestrak('sts') or
spaceflight('shuttle') now cause exceptions. Retrieval of historical
data from Space Track should still work as before.
Convert the REST version of the launch_sites() method to use the new
launch_site data instead of canned data.
Space Track dropped RCSSOURCE from class satcat of the REST interface.
This revision eliminates all references to this field.
0.070 2012-12-26 T. R. Wyant
Add notification that I plan to change the way Makefile.PL and
Build.PL decide whether to install executables July 1 2013.
Add method favorite() to access the Space Track 'Favorites'
functionality. This only works for the Space Track version 2
interface.
Add to the spacetrack() method for version 2 of the interface those
bulk data catalogs which are represented by 'Global Favorites'.
Add 'YUN' (Yunsong, DPRK) to hard-coded list of launch sites returned
by the Space Track REST interface.
Re-instate the use of hour, minute, and second spacifications in
-start_epoch and -end_epoch for the Space Track REST interface.
Go back to using OID ranges in the retrieve() method if the Space
Track REST interface is being used.
Document environment varoables SPACETRACK_REST_RANGE_OPERATOR and
SPACETRACK_REST_FRACTIONAL_DATE, so users can get themselves going
again if there are further glitches in the related functionality.
Add method celestrak_supplemental() to retrieve the supplemental TLEs
not derived from SpaceTrack.
Correct bug in celestrak() method, in which the Space Track REST
options were being parsed when they should not have been. This was
really two bugs: use of get() rather than getv() to check the Space
Track version, and failure to check the 'direct' attribute.
0.069 2012-11-09 T. R. Wyant
Do not pass the time portion of a date/time query to the Space Track
REST interface, since it seems not to handle it (though I thought it
did at one time).
0.068 2012-10-26 T. R. Wyant
Retract use of ranges when fetching from Space Track REST interface by
OID, since it appears this is not stable yet.
0.067 2012-10-25 T. R. Wyant
Document a new Celestrak "direct-fetch only" data set, 2012-044, which
represents the explosion of a Breeze-M upper stage (2012-044C) on
October 16 2012.
Re-instate the use of ranges when fetching a number of OIDs via the
Space Track REST interface, since they are supported now.
Fix bug that allowed Kelso's Iridium status to "bleed through" into
the McCants status data.
0.066 2012-10-15 T. R. Wyant
Add methods country_names() and launch_sites(), to return the
expansions of the relevant abbreviations in either tabular form or
JSON. Under space_track_version == 2, launch_sites() is hard-coded,
since this information is not available under the REST interface.
The box_score() method now takes option -json, to return the data in
JSON format. If space_track_version == 1, the JSON is made up from
the tabular data.
0.065 2012-10-09 T. R. Wyant
Retract the merging of names from observing lists (in celestrak() and
file()) in REST queries, since we can now get them direct from the
REST interface in all cases. This was introduced in 0.062, with the
statement that it was temporary.
Don't use OID ranges in REST queries, since they do not work in
combination with comma-separated lists.
Change the size of a retrieve() batch to 200, since larger queries
seem to be faster.
Add method update(). This works with the REST interface only, and
therefore ignores the space_track_version setting. It takes as its
argument the name of a JSON file containing TLE data, and updates it
using '/FILE/>...'. The return is whatever format you want.
Make the REST options work with the spacetrack() method.
Enable the -sort and -descending options on REST queries. These were
previously hard-wired (to -sort epoch -descending) because of
problems early in the beta, which seem to be solved.
Recode the REST versions of spacetrack( 'full' ) and spacetrack(
'geosynchronous' ) to go through class satcat to eliminate bodies
that have decayed. Provide 'full_fast' and 'geosynchronous_fast' for
those who like to live dangerously. The last two are considered
experimental, and may be retracted.
Get the object name from field OBJECT_NAME when using the Space Track
REST interface, in all cases.
Make use of the new TLE_LINE0 field in the tle and tle_latest classes
to have the version 2 retrieve() method return common names.
INCOMPATIBLE CHANGE: In JSON output, the object name is now in field
OBJECT_NAME. Previously there was no object name in the tle data,
and I was hammering it into field SATNAME, since that is where it
was in the satcat data.
Give spacetrack_query_v2() the ability to add header pragmas if it
discovers it was called from outside the Astro::SpaceTrack name
space. It adds 'spacetrack-type = modeldef' if the query is
'basicspacedata => "modeldef"', and 'spacetrack-type = orbit' if the
query is 'basicspacedata => "query", class => 'tle'" or '... class
=> "tle_latest"'.
Change attribute verify_hostname's default value to true again, since
Space Track says they have their act together.
Correct documented name of class used to retrieve current TLE data
using the Space Track REST interface. It's 'tle_latest', not
'tle_current'.
0.064 2012-09-05 T. R. Wyant
Add REST support for as many of the spacetrack() bulk data sets as I
can figure out. The analysis is in Astro::SpaceTrack::BulkData.
The default -status for a REST query is now 'onorbit'. The default for
version 1 queries remains 'all'.
Space Track REST queries now use the 'tle_latest' class unless
historical data are needed, as indicated by use of -start_epoch,
-end_epoch, -since_file, or some -status other than 'onorbit'.
Add 'time' and 'olist' meta-commands to the shell() method. The latter
is experimental, and may go away.
Eliminate superfluous REST queries issued by search_name() and
search_oid(). These were introduced in 0.060_07.
Suppress appending of '--rcs' to the common name by the REST interface
when RCSVALUE is null.
Fix problem with merging names from an observing list into JSON REST
data.
0.063 2012-08-29 T. R. Wyant
Imposed Space Track REST cookie expiration of an hour. The cookie
appears to come with no expiration, but the docs say it's only good
for about 2 hours.
Followed change to representation if International Launch Designator
(INTLDES) in Space Track REST class tle. It was yyyy-lllp, but is
now yylllp, just like Space Track version 1.
0.062 2012-08-25 T. R. Wyant
Fix the joining of JSON data when one of the lists is empty.
Have the celestrak() and file() methods supply common names from their
sources if the with_name attribute is true and the
space_track_version attribute is 2. This functionality will be
retracted when (and if) the Space Track REST interface becomes
capable of supplying NASA-format TLEs.
Document the fact that Space Track has deprecated bulk data downloads,
and plans to remove them in October 2012. This will break the
spacetrack() method.
Use more recent datas for launch date and historical query tests in
t/query.t, since it seems that Space Track purged the version 2 TLE
database on August 24 2012.
0.061 2012-08-15 T. R. Wyant
Reinstate the headings returned by -notle searches done with
space_track_version set to 1. These were lost in version 0.060_09.
When the space_track_version attribute is 2, implement the -exclude
search option in terms of the OBJECT_TYPE field rather than by
simulating the version 1 exclusion rules in the client. This can
mean different search results depending on the interface used (e.g.
Westford needles are debris under v1, but payload under v2), but
since the change seems to be deliberate on the part of Space Track,
I am following it.
0.060_12 2012-08-07 T. R. Wyant
Turn on autoflush in t/query.t to try to prevent overwriting of
prompt.
Have the REST version of retrieve() issue multiple queries if the
number of OIDs is over 50.
Add the ability to handle OID ranges to the REST versions of
retrieve() and search_oid().
Have the output of names( 'spacetrack' ) depend on the value of the
space_track_version attribute.
Have the shell() method extract redirections from the command line
before un-quoting and un-escaping the data, so that we have a way to
force something that looks like a redirection to be taken as an
argument.
Add ':' to the list of 'safe' characters when URI-escaping arguments
to the Space Track REST interface. Percent-encoded colons seemed to
stop working some time between 13:15 and 19:15 GMT on July 27 2012.
Un-encoded colons go through fine.
Accept ':' as well as '/' as punctuation between username and password
in environment variable SPACETRACK_USER.
Have t/query.t try to load Term::ReadKey. If successful, it uses it to
turn off password echoing. If not successful, it adds '(ECHOED)' to
the prompt.
Fix problem associating RCS data with TLEs when using version 1 of the
Space Track interface and the OID in the search results is less than
five digits.
Change default value of verify_hostname attribute to false. And about
time.
Add attribute 'pretty' to reqest that JSON text (and potentially
others) be pretty-formatted.
Expose the name of the Space Track session cookie as an attribute.
This is one of those attributes which have distinct values for each
value of space_track_version.
Have the parser for the retrieve() -start_epoch and -end_epoch options
accept time of day as well as just date. Pass time of day to the
server when using the Space Track REST interface.
Further deprecate celestrak( 'sts' ) and spaceflight( 'shuttle' ) so
that they give a warning every time they are used.
If both -json and -rcs are in effect, return RCSSOURCE as well as
RCSVALUE.
Have the attribute_names() method take account of the fact that the
'cookie_expires' attribute does not exist if the space_track_version
attribute is set to 2.
Ignore the -sort and -descending retrieve() options when using the
Space Track REST interface. As things now stand, I have to force the
equivalent of -sort=epoch -descending when retrieve()-ing multiple
OIDs to get sane results.
Add a -json retrieve() option, valid only if the REST interface is in
use. This also works with celestrak() and file() if the
space_track_version attribute is 2, but with celestrak() the usual
restrictions on retrieve() options apply.
Retrieve TLEs for multiple OIDs in a single call to the Space Track
REST interface.
Require HTTP::Status 6.03, because I can't forebear to use the
"teapot" status for testing purposes.
Expose spacetrack_query_v2(), which is our lowest-level interface to
Space Track version 2.
Use JSON rather than YAML for serialization in (e.g.)
t/spacetrack_request.t, since the former is now a requirement, but
the latter never was.
Bit-mapped the unsupported dump_headers attribute.
Eliminated the unsupported debug_url attribute.
Implement epoch selection of TLEs via the Space Track REST interface.
Run all the Space Track REST arguments through URI::Escape, which has
been added as a requirement.
Try to detect Space Track login failure due to a host verification
problem, and recommend setting the verify_hostname attribute false.
Correct erroneous skip() outside SKIP: block in t/query.t.
Add JSON as dependency. It's used by the Space Track V2 interface.
Provide access to Space Track v2 REST interface, which is currently in
beta. This involves adding attribute space_track_version. Attributes
cookie_expires, domain_space_track, and session_cookie now have
separate values for each possible value of space_track_version.
Due to limitations of the version 2 interface, bulk data downloads
throw an exception, and the with_name attribute is ignored by
retrieve().
Add a logout() method, which deletes all the session cookies. I
considered having it only delete the session cookie for the current
space_track_version, but decided that this was too confusing.
Fix problem with Astro::SpaceTrack file() method passing its options
hash to the retrieve() method as an OID. This was probably
introduced in version 0.020.
Bump Test::More requirement from 0.88 to 0.96 so I can do subtests.
Add method content_interface, which returns the version of the Space
Track interface use to fetch the data. If Space Track was not
involved, returns undef.
Add verify_hostname option to SpaceTrackTk settings window. Add
'Settings ...' button to login screen.
0.060 2012-06-09 T. R. Wyant
Add Astro::SpaceTrack attribute verify_hostname. This controls the
corresponding SSL option for LWP::UserAgent. By default it is true,
but can be made false to deal with invalid (or at least
unrecognized) certificates,
0.059 2012-06-02 T. R. Wyant
Get rid of YAML::Any in favor of YAML. They are both in the same
distro, and YAML does not suffer from deprecation warnings.
0.058 2012-02-22 T. R. Wyant
Use GET rather than POST to implement Astro::SpaceTrack box_score(),
since 'POST' gives undefined errors during testing. Sometimes.
0.057 2012-01-22 T. R. Wyant
Further deprecate the Astro::SpaceTrack celestrak( 'sts' ) and
spaceflight( 'shuttle' ) functionality by having them display a
warning on first use. The next step (warning on every use) will be
taken on or after July 22 2012.
Expand ranges passed to the search_oid() method, since the Space Track
API does not support them.
Bring Changes file into compliance with Test::CPAN::Changes. Add
author test xt/author/changes.t to be sure it remains so.
0.056 2011-12-18 T. R. Wyant
Validate search options -exclude and -status even if they come in
through the API in a hash, not just if they come in as
command-line-style arguments.
0.055 2011-11-28 T. R. Wyant
Update copy of GNU GPL in LICENSES/Copying to have current FSF
address.
Require Test::More 0.88 for testing.
Remove the Space Shuttle option from the SpaceTrackTk 'Human Space
Flight' dialog.
0.054 2011-07-21 T. R. Wyant
With the end of the U.S. Space Shuttle program, deprecate the
celestrak() 'sts' catalog and the spaceflight() 'SHUTTLE'
argument. The latter now does nothing, so we will not get 404
errors when the web page goes away.
0.053 2011-07-04 T. R. Wyant
Correct the URL for Mike McCants' Iridium status web page.
0.052 2011-04-12 T. R. Wyant
Add attribute scheme_space_track_attribute, defaulting to 'https'.
Also added LWP::Protocol::https as a dependency. Both in
response to USSTRATCOM going to a secure server some time in the
last 24 hours. Thanks to Thomas Wehr for diagnosing this, and
reporting both problem and solution.
0.051 2011-02-10 T. R. Wyant
Correct check for non-existent attribute in Astro::SpaceTrack getv()
method.
Update documentation of Mike McCants' status codes.
0.050 2010-10-12 T. R. Wyant
_Really_ properly default the 'sort' retrieve option. Honest.
0.049 2010-09-26 T. R. Wyant
Properly default the 'sort' retrieve option when options are
specified as a hash reference rather than as command-style
options.
0.048 2010-09-18 T. R. Wyant
Correct skip counts in t/query.t. Add xt/author/query_skip_sites.t
to try to ensure they don't get out of whack again.
0.047 2010-09-17 T. R. Wyant
Add Astro::SpaceTrack method getv() to do what get() should have
done -- return the attribute value without wrapping it in an
HTTP::Response object.
Add the -rcs option to the Astro::SpaceTrack search_*() methods, to
request that the radar cross-section data be hacked into the
name line of the TLE, in the same way that the effective date is
for Human Space Flight TLEs.
Complete rewrite of SpaceTrackTk, to incorporate all (or at least
the great majority) of the modern bells and whistles.
Update banner text to try to make clear that only Space Track
requires registration before use.
Update documentation to show all content_types.
Drop requirement for Params::Util.
Require Perl 5.6.2, since that is the earliest version I have a
prayer of actually supporting.
Move author tests from xt/ to xt/author.
0.046 2010-03-28 T. R. Wyant
Add methods search_decay(), search_oid(), and box_score().
Replace '' with undef in the array returned by the search_* methods
in list context. The HTTP::Response returned by these methods
is unchanged.
Add -notle option to the search_* methods. This causes them to
return the results of the search, rather than going on to
retrieve the TLEs. The results are one entry per line with
fields tab-delimited, and whitespace compressed and trimmed
front and back. No change in the list returned in list context,
except for the whitespace massaging.
0.045 2010-03-01 T. R. Wyant
Redo README to be more like the CPAN-recommended organization and
contents.
Move developer tests to xt/, and run them with Build target
authortest, supplied by inc/My/Module/Build.pm. The author tests
are not supported with make.
Split off the data acquisition tests from t/basic.t into t/query.t.
Both these, plus xt/celestrak_datasets.t and xt/executable.t
were rewritten to use Test::More 0.40, which is now required for
building (or at least testing!) the package.
Make some of the tests in t/query.t TODO, since they require
historical data, and Space Track seems to have had a database
problem.
Convert all code to the CPAN-recommended license scheme. Update all
copyrights while I was at it.
Make the version of all production code in the package (including
Astro::SpaceTrack::Parser, which was previously unversioned) to
be the same as the package itself.
Update the counts for the various debris events that are documented
in Astro::SpaceTrack.
0.044 2009-09-03 T. R. Wyant
Get rid of YAML dump in Build.PL, that was carelessly left in
after I convinced Module::Build not to insert itself as
required for configuration (because I also distribute
Makefile.PL
0.043 2009-09-01 T. R. Wyant
Add the retrieve() options to search_id(), which never had them
before.
Test the request arguments generated for each of the Space Track
methods, to try to make sure we do not lose them again.
0.042 2009-08-30 T. R. Wyant
Add the retrieve() options back to Space Track search requests.
These were lost in version 0.035 when Perl::Critic compliance
was added. Thanks to Thomas Wehr for finding this.
0.041 2009-08-18 T. R. Wyant
Add ability to parse effective date from NASA Human Spaceflight.
Add this to line 0 of the NASA TLE as --effective date_text.
This is optional, and done only if '-effective' is passed
to the spaceflight() method. The reason this was done was to
support the 'effective' attribute of Astro::Coord::ECI::TLE.
Thanks to Thomas Wehr for reporting the problem this addresses,
and T. S. Kelso for explaining what was needed to fix it.
0.040 2009-04-22 T. R. Wyant
Suppress undefined value warnings generated when username and
password are set via 'set' rather than via the relevant
environment variables when the object is instantiated.
0.039 2009-03-09 T. R. Wyant
Document Celestrak 'direct-fetch-only' data sets
'cosmos-2251-debris' and 'iridium-33-debris'.
Fix 'spaceflight' retrieval test, which failed if all NASA's
orbital elements had epochs in the future.
0.038 2009-02-13 T. R. Wyant
Correct parsing of Rod Sladen's Iridium status web page to
track the way he recorded the demise of Iridium 33.
Correct '## no critic' entries to put parens around names of
policies to be disabled.
Update t/perlcriticrc.
0.037 2009-01-01 T. R. Wyant
Retract copyright year test in t/basic.t
Update version and copyright in Astro::SpaceTrack. No other
changes.
0.036 2008-12-31 T. R. Wyant
Revise Celestrak retrieval status check to get (hopefully) a
better indication of what happened when retrieval failed.
Add dependency on Params::Util 0.012; use _INSTANCE from that
module, rather than eval{$thing->isa($class)}.
Use IO::File rather than FileHandle to open files.
Include t/critic.t (Test::Perl::Critic) and t/perlcriticrc
in distribution, but only test if environment variable
DEVELOPER_TEST is true.
Remove '## no critic' flags in code, which are not needed at
the desired severity (--stern) if run with the distributed
t/perlcriticrc file.
0.035 2008-12-23 T. R. Wyant
When using Rod Sladen's data for Iridium status, mark all
'failed' iridiums as tumbling, whether or not there is
a 't' next to their numbers. This makes the Sladen data
consistent with Mike McCants' (as of 22-Dec-2008) and
T. S. Kelso's.
Bring all code up to perlcritic --stern (sometimes by
declaring exceptions)
Restructure Build.PL and Makefile.PL to better accomodate
the installed version of Module::Build or
ExtUtils::MakeMaker.
Add minimum Perl version to 'requires' key in Build.PL.
Not done in Makefile.PL because ExtUtils::MakeMaker
does not seem to like it.
Include t/celestrak_datasets.t, t/executable.t,
t/iridium_status.t, t/manifest.t, and
t/spacetrack_datasets.t in distribution, but only run
them if environment variable DEVELOPER_TEST is true.
Move changes from Astro::SpaceTrack pod to Changes file.
t/basic.t will now display net errors where generated and
(hopefully) appropriate.
0.034 2008-11-24 T. R. Wyant
Eliminate use of UNIVERSAL::isa as a function.
Add 'Pragma spacetrack-source = ' header to all methods
that return TLEs or Iridium status, saying where
the data came from.
Add content_source() method to access spacetrack-source
header.
Try for less bad test coverage. Good coverage awaits a
rewrite of the shell() method.
0.033 2008-09-30 T. R. Wyant
Fix Build.PL -y (and -n)
Add iridium_status('sladen') to scrape Rod Sladen's Iridium
Constallation Status web page.
Add attribute 'url_iridium_status_sladen'.
0.032 2008-07-06 T. R. Wyant
More graceful failure when unable to parse Space Track data.
0.031 2007-12-21 T. R. Wyant
Fix embedded modifier bug, exposed by the fixing of the
corresponding Perl bug (id=22354) in 5.10.0 -- or 5.9.0
actually. Thanks to Andy Lester's article:
http://perlbuzz.com/mechanix/2007/12/code-broken-by-regex-fixes-in.html
which tipped me off before I had to discover the problem
for myself.
Fixed dependencies in Makefile.PL and Build.PL.
Went back to prompting for executables in Makefile.PL and
Build.PL, as a way to handle apparant ActiveState build
failure because both they and I were running pl2bat.bat.
Enhance ExtUtils::MakeMaker version detection in Makefile.PL,
since ActiveState is apparantly deploying a Perl 5.10
with a development version of that module.
0.030 2007-10-24 T. R. Wyant
Add Celestrak 'sts' data set name to catalog.
Different error text for data sets in catalog but 404 and data sets
not in catalog and 404.
0.029 2007-10-13 T. R. Wyant
Add Celestrak galileo and sbas data set names to catalog.
Document celestrak data set names, or at least how to get them and
in general how they are formed.
Trap and error out on invalid spacetrack() data set numbers.
Add data set numbers to spacetrack() help.
Document how to get the current spacetrack data set names and
numbers, and what happens if they renumber.
Trap case where 'get' is called without an argument.
Have 'shell' method interpret 'show' as 'get', and special-case
'get' without arguments to display all attributes. Document
this.
0.028 2007-05-15 T. R. Wyant
Interpret missing spacetrack() catalog as a failure,
even though the request succeeds.
Ditto missing Space Track retrieve() data.
Add 'fallback' attribute to cause celestrak() to fall
back to using Celestrak data if Space Track data
are not available.
Clear session cookie when username or password change.
0.027 2007-01-30 T. R. Wyant
Add ability to search by on-orbit status ('onorbit',
'decayed', or 'all'), and to exclude 'debris' and
'rocket' (bodies).
Tweak docs.
Update copyright.
0.026 2006-11-06 T. R. Wyant
New location for Mike McCants' Iridium status page.
New attributes url_iridium_status_kelso and
url_iridium_status_mccants so users are not dead
in the water if this happens again.
0.025 2006-10-19 T. R. Wyant
Recognize new Kelso Iridium status '[+]' = working.
Make Makefile.PL not run Build.PL with old MakeMaker.
Retract kluge to Build.PL, which is no longer needed.
0.024 2006-09-12 T. R. Wyant
No substantive changes to this module, but retracted
t/pod_spelling.t, and tried to make Build.PL work with
ActiveState's build system.
0.023 2006-09-08 T. R. Wyant
Added spaceflight() pseudo-catalogs 'iss' and 'station'.
Have spaceflight() return NO_RECORDS on failure, not
NO_CAT_ID.
Have attribute_names() return list ref in scalar context.
Add attribute iridium_status_format; have iridium_status()
use this to decide who to access and what format to
return, including support for the new Celestrak status
information.
Have iridium_status() return parsed data with 'portable'
status if called in list context.
0.022 2006-07-20 T. R. Wyant
Documentation corrections.
0.021 2006-07-13 T. R. Wyant
Add -all qualifier to spaceflight().
Add search_date().
0.020 2006-07-01 T. R. Wyant
Add the retrieve() qualifiers to spaceflight().
Add the attribute_names() method.
Tweak docs, correct spelling.
0.019 2006-06-11 T. R. Wyant
Added the retrieve() options to celestrak() and file().
0.018 2006-05-30 T. R. Wyant
Added amsat() method.
0.017 2006-04-27 T. R. Wyant
Added retrieve() options.
0.016 2006-02-11 T. R. Wyant
Added content types 'help' and 'get', so -filter
does not supress output.
Added iridium_status, & content type 'iridium-status'.
0.015 2006-02-01 T. R. Wyant
Added webcmd attribute, and use it in help().
0.014 2006-01-28 T. R. Wyant
Added filter attribute.
Jocky the Term::ReadLine code yet again.
0.013 2005-11-21 T. R. Wyant
Added spaceflight() method.
Added "All rights reserved." to banner() output.
Spiffed up the documentation.
0.012 2005-11-04 T. R. Wyant
Added support for number ranges in retrieve(), to
track support for these on www.space-track.org.
Added max_range attribute for sanity checking.
0.011 2005-10-30 T. R. Wyant
Added 'Pragma: spacetrack-type = orbit' header to
the response for those methods that return orbital
elements, if the request in fact succeeded.
Added content_type() method to check for the above.
Played the CPANTS game.
Added "All rights reserved." to copyright statement.
0.010 2005-10-14 T. R. Wyant
Added the 'direct' attribute, to fetch elements
directly from celestrak. And about time, too.
0.009 2005-09-17 T. R. Wyant
Only require Term::ReadLine and create interface if
the shell() method actually called.
0.008 2005-07-19 T. R. Wyant
Consolidate dump code.
Have file() method take open handle as arg.
Modify cookie check.
Add mutator, accessor for cookie_expires,
session_cookie.
0.007 2005-04-15 T. R. Wyant
Document attributes (under set() method)
Have login return actual failure on HTTP error. Used
to return 401 any time we did not get the cookie.
0.006 2005-04-08 T. R. Wyant
Added search_id method.
Made specimen scripts into installable executables.
Add pseudo-tilde expansion to shell method.
0.005 2005-04-02 T. R. Wyant
Proofread and correct POD.
0.004 2005-03-30 T. R. Wyant
Added file() method, for local observing lists.
Changed Content-Type header of spacetrack () response
to text/plain. Used to be text/text.
Manufactured pristine HTTP::Response for successsful
login call.
Added source method, for passing the contents of a file
to the shell method
Skip username and password prompts, and login and
retrieval tests if environment variable
AUTOMATED_TESTING is true and environment variable
SPACETRACK_USER is undefined.
0.003 2005-03-26 T. R. Wyant
Initial release to CPAN.