16 KiB
16 KiB
Changelog
All notable changes to planet are documented here.
This project follows the repository versioning rule:
feature->+0.1.0bugfix->+0.0.1
0.21.9
Released: 2026-03-30
Highlights
- Upgraded BGP ingestion from anomaly-only output to a layered pipeline with raw observations, enrichment context, detector modules, and aggregated incidents.
- Stabilized Earth and visualization data feeds so repeated collections no longer inflate satellite and other entity counts in the globe view.
- Brought the backend test suite back to green and expanded BGP-specific coverage across helpers, aggregation, and API endpoints.
Added
- Added raw BGP observation persistence in bgp_observation.py.
- Added aggregated BGP incident persistence in bgp_incident.py.
- Added BGP enrichment helpers in bgp_enrichment.py for prefix scope, AS path normalization, ASN organization context, and baseline tracking.
- Added modular BGP detector helpers in bgp_detectors.py.
- Added BGP incident aggregation helpers in bgp_incidents.py.
- Added
/api/v1/bgp/incidentsand/api/v1/bgp/incidents/{id}in bgp.py.
Improved
- Improved BGP collectors so ris_live.py and bgpstream.py now write observations before deriving anomalies.
- Improved anomaly generation in bgp_common.py by routing signals through enrichment and dedicated detector modules, then rolling them up into incidents.
- Improved the Earth cable layer in main.js so hide/show preserves loaded state correctly and stats remain visible while a layer is hidden.
- Improved backend visualization endpoints in visualization.py so repeated collections return only the latest unique entity records.
- Improved backend test coverage across test_bgp.py, test_api.py, test_collectors.py, test_models.py, and test_security.py.
Fixed
- Fixed Earth satellite overcounting caused by historical duplicate records being returned by visualization endpoints.
- Fixed BGP event APIs to read from observation records instead of the generic collected-data model.
- Fixed several stale backend tests so they match the current token, timestamp, collector, and API behavior.
0.21.8
Released: 2026-03-27
Highlights
- Improved Earth-layer performance controls so satellite and cable toggles now fully unload their scene/runtime state instead of only hiding objects.
Improved
- Improved the Earth satellite toggle to stop position/trail updates and release satellite rendering resources while disabled, then reload on demand when re-enabled.
- Improved the Earth cable toggle to unload submarine cable and landing-point objects while disabled so drag and interaction cost drops with the layer turned off.
- Improved Earth data reload behavior so disabled satellite and cable layers stay disabled instead of being implicitly reloaded during refresh.
0.21.7
Released: 2026-03-27
Highlights
- Added Earth-side BGP collector visualization support so anomaly markers and collector stations can be explored together.
- Refined the collected-data distribution treemap so square tiles better reflect relative volume while staying readable in dense layouts.
Added
- Added
/api/v1/visualization/geo/bgp-collectorsto expose RIPE RIS collector locations as GeoJSON. - Added dedicated Earth collector marker handling and BGP collector detail cards in the Earth runtime.
- Added collector-specific BGP visual tuning for altitude, opacity, scale, and pulse behavior.
Improved
- Improved the collected-data distribution treemap with dynamic square-grid sizing, clearer area-based span rules, centered compact tiles, and tooltip coverage on both icons and labels.
- Improved compact treemap readability by hiding
1x1labels, reducing1x1value font size, and centering icon/value content. - Improved Earth BGP interactions so anomaly markers and collector markers can both participate in hover, lock, legend, and info-card flows.
Fixed
- Fixed Earth BGP data loading gaps by adding the missing
bgp.jsruntime module required by the current control and visualization flow. - Fixed treemap layout drift where compact tiles could appear oversized or visually inconsistent with the intended square-grid distribution.
0.21.6
Released: 2026-03-27
Highlights
- Refined the Earth page interaction loop with object-driven legend switching, clearer selection feedback, and cleaner HUD copy/layout behavior.
- Improved the Earth info surfaces so status toasts, info-card interactions, and title/subtitle presentation feel more intentional and easier to scan.
Added
- Added click-to-copy support for info-card labels so clicking a field label copies the matching field value.
- Added runtime-generated legend content for cables and satellites based on current Earth data and selection state.
Improved
- Improved Earth legend behavior so selected cables and selected satellite categories are promoted to the top of the legend list.
- Improved legend overflow handling by constraining the visible list and using scroll for additional entries.
- Improved info-panel heading layout with centered title/subtitle styling and better subtitle hierarchy.
- Improved status-message behavior with replayable slide-in notifications when messages change in quick succession.
Fixed
- Fixed info-card content spacing by targeting the actual
#info-card-contentnode instead of a non-matching class selector. - Fixed cable legend generation so it follows backend-returned cable names and colors instead of stale hard-coded placeholder categories.
- Fixed reset-view and legend-related HUD behaviors so selection and legend state stay in sync when users interact with real Earth objects.
0.21.5
Released: 2026-03-27
Highlights
- Reworked the collected-data overview into a clearer split between KPI cards and a switchable treemap distribution.
- Added a direct Earth entry on the dashboard and tightened several admin-side scrolling/layout behaviors.
Added
- Added a dashboard quick-access card linking directly to
/earth. - Added collected-data treemap switching between
按数据源and按类型. - Added data-type-specific icons for the collected-data overview treemap.
Improved
- Improved collected-data summary behavior so overview counts follow the active filters and search state.
- Improved the collected-data treemap with square tiles, a wider default overview panel width, and narrower overview scrollbars.
- Improved responsive behavior near the tablet breakpoint so the collected-data page can scroll instead of clipping the overview or crushing the table.
Fixed
- Fixed the user-management table overflow issue by restoring
ant-table-bodyto auto height for that page so the outer container no longer incorrectly takes over vertical scrolling. - Fixed overly wide scrollbar presentation in collected-data and related admin surfaces by aligning them with the slimmer in-app scrollbar style.
0.21.3
Released: 2026-03-27
Highlights
- Upgraded the startup script into a more resilient local control entrypoint with retry-based service boot, selective restart targeting, and guided CLI user creation.
- Reduced friction when developing across slower machines by making backend and frontend startup checks more tolerant and operator-friendly.
Added
- Added interactive
createusersupport to planet.sh for CLI-driven username, email, password, and admin-role creation.
Improved
- Improved
startandrestartin planet.sh with optional backend/frontend port targeting and on-demand port cleanup. - Improved startup robustness with repeated health checks and automatic retry loops for both backend and frontend services.
- Improved restart ergonomics so
restart -bandrestart -fcan restart only the requested service instead of forcing a full stack restart.
Fixed
- Fixed false startup failures on slower environments where services needed longer than a single fixed wait window to become healthy.
- Fixed first-run login dead-end by ensuring a default admin user is created during backend initialization when the database has no users.
0.21.2
Released: 2026-03-26
Highlights
- Reworked the Earth page HUD into a bottom-centered floating toolbar with grouped popovers and richer interaction feedback.
- Unified toolbar and corner cards under a liquid-glass visual language and refined status toasts, object info cards, and legend behavior.
- Made the legend state reflect the currently selected Earth object instead of a fixed static list.
Added
- Added a reusable Earth legend module in legend.js.
- Added Material Symbols-based Earth toolbar icons and dedicated fullscreen-collapse icon support.
- Added click-to-copy support for info-card field labels.
Improved
- Improved Earth toolbar layout with centered floating controls, popover-based display toggles, and zoom controls.
- Improved Earth HUD visuals with liquid-glass styling for buttons, info cards, panels, and animated status messages.
- Improved info-card spacing, scrollbar styling, and object detail readability.
- Improved legend rendering so cable and satellite object selection can drive the displayed legend content.
Fixed
- Fixed tooltip coverage and splash copy mismatches in the Earth page controls.
- Fixed several toolbar icon clarity, centering, and state-toggle issues.
- Fixed status-message behavior so repeated notifications replay the slide-in animation.
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_line2to the Earth frontend.
Added
- Added a dedicated Earth module remediation plan in earth-module-plan.md.
- Added backend TLE helpers in satellite_tle.py.
- Added backend support for returning
tle_line1andtle_line2from 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.1
Released: 2026-03-26
Highlights
- Refined the Earth big-screen toolbar with clearer controls, hover hints, and more consistent visual language.
- Replaced emoji-based Earth toolbar controls with SVG icons for a cleaner HUD.
- Updated the Earth loading splash so manual reloads no longer show legacy wording.
Improved
- Improved zoom controls by adding tooltips for reset view, zoom in, zoom out, and resetting zoom to
100%. - Improved Earth toolbar readability with larger icons and revised glyphs for rotation, reload, satellites, trails, cables, terrain, and collapse.
- Improved loading overlay copy to better distinguish initial initialization from manual refresh.
Fixed
- Fixed rotate toggle rendering so play/pause state no longer relies on emoji text replacement.
- Fixed Earth autorotation target syncing so inertial drag is preserved while the globe is still coasting.
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
limitno longer silently falls back to10000. - 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.
0.22.0
Released: 2026-03-31
Highlights
- Expanded the BGP stack from raw events into collector coverage, incident weak-correlation, and Earth-side observability overlays.
- Upgraded the BGP console and Earth runtime so collector baselines and nearby infrastructure context remain visible even outside active anomaly spikes.
Added
- Added BGP collector coverage APIs and dynamic GeoJSON enrichment for collector baseline metrics.
- Added weak correlation from BGP incidents to nearby landing points, cable names, and regional exchange hints.
- Added BGP collector coverage views in the admin console, including recent activity and baseline scope summaries.
Improved
- Improved Earth BGP rendering with clearer collector markers, activity-driven halos, selected coverage overlays, and nearby satellite highlighting.
- Improved incident presentation by surfacing related infrastructure directly in BGP incident listings and Earth detail cards.
- Improved BGP backend test coverage around collector coverage and infrastructure inference.
0.21.9
Released: 2026-03-31
Highlights
- Expanded the BGP pipeline with observations, enrichment, detectors, and incidents.
- Stabilized backend tests and improved visualization deduplication across repeated collections.
Improved
- Improved visualization APIs so repeated satellite and infrastructure collections no longer inflate rendered entity counts.
- Improved backend coverage for BGP observations, incidents, and API summaries.
Fixed
- Fixed several backend tests to match the current UTC serialization and collector behavior.