Skip to content

Releases: ivanstan/tle-php

TLE API 2.1.0

31 Jan 16:40

Choose a tag to compare

feat: add comprehensive orbit specification library with 16 new specifications

BREAKING CHANGE: GeostationaryOrbitTleSpecification now requires low inclination
and circular orbit in addition to synchronous period. Use GeosynchronousOrbitTleSpecification
for the previous behavior (period-only check).

Bug Fixes

  • Fix Tle::angularPrecessionPerOrbit() passing degrees to cos() instead of radians
  • Update SunSynchronousOrbitTleSpecification comment (bug was fixed in Tle class)

New Specifications

Altitude-Based

  • LowEarthOrbitTleSpecification (160-2,000 km)
  • MediumEarthOrbitTleSpecification (2,000-35,786 km)
  • HighEarthOrbitTleSpecification (>35,786 km apogee)

Eccentricity-Based

  • CircularOrbitTleSpecification (e < threshold)
  • EllipticalOrbitTleSpecification (e >= threshold)

Special Orbits

  • MolniyaOrbitTleSpecification (~63.4° inclination, ~0.74 eccentricity, ~12h period)
  • TundraOrbitTleSpecification (~63.4° inclination, ~0.27 eccentricity, ~24h period)
  • CriticalInclinationOrbitTleSpecification (63.4° or 116.6°)
  • GeosynchronousOrbitTleSpecification (~24h period, any inclination/eccentricity)

Temporal

  • RecentTleTleSpecification (TLE freshness check)
  • OrbitalPeriodTleSpecification (period range filter)

Decay & Stability

  • DecayingOrbitTleSpecification (positive mean motion derivative)
  • LowDragTleSpecification (low BSTAR coefficient)

Classification

  • ClassifiedSatelliteTleSpecification (C or S classification)
  • UnclassifiedSatelliteTleSpecification (U classification)

Composite (Specification Pattern)

  • AndTleSpecification (all must match)
  • OrTleSpecification (any must match)
  • NotTleSpecification (invert result)

Tle Model Enhancements

  • Add perigeeAltitude() method
  • Add apogeeAltitude() method
  • Add firstDerivativeMeanMotion() method
  • Add bstarFloat() method (parse BSTAR as float)

Tests

  • Add negative tests for all existing specifications
  • Add comprehensive tests for all new specifications
  • Add composite specification integration tests

TLE API 2.0.0

02 Jan 17:44

Choose a tag to compare

[2.0.0] - 2026-01-02

Breaking Changes

  • PHP 8.4 Required - Minimum PHP version bumped from 8.0 to 8.4
  • Native Enums - Replaced class-based enums with PHP 8.1+ native enums:
    • OrbitDirectionEnum - now a backed enum with POSIGRADE and RETROGRADE cases
    • SatelliteClassificationEnum - now a backed enum with UNCLASSIFIED, CLASSIFIED, and SECRET cases

Added

  • Sun-Synchronous Orbit Specification - New SunSynchronousOrbitTleSpecification class to identify satellites in sun-synchronous orbits based on nodal precession rate (~0.9856°/day)
  • Configurable tolerance parameter for sun-synchronous orbit detection

Changed

  • Updated PHPUnit from 9.x to 11.x
  • Modernized PHPUnit configuration (phpunit.xml) for PHPUnit 11 compatibility
  • Updated Guzzle HTTP client to ^7.10
  • Improved test scripts in composer.json:
    • composer test - runs tests without coverage
    • composer test:coverage - runs tests with code coverage (requires Xdebug)

TLE API 1.0.3

25 Feb 11:17

Choose a tag to compare

support php 8

TLE API 1.0.2

25 Feb 11:10

Choose a tag to compare

  • Support PHP 8

TLE API 1.0.1

09 Dec 09:06

Choose a tag to compare

  • Fix TleFile namespace bug

1.0

08 Jan 10:13

Choose a tag to compare

1.0
  • New TLE Model
  • CelesTrack format TLE file reader
  • API client