Astro-SpaceTrack
view release on metacpan or search on metacpan
0.181 2026-04-23 T. R. Wyant
Drop Celestrak catalogs 'musson', 'nnss', and 'other' because they
were dropped from the Celestrak web site itself on or about April 16
2026.
Don't test celestrak('iridium'). No idea why this wasn't failing on
my box. Thanks to CPAN Testers for catching this.
Don't include fatalized attributes in attribute_names() output.
Fully deprecates mccants() mcnames, quicksat, and vsnames. Any use
of thses is now fatal.
Fully deprecate remaining Iridium functionality. Any use is now
fatal.
Further deprecate amsat(), which doesn't work anyway. It now warns
on the first use.
Remove Celestrak catalogs NOAA, GOES, Russian ASAT Test. These were
dropped April 1 2026.
0.180 2026-01-26 T. R. Wyant
Drop Astro::SpaceTrack::BulkData POD. This was relevant to the API
v1 to V2 transition, which is long past.
Drop Space-Track-curated favorites, because they have. These are
deprecated and will be removed. TODO: a mechanism for fetching
favorites.
Deprecate the -last5 option; it does not work anyway since Space
Track dropped the 'tle' and 'tle_latest' data classes.
Remove --last5 support from eg/SpaceTrackTk
EMERGENCY Convert Space Track interface to new data classes.
Space Track has removed classes 'tle_latest' and 'tle' in favor of 'gp'
and 'gp_history'. They also removed legacy datum OBJECT_NUMBER, so
queries have to use NORAD_CAT_ID now. Thanks to Leonard Garcia for
letting me know about the problem.
0.172 2026-01-06 T. R. Wyant
Repackage licenses so that GitHub can find them (maybe). Thanks to
Mikko Koivunalho (specifically his blog post
https://blogs.perl.org/users/mikko_koivunalho/2025/11/github-and-the-perl-license.html
for the how-to.
Deprecate mccants( 'quicksat' ) since he dropped the underlying file
about December 15 2025.
0.171 2025-10-06 T. R. Wyant
Deprecate mccants() arguments 'mcnames' and 'vsnames'. The
underlying files have been removed from the web site. This is an
accellerated deprecation. This commit causes the arguments to warn
on every use in addition to the 404 error caused by the removal. Six
months from the release of Astro-SpaceTrack 0.171 these arguments
will be made into a fatal error.
0.170 2025-09-18 T. R. Wyant
All iridium functionality now warns (at least) on all uses.
Deprecate amsat(), since they have gone to "humans-only".
Remove the 'direct' attribute.
Add back Orbcomm Celestrak supplemental data.
0.169 2025-06-03 T. R. Wyant
Add SECURITY policy.
Further deprecate 'direct' and Iridium functionality.
Use of 'direct' is now fatal.
The Kelso (Celestrak) functionality had to be jumped to full deprecation
(exception on use) because the underlying data were removed from the web
site.
All Iridium functionality is now in various stages of deprecation, and
will at least warn on the first use. This includes the former manifest
constants BODY_STATUS_*, which are now simple subroutines so that they
CAN warn on first use.
Track changes in Celestrak catalogs.
0.168 2025-01-05 T. R. Wyant
Remove McCants' 'rcs' catalog.
Remove all code for Space Track options to celestrak(). These have
been put through a deprecation cycle and were already fatal.
Drop 'orbcomm' from Celestrak supplemental data.
Add 'css' to Celestrak supplemental data.
0.167 2024-09-15 T. R. Wyant
Add celestrak catalog 'eutelsat'.
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.
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
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
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
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.
( run in 0.694 second using v1.01-cache-2.11-cpan-39bf76dae61 )