# Changelog All notable changes to `planet` are documented here. This project follows the repository versioning rule: - `feature` -> `+0.1.0` - `bugfix` -> `+0.0.1` ## 0.20.0 Released: 2026-03-26 ### Highlights - Stabilized the Earth big-screen module for longer-running sessions. - Fixed satellite orbit generation by correcting TLE handling end to end. - Added a reusable backend TLE helper and exposed `tle_line1 / tle_line2` to the Earth frontend. ### Added - Added a dedicated Earth module remediation plan in [earth-module-plan.md](/home/ray/dev/linkong/planet/docs/earth-module-plan.md). - Added backend TLE helpers in [satellite_tle.py](/home/ray/dev/linkong/planet/backend/app/core/satellite_tle.py). - Added backend support for returning `tle_line1` and `tle_line2` from the satellite visualization API. ### Improved - Reworked the Earth module lifecycle with cleaner init, reload, and destroy paths. - Improved scene cleanup for cables, landing points, satellite markers, and related runtime state. - Reduced Earth interaction overhead by reusing hot-path math and pointer objects. - Switched satellite animation timing to real delta-based updates for more stable motion. - Reduced fragile global-state coupling inside the legacy Earth runtime. ### Fixed - Fixed white-screen risk caused by iframe cleanup behavior in development mode. - Fixed incorrect client-side TLE generation: - corrected line 2 field ordering - corrected eccentricity formatting - added checksum generation - Fixed fallback orbit issues affecting some Starlink satellites such as `STARLINK-36158`. - Fixed partial Earth data load failures so one failed source is less likely to break the whole view. ### Notes - The Earth frontend now prefers backend-provided raw TLE lines. - Older satellite records can still fall back to backend-generated TLE lines when raw lines are unavailable. - This release is primarily focused on Earth module stability rather than visible admin UI changes. ## 0.21.0 Released: 2026-03-26 ### Highlights - Added legacy-inspired inertial drag behavior to the Earth big-screen module. - Removed the hard 10,000-satellite ceiling when Earth satellite loading is configured as unlimited. - Tightened Earth toolbar and hover-state synchronization for a more consistent runtime feel. ### Added - Added inertial drag state and smoothing to the Earth runtime so drag release now decays naturally. ### Improved - Improved drag handling so moving the pointer outside the canvas no longer prematurely stops rotation. - Improved satellite loading to support dynamic frontend buffer sizing when no explicit limit is set. - Improved Earth interaction fidelity by keeping the hover ring synchronized with moving satellites. ### Fixed - Fixed the trails toolbar button so its default visual state matches the actual default runtime state. - Fixed the satellite GeoJSON endpoint so omitting `limit` no longer silently falls back to `10000`. - Fixed hover ring lag where the ring could stay behind the satellite until the next mouse move. ## 0.19.0 Released: 2026-03-25 ### Highlights - Refined data collection storage and history handling. - Moved collected data away from several strongly coupled legacy columns. - Improved data list filtering, metadata-driven detail rendering, and collection workflows. ### Added - Added collected data history planning docs. - Added metadata backfill and removal-readiness scripts. - Added version history tracking. ### Improved - Improved datasource task tracking and collection status flow. - Improved collected data search, filtering, and metadata rendering. - Improved configuration center layout consistency across admin pages. ### Fixed - Fixed several collected-data field mapping issues. - Fixed frontend table layout inconsistencies across multiple admin pages. - Fixed TOP500 parsing and related metadata alignment issues.